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нужное количество раз, чтобы переключиться на (вторичные) субтитры, которые вы хотите.