MPV
Я думаю, что лучший подход с mpv
(доступно через sudo apt install 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=fra (subrip)
Subs --sid=3 'file1.srt' (subrip) (external)
Здесь первые два субтитра являются встроенными, с языками английский ( eng
) и французский ( fra
) соответственно, а третий - из внешнего файла. Индексы ( sid
): 1, 2, 3. Поток субтитров по умолчанию - первый (помеченный символом a (*)
), а также выбранный (с помощью a (+)
)
Зная эти индексы, вы можете указать «основные» и вторичные субтитры с опциями --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
и основные (циклически увеличивая индекс потока субтитров), а Ctrl+ Shift+ jбудет циклически перемещать их в противоположном направлении J
(уменьшая индекс потока субтитров).
VLC
Если вы предпочитаете VLC, он также поддерживает двойные / вторичные субтитры, начиная с бета-версии 4.0.0. Заставить его работать сейчас, кажется, немного сложнее, чем с MPV.
Во-первых, вам нужно включить их в целом. Перейдите в «Инструменты»> «Установки»> «Субтитры / OSD»> «Двойные субтитры» (в самом низу)> «Выровнять» и измените его на любое, кроме неустановленного. Вам также может понадобиться отрегулировать смещение (смежные настройки).
При воспроизведении видео вам нужно «Переключить вторичное управление субтитрами» с помощью комбинации клавиш по умолчанию Ctrl+ Shift+ V. (Это означает, что обычные ярлыки управления субтитрами, такие как vили Alt+ v, для циклического переключения между субтитрами вперед и назад теперь будут применяться к вторичным субтитрам, а не к основным субтитрам. Повторное нажатие Ctrl+ Shift+ Vпереключит их на основные субтитры .) Затем нажмите vнужное количество раз, чтобы переключиться на (вторичные) субтитры, которые вы хотите.