dualsub-support
dualsub-support copied to clipboard
解决手机上 YouTube 中文字幕翻译问题
现在 YouTube 有个极度诡异的 bug,就是下图这个样子。
所有字幕文本会挤到视频开头的某个时间轴上。
原因分析
用浏览器的开发者工具查看字幕文件,发现是字幕文件出现错误:
所以这是 YouTube 服务端的 bug,和客户端无关,用户怎么换浏览器、换系统语言、换网络代理都没用。
经过测试,如果同时满足 3 个条件,就 100% 出现:
- 原文字幕通过语音识别自动生成。
- 原文字幕语言是英语。
- 译文字幕语言是繁体中文。
不满足其中一个,例如翻译到简体中文,那么就是正常的。
这个 bug 大概在 2023 年 8 月出现,直到现在 YouTube 官方都没有修复。
凑合的解决方法
如果在电脑上还可以用简体中文凑合一下。
但是在手机上就麻烦了:
- https://m.youtube.com/ 不支持字幕翻译。
- App 版,只能翻译到繁体中文。
一个解决方法是把手机浏览器切换到桌面版模式,使用 https://www.youtube.com/,然后翻译到简体中文。
但这个方法使用体验极其之差,没有触摸操作优化,不支持全屏播放,还增加手机耗电量。
更好的解决方法
现在手机浏览器也是支持扩展的,所以可以用扩展修改 https://m.youtube.com/,添加上字幕翻译功能。
因为 https://m.youtube.com/ 用的是和 https://www.youtube.com/ 一样的服务端接口,只是缺少一个选择译文语言的菜单而已,这个菜单可以用扩展实现。
用一个仅 50KB 的小扩展就能解决这个问题,Dualsub 现在已经支持 Android 和 iOS 浏览器。
温馨提示
Dualsub 的原生模式是完全免费的,因为用的就是 YouTube 服务端接口,开发者没有额外成本。
以下是在 iOS 上 Orion 浏览器的截图。
截图中菜单设置表示:
- 第 1 行字幕,读取字幕文件英语 (自动生成),然后使用机器翻译成中文 (简体)。
- 第 2 行字幕,读取字幕文件英语 (自动生成),但不使用机器翻译,即原样输出。
如果选择翻译到繁体中文,那么就使用简体中文的字幕文件,然后进行简繁转换处理。
显示效果:
这是目前在手机上最佳解决方法:
- 有触摸操作优化,支持全屏播放,可以节省电量。
- 自由选择原文和译文语言,还可以双语字幕。
- 可以配合其它扩展,过滤广告,过滤 Shorts 视频。
综合起来使用体验爆杀那个垃圾 YouTube App。
快速开始
如果你有电脑,建议先在桌面浏览器熟悉一下 Dualsub,因为手机浏览器有些地方和桌面浏览器不同。
Android
即使 Android 上有多种浏览器支持扩展,但是建议使用 Firefox,因为 Firefox 对扩展是第一方支持。
安装步骤:
- 安装最新版 Firefox for Android。
- 打开 Firefox 商店 安装 Dualsub。
iOS
目前没有上架 App Store,所以不能用 Safari,原因:
- 上架极度麻烦,费钱费时间。
- Safari 会故意引导跳转 App,在顶部显示“在 YouTube App 中打开“的横条,无法隐藏,占据宝贵的显示空间。
而是使用 Orion 浏览器:
- 自行实现的扩展 API,可以直接从文件安装扩展。
- 不会故意引导跳转 App,没有那个横条。
- 自带 YouTube 广告过滤。
- 免费无内购。
除了不是开源,可算是 iOS 版的 Kiwi,是一款纯粹的浏览器,界面干净清爽。
注意: 不要和 Tor 组织开发的,主打隐私功能的 Onion 浏览器混淆了,那个虽然是开源的,但是不支持扩展。
安装步骤:
- 安装最新版 Orion。
- 安装后,在 Orion 设置里,勾选允许安装第三方 Chrome/Firefox 扩展程序两个选项。
- 然后从 Chrome/Firefox 商店安装 Dualsub 扩展。
- 打开 Chrome 商店,切换到桌面模式刷新一次,这样那个蓝色安装按钮才能点击。
- 打开 Firefox 商店,点击大蓝色按钮左下方的灰色小字“下载文件“,即可弹出安装确认窗口。
另外需要注意,iOS 17.4+ 和 iPadOS 16.4+ 才支持真正的全屏,更旧版本的系统只支持虚假的全屏:
- 真正的全屏:全屏时能够保留显示所有网页元素,可以看到网页字幕。
- 虚假的全屏:把视频地址发送给系统播放器,切换到系统播放器并全屏,这样看不到网页字幕。
求再手机上进行一次性设置,现在每打开一个视频,都需要重新设置,较麻烦。感谢作者,只是我用的最好的双字幕,其他的都有翻译的不通顺的!
现在是有意这么做的,不这么做就是很容易出现 429 错误(尤其是在漫无目的刷视频时),见 #426。
出现 429 错误时,YouTube 也不会显示任何错误信息告知用户,只能用 DevTools 打开查看。
所以我宁愿先重置,让用户手动选择,降低被限流的频率,总好过不能用。
求再手机上进行一次性设置,现在每打开一个视频,都需要重新设置,较麻烦。感谢作者,只是我用的最好的双字幕,其他的都有翻译的不通顺的!
同求,每次打开视频需要点扩展很麻烦