Увидев только что на Хабрахабре вот эту блогозапись, подумал, а нельзя ли сделать так в Линуксе. Оказалось — можно. Причём метод не зависит от проигрывателя видео, главное, чтобы программа поддерживала субтитры в формате ASS.
[MPlayer-users] two subtitles at one time (script)
Я сделал в скрипте изменения в двух строчках, добавив опцию -subcp utf-8 в команду конвертации SRT-файлов.
Зависимости скрипта — mplayer (в случае, если ваши файлы субтитров нужно сконвертировать в srt) и gnu utils (по поводу присутствия gnu utils на компьютере, что-то мне подсказывает, можно не беспокоиться).
Сохраним скрипт merge2ass.sh к себе на компьютер (ссылка выше).
Теперь откроем консоль и перейдём в каталог, в котором находится скрипт.
Например так:
cd scripts/ (находясь в домашнем каталоге)
Или так:
cd ~/scripts/ (находясь где-то ещё)
Установим скрипту права на исполнение (делается один раз):
chmod +x merge2ass.sh
Теперь посмотрим, какие аргументы принимает скрипт.
1. Файл фильма
2. Одни субтитры
2. Вторые субтитры
4. Необязательный аргумент, может быть «-pm» или «--play-movie» для мгновенного перехода к просмотру фильма
Итак, скачиваем русские и английские субтитры.
Русские субтитры, скорее всего, в кодировке CP1251. Меняем кодировку на UTF-8.
iconv -f cp1251 -t utf-8 movies/lie_to_me-s02e11-russian.srt > movies/lie_to_me-s02e11-russian-utf-8.srt
И запускаем скрипт.
./merge2ass.sh movies/lie_to_me-s02e11.avi movies/lie_to_me-s02e11-english.srt movies/lie_to_me-s02e11-russian-utf-8.srt
Скрипт создаёт файл lie_to_me-s02e11-bilingual.ass. Остаётся запустить кино.
mplayer -noautosub -ass movies/lie_to_me-s02e11.avi -sub movies/lie_to_me-s02e11-bilingual.ass -subcp utf-8
Приятного просмотра и, конечно же, изучения языков!
if anyone needs this, i created a bash script allowing you to
watch/convert movies with two subtitles shown at the same time. you
may use this if a foreign friend comes to visit you and you both would
like to watch a movie with subtitles in your mother language, for
instance.
Если кому-то надо, я создал скрипт на bash'е, позволяющий смотреть/конвертировать фильмы так, чтобы одновременно показывались две дорожки субтитров. Вы можете им пользоваться, если, скажем, к вам в гости приезжает друг из другой страны, и вы бы оба хотели посмотреть фильм с субтитрами на вашем родном языке.
[MPlayer-users] two subtitles at one time (script)
Я сделал в скрипте изменения в двух строчках, добавив опцию -subcp utf-8 в команду конвертации SRT-файлов.
Зависимости скрипта — mplayer (в случае, если ваши файлы субтитров нужно сконвертировать в srt) и gnu utils (по поводу присутствия gnu utils на компьютере, что-то мне подсказывает, можно не беспокоиться).
Сохраним скрипт merge2ass.sh к себе на компьютер (ссылка выше).
Теперь откроем консоль и перейдём в каталог, в котором находится скрипт.
Например так:
cd scripts/ (находясь в домашнем каталоге)
Или так:
cd ~/scripts/ (находясь где-то ещё)
Установим скрипту права на исполнение (делается один раз):
chmod +x merge2ass.sh
Теперь посмотрим, какие аргументы принимает скрипт.
1. Файл фильма
2. Одни субтитры
2. Вторые субтитры
4. Необязательный аргумент, может быть «-pm» или «--play-movie» для мгновенного перехода к просмотру фильма
Итак, скачиваем русские и английские субтитры.
Русские субтитры, скорее всего, в кодировке CP1251. Меняем кодировку на UTF-8.
iconv -f cp1251 -t utf-8 movies/lie_to_me-s02e11-russian.srt > movies/lie_to_me-s02e11-russian-utf-8.srt
И запускаем скрипт.
./merge2ass.sh movies/lie_to_me-s02e11.avi movies/lie_to_me-s02e11-english.srt movies/lie_to_me-s02e11-russian-utf-8.srt
Скрипт создаёт файл lie_to_me-s02e11-bilingual.ass. Остаётся запустить кино.
mplayer -noautosub -ass movies/lie_to_me-s02e11.avi -sub movies/lie_to_me-s02e11-bilingual.ass -subcp utf-8
Приятного просмотра и, конечно же, изучения языков!