B站视频口播广告识别

Mussy Hu

目标

训练一个模型,实现根据b站对每个视频提供的热度图,识别广告片段。

实现

数据准备

  1. 提取热度数据
    打开b站一个带广告的视频,热度图形式如下,其中中间高峰部分为广告区域:

    使用浏览器检查工具定位该热度图元素,如图所示:

    class为bpx-player-pbp的div内即为热度图,其中defs下的第一个clipPath内为描述热度曲线的贝塞尔曲线的定义,含有曲线的点信息。
    考虑到请求服务器相关数据时大概率不会请求复杂的曲线控制点信息,热度图应该由更简单的数据在本地转换生成,因此使用浏览器工具进行抓包尝试。
    多次尝试后,注意到该标签名称含pbp,以其为关键字检索到如下请求:

    注意到响应中包含一个数组,里面为97个数字,对比数字大小变化趋势,发现与热度图起伏趋势相近,为进一步验证,借助大模型编写一个贝塞尔曲线生成脚本,已该数组为输入,生成效果如下:
    其与热度图高度一致,可见我们得到了获取视频热度图原始数据序列的方法,其为一个包含各时间片的热度情况的数组,热度情况为一个数值,具体含义不明。
  2. 热度数据分析
  • 对多个视频的该数组进行分析,发现无论视频长短,该数组长度固定
  • 数值分布上未发现规律
  • 存在一些视频无该数据,这些视频也无热度图
  • 观察一些视频发现,热度图峰值部分并不一定包含广告,因此仅依靠该数组可能难以准确判断广告区域
  • 标题: B站视频口播广告识别
  • 作者: Mussy Hu
  • 创建于 : 2025-04-25 00:00:00
  • 更新于 : 2025-06-22 16:14:56
  • 链接: https://blog.musdrop.com/2025/04/25/B站视频口播广告识别/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
目录
B站视频口播广告识别