Deprecated: Function get_magic_quotes_gpc() is deprecated in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 99

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 619

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1169

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176
8000 GitHub - Warma10032/VideoAdGuard: 哔哩哔哩浏览器插件:基于大语言模型,对B站视频中的植入广告进行检测。一键跳过视频中的植入/口播广告。
Nothing Special   »   [go: up one dir, main page]

Skip to content

哔哩哔哩浏览器插件:基于大语言模型,对B站视频中的植入广告进行检测。一键跳过视频中的植入/口播广告。

License

Notifications You must be signed in to change notification settings

Warma10032/VideoAdGuard

Repository files navigation

VideoAdGuard - B站视频植入广告检测器

VideoAdGuard 是一个基于大语言模型的B站视频植入广告检测工具,能够自动识别B站视频中的植入广告内容,并提供跳过广告的功能。

如果你觉得这个插件有用,请给项目点个Star⭐支持一下!

演示视频

News

  • v1.2.8 提供Groq代理服务
  • v1.2.7 适配Firefox浏览器
  • v1.2.6 支持 glm-4.5 系列模型,适配 Chrome浏览器
  • v1.2.5 优化缓存机制;优化av号处理
  • v1.2.4 新增限制模式,仅在有商品链接时进行识别;优化界面
  • v1.2.3 新增音频识别功能,支持无字幕视频检测;新增广告检测结果缓存机制
  • v1.2.2 新增关闭插件开关,优化界面,优化广告判断逻辑
  • v1.2.1 支持自定义UP白名单
  • v1.2.0 支持自动跳过
  • v1.1.3 支持本地Ollama模型

功能特点

  • 🎯 精准识别:采用大语言模型分析视频字幕,准确定位植入广告内容
  • 🎵 音频识别:支持无字幕视频的音频识别检测,使用免费的Groq服务商(v1.2.3新增)
  • 🚀 便捷操作:检测到广告后自动显示跳过按钮,一键跳过广告片段
  • 🔄 自动跳过:支持自动跳过已识别的广告内容(v1.2.0新增)
  • 💾 智能缓存:本地缓存检测结果,大幅提升重复访问速度(v1.2.3新增)
  • 🌈 广泛兼容:支持多种主流浏览器,包括Edge、Chrome等
  • ⚙️ 灵活定制:支持多种AI模型接入,包括智谱AI、OpenAI、DeepSeek等
  • 🏠 本地部署:支持本地Ollama模型,保护隐私数据(v1.1.3新增)

安装方法

浏览器插件版(推荐)

点击上方对应浏览器的图标即可下载安装:

油猴脚本版

注意:油猴版本更新不及时,如果是chromium内核浏览器推荐采用插件版

  1. 安装篡改猴插件
  2. GreasyFork安装脚本

使用方法

  1. 浏览器插件版:安装完成后,点击插件图标完成设置

  2. 油猴脚本版:安装完成后,进入B站视频页面,点击右下角齿轮图标进行设置

  3. 设置API密钥和模型(详见下方API设置说明)

  4. 打开任意带有字幕的B站视频,插件会自动检测广告内容

  5. 当检测到广告时,会在视频播放器右下角显示"跳过广告"按钮

API设置说明

本插件需要配置大语言模型API才能正常工作。检测能力与大模型能力强相关,推荐使用性能更强的大模型。

大语言模型API(必需)

测试不同大模型的该项目上的效果,可选择 302.AI,立即注册获取$1赠金

  • API地址https://api.302.ai/v1/chat/completions
  • 模型名称模型列表
  • API密钥:需要在302.AI注册并获取(输入邀请码 ckUgCA 获取$1赠金)

免费体验可选择 智谱AI glm-4.5-flash 模型

  • API地址https://open.bigmodel.cn/api/paas/v4/chat/completions
  • 模型名称glm-4.5-flash
  • API密钥:需要在智谱AI平台注册并获取

插件兼容几乎所有大语言模型。目前我们已经测试了部分模型,但还需要更多用户的测试反馈。如果您使用了下表中的模型,请通过GitHub Issues告诉我们您的使用体验,帮助我们完善兼容性列表。

API集成平台 测试结果 API密钥官网
302.AI 302.AI
硅基流动 硅基流动
云雾API 云雾API
模型名称 测试结果 API密钥官网
GLM 智谱AI
DeepSeek DeepSeek
OpenAI OpenAI
通义千问 阿里云
Gemini Gemini
Grok Grok
Anthropic Claude Claude
MiniMax MiniMax
豆包 火山引擎
本地服务 测试结果 注意事项
Ollama 因为跨域请求,需要设置环境变量 OLLAMA_ORIGINS = *

音频识别API(可选)

  • 用途:用于无字幕视频的音频识别功能
  • 推荐服务:目前只支持Groq(免费Whisper模型)
  • API密钥获取:在Groq平台注册并获取
  • 注意:如果要使用Groq AP,需要非国内(包括港澳台)的网络环境

注意事项

  • 字幕检测:优先使用视频字幕进行检测,准确度更高
  • 音频识别:无字幕视频将自动启用音频识别功能(v1.2.3新增)
  • API配置:需要配置大语言模型API密钥,模型能力越强,检测效果越好
  • 音频识别API:使用音频识别功能需要额外配置Groq API密钥
  • 费用提醒:使用付费API时请注意token消耗和音频识别费用
  • 缓存机制:检测结果会自动缓存24小时,提升重复访问速度
  • 调试信息:众多调试信息会在控制台输出,遇到错误时可以查看控制台

技术原理

VideoAdGuard通过以下步骤检测视频中的植入广告

字幕检测模式(默认)

  1. 获取视频字幕内容
  2. 提取视频标题和置顶评论
  3. 将数据发送给大语言模型进行分析
  4. 根据分析结果确定广告时间段
  5. 缓存检测结果到本地存储
  6. 在界面上显示跳过按钮

音频识别模式

  1. 当视频无字幕时,自动下载视频音频流
  2. 使用Groq Whisper API进行语音识别
  3. 将识别结果转换为文本格式
  4. 后续流程与字幕检测模式相同

智能缓存机制

  • 本地缓存检测结果,避免重复分析
  • 缓存有效期为24小时,自动清理过期数据
  • 大幅提升重复访问视频的检测速度

目录结构

VideoAdGuard
├── builds/                        # 构建产物(按浏览器区分)
│   ├── chrome/                    # Chrome 打包目录
│   └── firefox/                   # Firefox 打包目录
├── src/                           # 源代码目录
│   ├── services/                  # 业务逻辑与平台适配
│   ├── types/                     # 类型定义
│   └── utils/                     # 工具函数
├── manifests/                     # 浏览器清单文件
│   ├── manifest-chrome.json       # Chrome 清单
│   └── manifest-firefox.json      # Firefox 清单
├── _locales/                      # i18n 资源
├── icons/                         # 插件图标资源
├── docs/                          # 文档与站点
├── scripts/                       # 构建与辅助脚本
│   └── build.js
├── VideoAdGuard.Tampermonkey.js   # 油猴脚本版本
├── webpack.config.js              # Webpack 构建配置
├── tsconfig.json                  # TypeScript 配置
├── package.json                   # 项目依赖与脚本
├── LICENSE                        # 开源许可证
└── README.md                      # 项目说明文档

自行构建

如果你想自行构建VideoAdGuard,可以按照以下步骤进行:

  1. 克隆本仓库到本地:
    git clone https://github.com/Warma10032/VideoAdGuard.git
    cd VideoAdGuard
  2. 安装依赖:
    npm install
  3. 构建插件:
    npm run build

开源与贡献

本项目完全开源,欢迎贡献代码和提出建议:

贡献者

免责声明

本插件仅用于学习和研究目的,不得用于任何商业或非法用途。使用本插件所产生的一切后果,与作者和插件开发者无关。

许可证

本项目采用GPLv2许可证开源。

Star History

Star History Chart

About

哔哩哔哩浏览器插件:基于大语言模型,对B站视频中的植入广告进行检测。一键跳过视频中的植入/口播广告。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 5

0