Dual Subtitles for Streaming Media
流媒体平台字幕增强及双语模块
Powered by Chavy‘s Env.js and BoxJs
需要启用重写
、脚本
、MitM
功能
有问题请至Issue页面反馈
Telegram讨论组:🍟 整点薯条
- 官方播放器内提供自定义字幕选项
- 对于不兼容的播放器,提供了一个字幕选项,用来强制替换字幕为指定字幕类型。
- 自定义启用的第三方字幕种类
- 双语官方字幕
- 双语翻译字幕
- Google翻译
- Google Cloud Translate API
- Azure/Azure.cn Translator
- DeepL Free/Pro
- 双语外挂字幕
- 中文,英文,西班牙文自动回退
中文(自动)
回退顺序为中文(简体)
-中文(繁體)
-中文(香港)/粤语(廣東話)
英文(自动)
回退顺序为English (US) [CC]
-English (US)
-English (UK)
西班牙文(自动)
回退顺序为Español (Latinoamérica) [CC]
-Español (Latinoamérica)
-Español (España) [CC]
-Español (España)
- 自定义字幕匹配时间戳容差值
- 自定义外挂字幕时间戳偏移量
- 翻译字幕模式支持
逐段翻译
(默认)和逐行翻译
逐段翻译
对于大分段的字幕文件的平台(如:HBO Max)响应更快,翻译效果更好,利于限制使用频率的翻译API。
- 直接使用
- 采用默认配置
- 默认主语言
中文(自动)
,副语言英文(自动)
- 提供中文的平台仅启用
官方字幕
- 未提供中文的平台仅启用
Google翻译
- 默认主语言
- 采用默认配置
- 配合
BoxJs
及订阅使用- 安装
BoxJs
插件并更新引用资源或脚本:- Loon: boxjs.rewrite.loon.plugin
- Quantumult X: boxjs.rewrite.quanx.conf
- Surge (Shadowrocket): boxjs.rewrite.surge.sgmodule
- Stash: boxjs.rewrite.stash.stoverride
- 浏览器访问BoxJs.com,在
订阅
页面点击+
添加本项目订阅:
- 安装
- 配合
BoxJs
及订阅使用- 浏览器访问BoxJs.com
- 在
应用
页面点开DualSubs
折叠 - 根据需要配置每个流媒体平台的设置
字幕类型
为多选框,多选保存后,对应APP中的字幕
选项也会增加对应的字幕选项首选语言
为主语言,对应第一行字幕语言次选语言
为副语言,对应第二行字幕语言- 需在
字幕类型
中勾选外部字幕
,外部字幕文件URL
中填写的字幕文件才会生效(需要为绝对路径,支持WebVTT, SRT) 外部字幕偏移量
为内置字幕时间轴矫正功能,时间单位为毫秒,正负整数,可以用来省略第三方字幕转换器播放记录缓存数量
提供设置数量的复数缓存空间,当你的设备同时为局域网内多个设备提供流媒体平台字幕增强功能时,保证字幕数据不会错乱,同时对于Disney+
这种自带长期缓存的流媒体平台,提供更好的兼容性时间戳公差
为官方字幕
或外部字幕
匹配时,每句字幕匹配时的时间容差,因同平台同视频不同语言字幕往往交付不同翻译人员进行翻译,相同台词的时间戳可能有0.5秒-1.5秒乃至更多的误差,或者一句台词对应另外一种语言多句台词的情况,时间戳公差
值会将此误差范围的台词视为同一句台词进行合并,且支持一句台词对多句台词合并
- (可选)在
DualSubs: Verify
中配置第三方API验证信息 - (可选)在
DualSubs: Advanced Options
中配置高级设置
- Loon: DualSubs.plugin
- Quantumult X: DualSubs.qxrewrite
- Surge (Shadowrocket): DualSubs.sgmodule
- Stash: DualSubs.stoverride
- 当前仅支持Web端有字幕视频的自动翻译及全翻译语言解锁及双语言
- 当选择任意语言
普通字幕
时,双语字幕首选语言
均为BoxJs中设置的首选语言
且为翻译字幕(暂未做官方字幕查询) - 当选择
自动翻译
中的翻译字幕
时,双语字幕分别为原语言
及目标语言
- 当选择任意语言
- Loon: DualSubs.YouTube.plugin
- Quantumult X: DualSubs.YouTube.qxrewrite
- Surge (Shadowrocket): DualSubs.YouTube.sgmodule
- Stash: DualSubs.YouTube.stoverride
- 图例:
- 完全支持: ✅
- 兼容: ☑️
- 未来会支持: 🔜
- 不明/未测试: ❓
- 不支持: ❌
- 无此类型: N/A
- 提示: 以下图例可点击后直达下载链接或网站
供应商 | iOS/iPadOS | tvOS | macOS | Appx | Web | 备注 |
---|---|---|---|---|---|---|
YouTube | 🔜1 | ❌2 | N/A | N/A | ✅ | |
Apple TV+ | ✅ | ✅ | ✅3 | N/A | ✅4 | 指Apple TV app中的订阅内容 |
Apple TV | ✅4 | ✅4 | ✅43 | N/A | N/A | 指Apple TV app中的买断或租借内容5 |
Apple Fitness | ✅4 | ✅4 | N/A | N/A | N/A | 5 |
Disney+ | ✅ | ✅ | N/A | ✅ | ✅ | |
Prime Video | ✅3 | ✅ | 🔜6 | 🔜6 | 🔜6 | |
HBO Max | ☑️7 | ✅ | N/A | ❓ | ☑️7 | |
Hulu | ✅ | ✅ | N/A | N/A | 🔜8 | |
Paramount+ | ✅ | ✅ | N/A | ❓ | ✅ | |
Discovery+ Philippines |
✅ | ❓ | ❓ | ❓ | ✅ | |
Footnotes
-
此平台使用protobuf序列化数据,需要等待反序列化完成 ↩
-
此平台并非使用HTTPS或HTTPS over TCP传输数据流,暂无MitM修改方法 ↩
-
采用旧版
AVPlayerViewController
播放器UI界面,自定义字幕名称会被强制显示为固定名称,比如多个名称为简体中文
的选项,依次为原始字幕选项及BoxJs中开启的字幕选项,除显示的名称固定外,字幕选项功能正常。 ↩ ↩2 ↩3 -
此平台资源使用的域名
play.itunes.apple.com
与App Store
登陆、验证、购买等功能共用域名,MitM可能造成无法访问,故默认未添加此域名,需要此平台双语的用户请自行添加play.itunes.apple.com
至MitM域名列表。 ↩ ↩2 ↩3 ↩4 ↩5 ↩6