13.04.2010 :.
.: Anime + MPlayer = Любовь

По просмотру аниме в MPlayer уже есть очень хорошая статья, называемая ``Смотрим аниме в Linux (MPlayer для анимешника)''. Посмотреть её можно, например, тут: http://web.archive.org/web/20071219094844/http://otaku.glazov.ru/mplayer.htm.

Существует много GUI для MPlayer: gmplayer, kmplayer. Прелесть в том, что ``родные'' горячие клавиши и конфигурируемость почти всегда оставляют доступными. Тем более, для просмотра видео, если честно, GUI не очень то и нужен (не стоит сразу бросать в меня помидоры - сначала попробуйте).

Все следующие действия производились под Debian Linux (testing-ветка), но будут работать и на других *nix-системах. Для Windows, возможно, тоже найдёте что-нибудь интересное :)

Для начала процитирую Razor'a, а именно список наиболее часто используемых горячих клавиш:

Esc / q – выход из программы (прежде чем начать что-то изучать, нужно всегда знать как это закрыть, нэ?)

Space / p – пауза. Отжимается при нажатии любой клавиши.

9 / 0 – уменьшить/увеличить громкость

стрелка вправо / влево – перемотать видео на 10 сек. вперед/назад

стрелка вверх / вниз – перемотать видео на 1 минуту вперед/назад

Page Up / Page Down – перемотать видео на 10 минут вперед/назад

f – на полный экран / обратно в обычный режим

o (англ. буква "o") – информативность. Можно скрыть все показания плеера, выводить только прошедшее время или прошедшее+полное время фильма

 

Сразу перейду к самой наболевшей проблеме: субтитрам. Вот как они могут выглядеть:

Opening к Death Note - не настроенные субтитры

Знакомая картинка, не правда ли? И тут извечная проблема Linux - кодировки... А вот как этот же кадр выглядит с нормально настроенными субтитрами:

Opening к Death Note - ннастроенные субтитры

Решение номер раз: в лоб. Можно каждый раз при запуске Mplayer прописывать кодировку (``-subcp кодировка''):

Bash код:
$ mplayer -subcp utf8 ./Death_Note_-_08.avi
$ mplayer -subcp cp1251 ./Death_Note_-_08.avi

Главный недостаток данного метода - неудобство. Быстро надоедает перед просмотром каждого файла прописывать кодировку. Ведь её не только указать, но ещё и угадать надо!

Решение номер два: заставить MPlayer угадывать кодировку самостоятельно! Для этого надо установить программу Enca (Extremely Naive Charset Analyser). В Debian, например, это можно сделать так:

Bash код:
# aptitude install enca

Не буду долго мучать теорией, лучше сразу покажу свой \~/.mplayer/config:

Config код:
nolirc = yes
subcp = "enca:ru:utf8"
ass = true
stop-xscreensaver = yes
nojoystick = 1

Первая строка - чтоб не получать каждый раз при запуске ошибку ``Failed to open LIRC support.''. Последняя - постоянно зажимаю книгами какую-нибудь кнопку на джойстике, предпочёл его отключить.

Строка ``enca:ru:utf8'' означает, что кодировку должна попытаться угадать enca. Ей говорится, что субтитры скорее всего на русском языке. И если enca не сможет угадать кодировку будет использована utf8. Однако за 2 года использования enca меня ещё ни разу не подвела :)

 

Строка ``ass = true'' подводит нас к следующей проблеме Linux - шрифты. Да, со включенной опцией ``ass'' MPlayer сразу сможет делать форматирование текста: цвета, начертания, расположения. Однако периодически вылазят косяки типа накладывающегося текста, или текста уходящего за экран. Не сложно догадаться, что наверное саббер подразумевал использование другого шрифта. Это также видно по сообщениям MPlayer:

Bash код:
[ass] fontconfig: Selected font is not the requested one:
'Bitstream Vera Sans Oblique' != 'CyrillicOld'
[ass] Glyph 0x42F not found, selecting one more font for (CyrillicOld, 80, 110)
[ass] fontconfig: Selected font is not the requested one:
'DejaVu Sans Oblique' != 'CyrillicOld'

Здесь видно, что MPlayer не может найти шрифт ``CyrillicOld'' и пытается подобрать вместо него другой. Однако начертания и размеры шрифтов далеко не всегда совпадают...

Решение - ``против лома нет приёма'' - установим шрифты прямо в систему. Я не использую сервер шрифтов (XFS), поэтому устанавливал шрифт стандартными средствами X11. Для этого создал папку /usr/share/fonts/truetype/dexp , куда складываю все свои TTF-шрифты:

Bash код:
# mkdir /usr/share/fonts/truetype/dexp
# cp /mnt/downloadedFonts/*.ttf /usr/share/fonts/truetype/dexp/

Далее нужно перейти в папку шрифтов и вызвать mkfontscale и mkfontdir:

Bash код:
# cd /usr/share/fonts/truetype/dexp/
# mkfontscale 
# mkfontdir

Этим мы полностью подготовили директорию шрифтов к подключению к X-серверу. Теперь осталось прописать путь к нашей директории в конфиги иксов (обычно это /etc/X11/xorg.conf):

Config код:

Section "Files"
   ...
   FontPath	"/usr/share/fonts/truetype/dexp"
EndSection

После добавления строки ``FontPath "/usr/share/fonts/truetype/dexp"'' останется только перезагрузиться и система увидит новые шрифты. Посмотреть их можно в программе xfontsel.

 

Про горячие клавиши и подгонку субтитров также процитирую Razor'a:

 

А что делать, если субтитры не совпадают по таймингу с вашим видео? Такие случаи лечатся следующими клавишами:

y – пролистать одну фразу вперед

g – пролистать одну фразу назад

 

Для точной временнОй подгонки субтитров используются клавиши Z и X.

z – сдвинуть фразу на 100ms назад

x – сдвинуть фразу на 100ms вперед

 

Возможность пролистывать и сдвигать фразы, не залезая при этом в настройки является очень удобной. Насколько мне известно, в Windows такой возможностью может похвастаться только один плеер – crystal player (в нем клавишами можно сдвигать сабы по времени). А чтобы тайминговать VobSub'ом (зелёная вывернутая стрелочка в панели инструментов, правая кнопка мыши → DirectVobSub → вкладка Timing → Subtitle Timing, millisec), надо быть или мазохистом (большинство пользователей) или провидцем, точно знающим, на сколько миллисекунд и куда сдвигать субтитры.

 

Также субтитры можно двигать по экрану вниз-вверх:

r – сдвинуть вверх

t – сдвинуть вниз

Очень удобно немного приподнять сабы, чтобы они в точности ложились на хардсаб и ``перекрывали'' его.

 

И еще несколько трюков:

b – отключить/показать субтитры

j – переключиться на следующие субтитры. Например, у вас есть ogm-файл, имеющий встроенные английские субтитры, а русские лежат отдельно (но в том же каталоге, и имеют такое-же имя, как и сам файл). Открыв этот ogm-файл в мплеере, вы может с помощью кнопки "j" легко переключаться между русскими и английскими сабами. А если надоест – то и вообще отключить их с помощью клавиши "b". То же относительно DVD, обычно имеющих сразу пять-шесть встроенных субтитров раных языков.

 

 

Ещё одна мегафича MPlayer'a - поддержка бинарных кодеков. Скачать готовый набор можно на странице http://www.mplayerhq.hu/design7/dload.html#binary_codecs. Распаковать архив надо в /usr/local/lib/codecs/ или в /usr/local/lib/win32/. После этого MPlayer при запуске будет писать что-то вроде:

Console output код:
115 audio & 237 video codecs

Кстати, если файл был недокачан, то MPlayer по умолчанию всё-равно сможет его воспроизвести. Однако перемотка будет недоступна. Если она всё-же нужна, то можно запустить mplayer с опцией ``-idx''.

 

Напоследок хочу сказать: man mplayer - очень занимательное чтиво. Оно на русском языке, описывает все хоткеи и поможет решить больше половины проблем. Ну или, например, для переключения звуковой дорожки изредка можно использовать и GUI (когда лениво лезть в мануал) :)

 

Приятного просмотра!


Оставить комментарий:

.: Оставить комментарий
Имя (ник):
( Ваш ник или реальное имя. Будет показано в заголовке комментария )
E-Mail:
( Ваш e-mail. Используется только для связи с Вами администрации. Показан НЕ будет )
Сайт, ICQ или Jabber:
( Это поле будет отображено в заголовке комментария рядом с Вашим именем )
Ваша оценка:
( Как Вы оцениваете данный материал? По умолчанию оценка не ставится )
Введите число, изображённое на картинке image :
Текст комментария: