视频链接处理 + 提取字幕

4 阅读2分钟

视频链接处理 + 提取字幕

背景

有一些需要处理的视频,想把他们的字幕提取出来,得到完整的内容,进行参考。

技术数据处理说明

Excel(视频链接) -> 下载(先提取字幕,不行则下载音频) -> 转写(使用Whisper-音频转文字模型,得到内容)

核心组件

  1. yt-dlp —— 万能视频下载器

    • 是 youtube-dl 的活跃 fork,支持 1700+ 站点(B站、抖音、小红书、油管…)
    • 命令行原理:访问页面 → 解析平台特定的 JSON 接口 → 拿到真实媒体 URL → 下载
    • 关键参数:
    --write-subs / --write-auto-subs:抓平台已有的字幕(最省事)
    -x --audio-format mp3:只要音频,不要视频(更小更快)
    --cookies-from-browser chrome:带浏览器登录态,绕过登录墙
    --sleep-requests / --sleep-interval:降低请求频率,反风控
    
  2. FFmpeg —— 多媒体瑞士军刀 yt-dlp 底层依赖它做转码、抽音轨 视频→音频抽取、格式转换都是它干的

  3. Whisper / faster-whisper —— OpenAI 开源的 ASR 模型,ASR = Automatic Speech Recognition(自动语音识别)

原理简化版:Encoder-Decoder Transformer 音频 → 切成 30 秒片段 → 转 mel-spectrogram(频谱图) → Encoder 编码

Decoder 像写作文一样逐词预测下一个 token,输出文字 + 时间戳

faster-whisper 用 CTranslate2 做推理优化,比官方版快 4 倍、显存少 模型尺寸:tiny / base / small / medium / large-v3,越大越准但越慢 中文场景一般用 base(够用)或 medium(更准)

  1. SRT 字幕格式 就是这种东西:
    00:00:01,200 --> 00:00:03,500
    你好世界
    
    序号 + 时间戳 + 文字。要变"纯文本"只需正则去掉前两行再合并即可。

注意点

  1. 仅供学习交流使用。
  2. 优先官方字幕优先,质量高,不出错
  3. 注意串行处理,或者有多个账号来回切换,防止被封控
  4. 有些视频网站需要登陆,如:某站、某书,--cookies-from-browser 直接复用浏览器 里的 Cookie
  5. 使用Whisper处理时,由于是跑模型,GPU/CPU密集型,串行即可。