你按下 CC,什么都没发生。或者按钮亮了,屏幕还是空的。或者干脆弹出 “加载字幕时出错”,却一个字也不说到底哪里出了问题。
去搜索,每个页面给的都是同一份清单:刷新页面、清除缓存、更新浏览器、检查网络、重装应用。有几个还会让你关掉扩展程序。偶尔有人建议开 VPN,却不解释这和字幕能有什么关系。
这些建议与其说是错的,不如说只对准了三种故障里的一种。下面说清楚这三种分别是什么、怎样在十秒内判断你遇到的是哪一种,以及每一种实际能做什么。
一个症状,三种故障
一条字幕要抵达你的眼睛,必须闯过三关:
- 这个视频必须存在字幕轨道。
- 播放器索取时,YouTube 必须把它交给你的设备。
- 播放器必须把它画到屏幕上。
三者任一断裂,结果看起来完全一样:按 CC 没反应。但它们断裂的原因毫不相干,而标准建议——缓存、重启、重装——只碰得到第三关。
这就是为什么同一套办法对一部分人立竿见影,对其余所有人毫无作用;也是为什么同一个视频在你这里是坏的,在你发给的那个人那里却好好的。
故障一:根本没有字幕轨道
最常见,也最难察觉——因为 YouTube 的界面根本不区分“字幕没加载出来”和“字幕从来就没做过”。
不是每个视频都有字幕。上传者可能没上传,而 YouTube 的自动语音识别也并非对所有视频都运行。YouTube 自己的帮助页面列出了不会生成自动字幕的情形:音频仍在处理中、视频所用语言不支持自动字幕、视频太长、音质太差、开头静音过长、多人同时说话。此外还有一部分创作者直接关掉了自己视频的字幕。
十秒判断法: 打开视频下方的 ⋯ 菜单,看有没有显示字幕文稿。没有文稿这一项,就意味着没有轨道,你对浏览器做什么都造不出一条来。手机上点 CC 图标,如果字幕列表是空的而不是有内容,结论相同。
如果你属于这种情况,本文后面帮不上忙,该看的是关于完全没有字幕的视频那一篇。
故障二:轨道在,但 YouTube 就是不给你
这是没有人点名的一种故障,也正是“加载字幕时出错”会作为一条独立提示存在的原因。
字幕文本并不装在视频里。你按下 CC 时,浏览器会向 YouTube 一个专门分发字幕文件的接口发出另一个请求。这个请求可以独立于视频被拒绝——所以画面照常流畅播放,字幕却始终不来。
最常见的拒绝理由是请求频率限制。YouTube 对这个接口卡得很紧,而且限制是按 IP 地址算的,不是按账号。我们能说得这么具体,是因为我们自己也在大量抓取字幕轨道,同样会撞上这个限制:我们的代码里有专门对应它的错误类型,一出现就停止重试——被拒之后从同一个 IP 反复重试纯属浪费。
由此可以推出几件事,它们能解释一些单看毫无道理的现象:
- 开 VPN 就“好了”。 这正是判断的线索。浏览器里什么都没变,变的只有 IP 地址。这个偏方之所以在论坛里流传却没人解释原因,是因为大家只发现了它有效,并不知道为什么。
- 它会自己恢复。 频率限制有期限。如果早上字幕是死的、晚上同一个视频又正常了,那没有人修好过任何东西,你做的操作也无关。
- 它会整个家庭或整间办公室一起中招。 共享 Wi-Fi、校园网、运营商的 NAT、VPN 出口节点,都会把许多人藏在同一个地址后面。室友的 YouTube 使用习惯,可能让你失去字幕。
- 清缓存够不着它。 拒绝发生在 YouTube 那一侧,早在任何东西抵达你的机器并被缓存之前。
十秒判断法: ⋯ 菜单里有文稿这一项,但打不开或一直卡住;或者你直接看到“加载字幕时出错”这行字。把 Wi-Fi 关掉、用手机流量打开同一个视频——这是另一条网络路径。那边字幕出来了,就说明轨道没问题,问题出在你的网络连接上。
故障三:字幕到了,播放器没画出来
三者中最小的一种,也是所有标准建议真正对准的那一种。值得逐条说清楚,因为这里的情况比“清除缓存”具体得多。
- 全屏。 被反馈得最多的一种,而且这是渲染问题而非字幕问题:文字已经送达,只是字幕图层被放到了画面之后或画面之外。退出全屏再进去,通常就回来了。
- 另一个扩展程序。 广告拦截器、脚本拦截器、隐私类扩展以及其他字幕工具,可能拦下字幕请求,或与之争夺页面的同一图层。这是真实存在的原因,“禁用扩展再试”在这里是站得住脚的建议——包括我们自己,见下面的说明。
- 播放速度。 在非常规倍速下,部分客户端会丢掉字幕时间轴。调回 1× 让播放器重新同步,在这里是真的有用。
- 卡住的设置。 你一旦选过某种语言的自动翻译,播放器可能在之后的每个视频上都继续索取那个翻译。把字幕关掉再打开,或改选原始轨道而不是翻译版本,就能解开。
为什么每个页面都让你清缓存
因为对第三种故障来说这是对的,给这个建议没有风险,而且从外部无法证伪。
看看是谁在回答这个问题。排在前面的是视频修复软件、数据恢复博客和转写 SaaS 的页面——这些企业的产品与 YouTube 如何分发字幕毫无关系,他们为了排名写通用的排障流程。他们无法判断你的视频有没有轨道,更是完全没提过按 IP 的频率限制。于是最需要解释的那一种故障,恰恰是唯一得不到解释的。
结果就是一个页面帮到了少数人,却让其余所有人悄无声息地把一个晚上耗在重装浏览器上。
真正有效的做法:不再依赖 YouTube 的字幕通道
故障二里藏着一个结构性的结论。被拒绝的是你的浏览器会话,来自你的 IP 地址。这不是关于这个视频的判定,也不是永久的。
Linglass 填的就是这道缝。这里没有魔法,所以把机制也写清楚:
- 另一条抓取通道。 当 YouTube 不把字幕交给你的会话时,Linglass 改为通过自己的服务器获取轨道。通道不同,地址就不同——被你的浏览器吃了闭门羹的轨道,照样能到。
- 自己的字幕图层。 Linglass 不依赖 YouTube 的字幕渲染,而是在自己的独立图层上绘制字幕,全屏时同样如此。即使原生 CC 按钮已经失灵,这一层依然工作——我们之所以这么做,正是因为反复遇到 YouTube 自家字幕显示直接放弃的视频。
- 确实没有轨道时就转写。 对于字幕从未被制作出来的故障一,Linglass 可以自己识别音频,生成一条 YouTube 没有生成的字幕——包括同时出现两种语言的视频,而这正是 YouTube 自己承认其识别会失败的情形。
- 两行同时显示。 反正已经在画自己的图层,那就可以把原文和你的语言一起显示——这是 YouTube 根本做不到的。
诚实的边界
这不是万能解法,够不着的地方值得直说。
- 我们也会被限流。 换一条通道不等于刀枪不入。当 YouTube 的限制铺得足够广时,我们的服务器也会撞上同一堵墙,这时 Linglass 会如实告诉你发生了什么,而不是给你一块空屏。
- 有些视频是真的关着的。 私享、会员专属、地区封锁和尚未发布的视频,走任何通道都出不来字幕,任何工具都不该做这种承诺。
- 扩展冲突是真实的原因,而我们就是一个扩展。 如果字幕是在你装了某个东西之后立刻坏的,就关掉它试一次——包括我们。比起让你留着一个碍事的工具,我们更希望你找到真正的原因。
- 桌面浏览器,外加 iPhone 和 iPad 应用。 扩展在电脑端的 Chrome、Edge 和 Yandex Browser 上运行。手机和平板走 iOS 应用;Android 应用尚未推出,而电视端任何扩展都够不到。
常见问题
YouTube 字幕为什么不显示?
同一个症状背后有三个互不相干的原因:视频根本没有字幕轨道、YouTube 拒绝把轨道发给你的设备、播放器没能把已经收到的轨道画出来。清除缓存只对第三种有用。先在 ⋯ 菜单里看有没有显示字幕文稿:没有就说明轨道不存在,任何浏览器层面的操作都造不出来。
YouTube 的“加载字幕时出错”是什么意思?
意思是播放器为取字幕文件而发出的那个独立请求失败了。多数情况下是 YouTube 对该请求做了频率限制,而且是按 IP 地址而非账号计算,所以共用同一条网络的人会一起受影响,过一段时间又会自行恢复。它并不表示你的设备上有什么东西坏了或损坏了。
为什么全屏时 YouTube 字幕会消失?
这是渲染故障而不是字幕故障:文字已经送达,只是字幕图层相对画面被放错了位置。退出全屏再进入通常就能恢复。这是该问题最常见的形态,也是标准排障建议真正管用的少数情况之一。
为什么开 VPN 就能让 YouTube 字幕恢复?
因为它换掉了你的 IP 地址,而 YouTube 的字幕限流正是按 IP 施加的。如果 VPN 让字幕回来了,那恰好证明字幕轨道是存在的,只是对你的网络连接被拒绝了。等待同样有效,因为频率限制会过期——这两件事都与缓存或浏览器版本无关。
浏览器扩展会让 YouTube 字幕失效吗?
会。广告拦截器、脚本拦截器和其他字幕工具可能拦截字幕请求,或争夺页面的同一部分。“禁用扩展再试”是站得住脚的建议,对我们这样的字幕扩展同样适用——一个最终被证明是你问题根源的工具,不值得留着。
YouTube 加载不出字幕时,我还能拿到字幕吗?
通常可以。因为被拒绝的是你的浏览器会话而不是这个视频,用另一条通道获取同一条轨道往往能成功;而当轨道从未被制作时,可以直接识别音频。像 Linglass 这样的免费扩展在播放器里同时做这两件事,并绘制自己的字幕图层,因此并不依赖 YouTube 的字幕显示是否正常。
要点回顾
- 三种互不相干的故障共用一个症状:没有轨道、轨道没被送达、播放器没画出来。
- ⋯ 菜单里的显示字幕文稿就是那个十秒测试。没有文稿就没有轨道,再怎么维护浏览器也造不出来。
- “加载字幕时出错”通常是按 IP 的频率限制。这解释了为什么 VPN 看起来管用、为什么它会自己恢复、以及为什么全家会一起失去字幕。
- 全屏、扩展冲突、播放速度和卡住的翻译设置,才是第三类的真实内容;“清除缓存”只是它们粗糙的替身。
- 一个用另一条通道取字幕、并绘制自己图层的工具,可以绕开三种故障中的两种,而第三种可以靠识别音频来解决。
CC 按钮没有骗你。它只是没有办法告诉你,三件截然不同的事里到底发生了哪一件——而一旦你知道是哪一件,其中两件就不再是你该去修的问题了。
不依赖 YouTube 字幕通道的字幕
当 YouTube 拒绝你的通道时,Linglass 会用自己的通道取回轨道;它绘制自己的字幕图层,全屏同样有效;没有字幕的视频则直接识别音频——双语同屏、点词翻译、生词卡片。免费。
App Store