基于弹幕识别的跳过B站内置转转广告

爬取B站视频弹幕进行识别,识别到关键弹幕后跳过视频内置转转广告时间

作者
能代
日安装量
1
总安装量
3
评分
0 0 0
版本
0.0.1
创建于
2025-08-13
更新于
2025-08-13
大小
20.6 KB
许可证
MIT
适用于

基于弹幕识别的跳过B站内置“转转”广告脚本

(适用于 Tampermonkey / 油猴环境)
作者:能代Noshiro
Bilibili:https://space.bilibili.com/191148146
Github:https://github.com/441167862wmj-beep/Script
视频教学:见个人主页

1. 脚本概述

B 站有些视频片段会被插入“转转二手交易平台”等内置广告,这类广告不属于视频本身的素材,而是视频上传者或平台预置的内容。
在播放过程中,如果观众觉得广告干扰,就需要手动拖进度条跳过,非常影响观看体验。

本脚本利用 弹幕时间坐标 自动识别广告起止位置,并在播放时 自动跳过广告片段,从而提升观影流畅度。

本版本是单跳点严格分秒版:

只识别明确的时间坐标(形如 m:ss 或 m ss,并且“分”后必须有秒数)

自动聚合弹幕中出现最多的目标时间作为跳转目标 B

在目标 B 之前找到最早的触发时间 A(通常是有人提示“广告开始了”)

自动从 A 跳到 B,只执行一次跳转,避免反复跳来跳去

2. 原理说明

弹幕采集

通过 B 站 API 获取当前视频的所有弹幕 XML

解析出每条弹幕的发送时间(相对视频进度)与文本内容

时间坐标提取

使用严格的正则匹配,只允许 分:秒 或 分 秒 格式(如 8:17、8 17)

“分”必须为数字,且后面必须有两位或一位秒数(0-59)

聚合分析

统计所有弹幕中出现的目标时间 B(被提到次数最多的坐标)

在 B 之前的弹幕中,找出最早出现至少 2 条指向 B 的时间作为触发时间 A

自动跳转

视频播放到时间 A 时,立即跳到 B

仅执行一次跳转,避免因感谢类弹幕造成重复跳转

3. 安装方法

准备环境

需要安装浏览器扩展 Tampermonkey(Chrome / Edge / Firefox 等均支持)

Tampermonkey 安装地址:https://www.tampermonkey.net/

安装脚本

在 Tampermonkey 仪表板中,点击「+」新建脚本

将脚本代码粘贴进去(即当前这个“B站弹幕跳过助手 - 单跳点严格分秒版”代码)

保存并启用脚本

确认生效

打开任意 B 站视频,Tampermonkey 图标应显示脚本已运行

进入含广告的目标视频时,脚本会在后台分析弹幕,并在控制台输出匹配结果

4. 使用教程

找到有广告的 B 站视频
通常“转转等广告”会在视频中段出现,而且很多观众会发弹幕提示跳过时间(例如 8:17)

观察脚本输出
按 F12 打开控制台(Console),可以看到:

弹幕匹配过程

目标时间 B(广告结束点)

触发时间 A(跳转开始点)

自动跳过

当播放到 A 时,脚本会自动快进到 B

全程无需手动拖动进度条

5. 参数调节(可选)

脚本顶部的 CONFIG 对象可以调整:

minDanmuCount:触发跳过的最少弹幕数量(默认 2 条)

targetClusterWindow:聚合时间窗口(单位秒)

earlyBoost:对较早出现的弹幕增加权重

extraWeight:对含有特定关键词的弹幕加权(如“广告”、“转转”)

如果希望脚本更激进或更保守,可以按需调整。

6. 注意事项

滞后性:B 站弹幕发送时间是用户发送时刻,而非视频中的真实情节点,存在 1-5 秒左右延迟。本脚本会选择最早的触发点来弥补这个问题。

感谢类弹幕:会导致某个时间坐标重复出现,本脚本已限制为单跳点,不会被感谢弹幕反复触发。

误识别:由于脚本仅依赖弹幕坐标,个别视频可能出现误跳现象,可临时禁用脚本。

仅跳一次:当前逻辑是单次跳转,如果广告分段较多,需要手动处理。