Skip to content

浏览器插件:基于大语言模型,对B站视频中的植入广告进行检测

License

Notifications You must be signed in to change notification settings

ysztcn/VideoAdGuard

Repository files navigation

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

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

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

演示视频

News

  • 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(必需)

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

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

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

模型名称 测试结果 API地址填写示例 API密钥官网
智谱AI (GLM系列) https://open.bigmodel.cn/api/paas/v4/chat/completions 智谱AI
DeepSeek https://api.deepseek.com/chat/completions DeepSeek
硅基流动 https://api.siliconflow.com/v1/chat/completions 硅基流动
OpenAI (GPT系列) https://api.openai.com/v1/chat/completions OpenAI / 国内直连镜像站
阿里云 (通义千问系列) https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions 通义千问
Google Gemini https://generativelanguage.googleapis.com/v1beta/openai/chat/completions Gemini / 国内直连镜像站
Grok https://api.x.ai/v1/chat/completions Grok
本地Ollama http://localhost:11434/api/chat 因为跨域请求,需要设置环境变量 OLLAMA_ORIGINS = *
云雾API https://yunwu.ai/v1/chat/completions yunwu
Anthropic Claude Claude
MiniMax MiniMax
字节跳动 (豆包系列) 豆包

音频识别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. 在界面上显示跳过按钮

音频识别模式(v1.2.3)

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

智能缓存机制(v1.2.3)

  • 本地缓存检测结果,避免重复分析
  • 缓存有效期为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站视频中的植入广告进行检测

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 54.7%
  • JavaScript 35.9%
  • HTML 9.4%