如何让 VLC 显示 mkv 视频中嵌入的两个字幕?

如何让 VLC 显示 mkv 视频中嵌入的两个字幕?

我有一个嵌入英语和德语字幕的 mkv 视频。我在 VLC 播放器上观看 mkv 视频。任何时候,我都只能选择其中一个字幕。我想学习德语。观看同时显示英语和德语字幕的视频会有所帮助。

如何在 VLC 上观看同时显示两个字幕的视频?

如果 VLC 无法支持此功能,我欢迎使用其他视频播放器。

答案1

甚高频液晶

从测试版 4.0.0 开始,VLC 支持双字幕/副字幕。目前看来,让它工作起来有点麻烦。

首先,您需要将它们全部打开。转到“工具”>“首选项”>“字幕/OSD”>“双字幕”(最底部)>“对齐”,并将其更改为任何值,但不要将其设置为“未设置”。您可能还需要调整偏移量(相邻设置)。

播放视频时,您需要使用默认快捷键Ctrl+ Shift+ “切换辅助字幕控制” V。 (这意味着常规字幕控制快捷键,如vAlt+ 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……)。通常,内置字幕(逻辑上)将具有较早的索引。当您使用 播放文件时,流索引、其语言(如果字幕具有指定的语言)以及字幕是否来自外部文件都会显示在终端中。例如,运行mpvmpv 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字幕相同的方向循环您的辅助字幕(增加字幕流索引),而+ +将以相反的方向循环它们(减少字幕流索引)。jCtrlShiftjJ

(基于我在 Askubuntu 上的回答

答案2

我不知道 VLC 怎么样,但 SMPlayer 可以做到。只需逐个拖动字幕,然后从字幕菜单中选择主字幕和次字幕即可。

相关内容