我有一个嵌入英语和德语字幕的 mkv 视频。我在 VLC 播放器上观看 mkv 视频。任何时候,我都只能选择其中一个字幕。我想学习德语。观看同时显示英语和德语字幕的视频会有所帮助。
如何在 VLC 上观看同时显示两个字幕的视频?
如果 VLC 无法支持此功能,我欢迎使用其他视频播放器。
答案1
甚高频液晶
从测试版 4.0.0 开始,VLC 支持双字幕/副字幕。目前看来,让它工作起来有点麻烦。
首先,您需要将它们全部打开。转到“工具”>“首选项”>“字幕/OSD”>“双字幕”(最底部)>“对齐”,并将其更改为任何值,但不要将其设置为“未设置”。您可能还需要调整偏移量(相邻设置)。
播放视频时,您需要使用默认快捷键Ctrl+ Shift+ “切换辅助字幕控制” V。 (这意味着常规字幕控制快捷键,如v或Alt+ v,用于在字幕之间来回循环,现在将应用于辅助字幕,而不是主字幕。再次按Ctrl+ Shift+V将切换回将这些应用于主字幕。)然后,按v正确的次数切换到您想要的(辅助)字幕。
替代方案——mpv
mpv
(在我看来)有一种更方便的方法来显示两组字幕。
我假设所有字幕都是嵌入的(如问题中所述),或者位于单独但适当命名的外部文件中(例如,如果您的电影名为,则file1.mkv
字幕文件应该是)。如果不是,您可以通过添加选项等或通过尝试(例如)file1.srt
来明确指定字幕文件。--sub-file=subtitle_file_lang_xx.src
--sub-file=subtitle_file_lang_yy.src
--sub-auto
--sub-auto=fuzzy
无论如何选择字幕(内置字幕或来自外部文件),播放视频文件时,每组字幕都会位于自己的“流”中。流被分配连续的整数索引(1、2、3……)。通常,内置字幕(逻辑上)将具有较早的索引。当您使用 播放文件时,流索引、其语言(如果字幕具有指定的语言)以及字幕是否来自外部文件都会显示在终端中。例如,运行mpv
后mpv file1.mkv
:
(+) Subs --sid=1 --slang=eng (*) (subrip)
Subs --sid=2 --slang=deu (subrip)
Subs --sid=3 'file1.srt' (subrip) (external)
这里前两个字幕是内置的,语言分别是英语(eng
)和德语(deu
),而第三个字幕来自外部文件。索引(sid
)为 1、2、3。默认字幕流是第一个(标记为(*)
),也是被选中的字幕流(标记为(+)
)。
知道这些索引后,您可以使用选项--sid
和指定“主”字幕和辅助字幕--secondary-sid
。例如,要将上例中的英语字幕显示为主字幕,将德语字幕显示为辅助字幕,您可以(在终端中)运行:
mpv --sid=1 --secondary-sid=2 file1.mkv
使用键盘快捷键循环显示二级字幕
默认情况下,没有用于循环显示辅助字幕的键盘快捷键(您可以使用 和j
( J
+ Shift)j循环显示“主”字幕)。但是,您可以非常轻松地添加一些快捷键。
例如,如果您将以下内容添加到您的~/.config/mpv/input.conf
(或更一般地,您的${XDG_CONFIG_HOME}/mpv/input.conf
):
Ctrl+j cycle secondary-sid
Ctrl+J cycle secondary-sid down
然后Ctrl+将以与主j字幕相同的方向循环您的辅助字幕(增加字幕流索引),而+ +将以相反的方向循环它们(减少字幕流索引)。j
CtrlShiftjJ
答案2
我不知道 VLC 怎么样,但 SMPlayer 可以做到。只需逐个拖动字幕,然后从字幕菜单中选择主字幕和次字幕即可。