Whisper 与 YouTube 字幕对比:什么时候才值得为转录付费

Whisper 和 YouTube 字幕之争,大多数人一开始就问错了问题。人们把它当成一场质量对决——哪个转录器"更好"——但真正的问题其实是:转录文本是不是早就存在了。对绝大多数 YouTube 视频来说,答案是肯定的:YouTube 会自动生成字幕,取回它们只需一次 HTTP 调用。对这些视频跑 Whisper,意味着下载音频、支付算力、然后等待,只为重新生成一份一直躺在那里的文本。
但 Whisper 也不是虚火。在某些特定场景下它显然是正确选择,如果你在搭建流水线,迟早会遇到这些场景。下面是公平的划分,附带具体数字。
两者各自给你什么
YouTube 字幕——大多数公开视频即取即用。人工上传的字幕轨质量极佳;自动生成的也算不错且逐年进步,但有经典弱点:标点稀疏、专有名词和行话被弄错、偶尔的同音词替换。获取成本:几乎为零。
Whisper(或 faster-whisper)——直接转录音频本身。真正的标点和大小写、对技术词汇处理更好(尤其配合 initial prompt 时)、可靠的词级时间戳,而且对完全没有字幕的视频也能工作。成本:OpenAI API 约每分钟音频 $0.006;自托管则需要 GPU 或对 CPU 有极大的耐心。而且你必须先拿到音频——通常通过 yt-dlp——这在服务器上会带来一堆自己的问题(数据中心 IP 被封、二进制文件维护)。
100 个视频积压的成本账
假设你要处理某频道的历史内容:100 个视频,平均 15 分钟。
Whisper 路线:100 × 15 分钟 × $0.006 = 约 $9 的 API 费用。听起来便宜——确实便宜——但这不是全部账单。你还需要通过 yt-dlp 下载大约 100 个音频文件(从云端 IP 出发,做好遇到 "Sign in to confirm you're not a bot" 失败和代理费用的准备)、存储它们、排队任务、然后等待。实际上这意味着一下午的流水线开发工作,外加一个多小时的实际处理时间。
字幕路线:100 个 GET 请求。几分钟搞定,没有任何音频落到你的磁盘上:
curl -s "https://youtube2text.org/api/transcribe?url=VIDEO_ID" \
-H "x-api-key: yt_YOUR_KEY"
按 youtube2text.org 的定价,100 个视频落在每月 $9.99 的套餐内(500 个视频)。金额和 Whisper 的 API 费用差不多——但零基础设施,而且结果立刻以干净的 JSON 返回。当我要把转录文本喂给 LLM 做摘要或频道级 RAG 时,我每次都走这条路线;语言模型对自动字幕里的小错误毫不在意。
Whisper 真正胜出的场景
这里我想保持清醒,因为确实有一些任务字幕会完败:
- 字幕根本不存在。 有些视频——未公开的上传、某些音乐内容、部分非英语视频——会返回
TRANSCRIPT_UNAVAILABLE。Whisper 是唯一选项。 - 准确性就是产品本身。 发布引言、法律或医疗审查、给自己的内容配字幕——自动字幕的错误率不可接受,而 Whisper 的输出明显更干净。
- 你需要可靠的词级时间戳,用于剪辑、卡拉 OK 式高亮或对齐工作。字幕的时间信息是分段级的,而且只是近似值。
- 困难音频。 重口音、多人抢话、糟糕的录音——Whisper 的大模型经常胜过 YouTube 的语音识别。
不过对于课程笔记和播客摘要来说,字幕几乎总是够用——下游的 LLM 会把噪声抹平。
决策清单
- 要喂给 LLM(摘要、RAG、调研)?→ 字幕。 错误会被冲淡。
- 要逐字发布转录文本?→ Whisper,然后人工审校。
- 需要词级时间戳?→ Whisper。
- 预算紧、工期紧的批量积压?→ 字幕优先。
- 视频返回
TRANSCRIPT_UNAVAILABLE(404)?→ 回退到 Whisper。 这就是我实际运行的模式:先尝试字幕调用,只把失败的路由到 Whisper 队列。实践中回退只在一小部分视频上触发,所以你能以字幕级的成本拿到 Whisper 级的覆盖率。
如果你从云服务器获取字幕总是失败而不是返回结果,那是另一个问题——IP 被封,而不是字幕缺失——详见为什么 youtube-transcript-api 会被封锁。
要搭好字幕优先的这一半:在 youtube2text.org/app/keys 用 Google 登录即可获得免费密钥(每月 5 个视频免费,无需银行卡),完整 API 参考文档在 youtube2text.org/api.md。