У меня есть видео mkv, в которое встроены английские и немецкие субтитры. Я смотрю видео mkv на проигрывателе VLC. В любой момент времени я могу выбрать только одни субтитры. Я хотел бы выучить немецкий язык. Просмотр видео с английскими и немецкими субтитрами, появляющимися одновременно, может помочь.
Как посмотреть видео на VLC с обоими субтитрами?
Если VLC не поддерживает эту функцию, я с радостью воспользуюсь другими видеоплеерами.
решение1
ВЛК
Начиная с версии beta 4.0.0, VLC поддерживает двойные/вторичные субтитры. Заставить это работать, похоже, немного хлопотно.
Сначала вам нужно включить их в целом. Перейдите в Tools > Preferences > Subtitles/OSD > Dual Subtitles (в самом низу) > Align и измените его на что угодно, кроме unset. Вам также может потребоваться настроить offset (смежный параметр).
При воспроизведении видео вам необходимо «Переключить управление вторичными субтитрами» с помощью сочетания клавиш по умолчанию Ctrl+ Shift+ V. (Это означает, что обычные сочетания клавиш управления субтитрами, такие как vили Alt+ v, для переключения между субтитрами вперед и назад, теперь будут применяться к вторичным субтитрам, а не к основным субтитрам. Повторное нажатие Ctrl+ Shift+ Vвернет их к применению к основным субтитрам.) Затем нажмите vнужное количество раз, чтобы переключиться на нужные вам (вторичные) субтитры.
Альтернативы — МПВ
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
основные (увеличивая индекс потока субтитров), а Ctrl+ Shift+ jбудет циклически повторять их в противоположном направлении J
(уменьшая индекс потока субтитров).
(На основемой собственный ответ на Askubuntu.)
решение2
Я не знаю, как насчет VLC, но SMPlayer может это сделать. Просто перетащите субтитры по одному, затем выберите первичные и вторичные субтитры из меню субтитров.