Вместе с фильмом MPlayer может показывать и субтитры. В настоящий момент поддерживаются следующие форматы:
MPlayer может конвертировать вышеперечисленные форматы субтитров (кроме первых трёх) в следующие форматы с помощью соответствующих опций:
MPsub: -dumpmpsub
SubRip: -dumpsrtsub
MicroDVD: -dumpmicrodvdsub
JACOsub: -dumpjacosub
Sami: -dumpsami
MEncoder может выдавать DVD субтитры в VOBsub формате.
Опции значительно различаются для различных форматов:
VOBsub субтитры. VOBsub субтитры состоят из большого (несколько мегабайт) .SUB файла, и необязательных .IDX и/или .IFO файлов. Использование: если у Вас, например, есть файлы sample.sub, sample.ifo (необязательно), sample.idx - Вы должны указать MPlayer'у опции -vobsub sample [-vobsubid id] (можно указать полный путь). Опция -vobsubid похожа на -sid для DVD, с её помощью, Вы можете выбирать между дорожками субтитров (языками). В случае, если -vobsubid пропущена, MPlayer попытается использовать языки, полученные через опцию -slang и перейти к пункту langidx в .IDX файле, чтобы выбрать язык субтитров. Если и это не удаётся, то субтитров не будет.
Другие субтитры. Прочие форматы субтитров состоят из единого текстового файла, содержащего информацию о синхронизации, местоположении и тексте субтитра. Использование: Если у Вас есть, например, файл sample.txt, Вы должны указать опцию -sub sample.txt (можно указать полный путь).
Регулировка синхронизации и местоположения субтитров:
Если Вы наблюдаете увеличивающуюся задержку между фильмом и субтитрами, используя файл субтитров в формате MicroDVD, наиболее вероятно, что частота кадров у фильма и файла субтитров не совпадают. Пожалуйста, обратите внимание, что формат MicroDVD использует абсолютные номера кадров для синхронизации, и поэтому опция -subfps не может использоваться с этим форматом. Поскольку MPlayer не может угадать частоту кадров для субтитров, Вы должны вручную конвертировать частоту кадров. В каталоге contrib MPlayer'овского FTP сайта есть специальный Perl'овый скрипт для такой конверсии.
О DVD субтитрах, читайте в секции DVD.
MPlayer ввёл в употребление новый формат субтитров, называемый MPsub. Он был разработан Gabucino. По существу, его основная особенность - это использование динамической временной привязки (хотя существует и режим покадровой привязки). Пример (из DOCS/tech/mpsub.sub):
FORMAT=TIME # первый номер : столько прождать после того, как исчез предыдущий субтитр # второй номер : столько секунд показывать текущий субтитр 15 3 A long long, time ago... 0 3 in a galaxy far away... 0 3 Naboo was under an attack.
Как видите, основной целью было сделать простым редактирование/синхронизацию/ объединение/разрезание простым. И, если Вы, например, получили SSA субтитры но они плохо синхронизированы с Вашей версией фильма, Вы просто запускаете
mplayer dummy.avi -sub source.ssa -dumpmpsub. В текущем каталоге будет создан файл dump.mpsub, содержащий исходный текст субтитров, но в MPsub формате. После этого, Вы можете свободно добавлять/вычитать секунды к/от субтитра.
Субтитры выводятся, используя технику 'OSD', On Screen Display. OSD используется для вывода текущего времени, полос громкости и перемещения, и т. п.
Чтобы использовать возможности OSD/SUB, Вам нужен пакет шрифтов MPlayer'а. Есть много способов их получить:
Использовать средство генерации шрифтов в TOOLS/subfont-c. Это законченное средство для преобразования из TTF/Type1/и т. п. шрифтов в mplayer'овские шрифтовые пакеты. (подробности читайте в TOOLS/subfont-c/README)
используйте GIMP'овый плагин генерации шрифтов из TOOLS/subfont-GIMP (замечание: также, у Вас должен быть установлен HSI RAW плагин, см. http://realtime.ssu.ac.kr/~lethean/mplayer/ ).
используйте TrueType (TTF) шрифт, через библиотеку freetype. Обязательна версия 2.0.9 или выше! Тогда у Вас есть два метода:
используйте опцию -font /path/to/sample_font.ttf, чтобы указывать каждый раз путь к TrueType шрифту
создайте ссылку:
ln -s /path/to/sample_font.ttf ~/.mplayer/subfont.ttf
Если MPlayer был скомпилирован с поддержкой fontconfig, эти методы не будут работать, вместо этого, опция -font ожидает fontconfig'овское название шрифта, и по умолчанию это фонт без засечек (sans-serif). Чтобы получить список шрифтов известных fontconfig'у, используйте fc-list. Пример: -font 'Bitstream Vera Sans'
Скачать готовый к употреблению пакет шрифтов с сайта MPlayer'а. Замечание: Доступные в настоящий момент шрифты ограничены до поддержки ISO 8859-1/2, но существуют другие (включая корейские, русские, ISO 8859-8 и др.) сделанные пользователями шрифты в contrib/font секции FTP.
Шрифт должен содержать соответствующий font.desc файл, который создаёт соответствия между Unicode позицией в шрифте и кодовой страницей субтитра. Другим решением является наличие субтитра в UTF-8 кодировке и использование опции -utf8, или просто обозвать файл субтитра <video_name>.utf и разместить его в каталоге с фильмом. Перекодировка из различных кодировок в UTF-8 может быть осуществлена с помощью программ konwert или iconv.
Таблица 1.1. Некоторые URL'ы
URL | Comment |
---|---|
ftp://ftp.mplayerhq.hu/MPlayer/releases/fonts/ | ISO шрифты |
ftp://ftp.mplayerhq.hu/MPlayer/contrib/fonts/ | различные шрифты, сделанные пользователями |
http://realtime.ssu.ac.kr/~lethean/mplayer/ | корейские шрифты и RAW плагин |
Если Вы решите использовать не-TTF шрифты, UNZIP'ните скаченный файл в ~/.mplayer или $PREFIX/share/mplayer. Затем переименуйте, или слинкуйте (создайте ссылку) один из каталогов в font (напр.:
ln -s ~/.mplayer/arial-24 ~/.mplayer/font). Теперь Вы должны увидеть таймер в левом верхнем углу фильма (выключите его кнопкой o).
(субтитры всегда включены, чтобы узнать, как их отключить, читайте страницу man)
У OSD 4 состояния: (переключаются кнопкой o):
Вы можете изменить действия по умолчанию, установив в нужное значение переменную osdlevel в конфигурационном файле, или используя опцию -osdlevel командной строки.
У MPlayer'а существует целиком определяемый пользователем интерфейс OSD меню.
меню Preferences[Настройки] в настоящий момент НЕ НАПИСАНО!
Установка
запустите MPlayer как в следующем примере:
$ mplayer -menu file.avi