视频链接处理 + 提取字幕
背景
有一些需要处理的视频,想把他们的字幕提取出来,得到完整的内容,进行参考。
技术数据处理说明
Excel(视频链接) -> 下载(先提取字幕,不行则下载音频) -> 转写(使用Whisper-音频转文字模型,得到内容)
核心组件
-
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:降低请求频率,反风控
-
FFmpeg ------ 多媒体瑞士军刀
yt-dlp 底层依赖它做转码、抽音轨
视频→音频抽取、格式转换都是它干的
-
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(更准)
-
SRT 字幕格式
就是这种东西:
00:00:01,200 --> 00:00:03,500 你好世界序号 + 时间戳 + 文字。要变"纯文本"只需正则去掉前两行再合并即可。
注意点
- 仅供学习交流使用。
- 优先官方字幕优先,质量高,不出错
- 注意串行处理,或者有多个账号来回切换,防止被封控
- 有些视频网站需要登陆,如:某站、某书,--cookies-from-browser 直接复用浏览器 里的 Cookie
- 使用Whisper处理时,由于是跑模型,GPU/CPU密集型,串行即可。