Mplayer для анимешника или смотрим аниме в Linux
В мире существует великое множество мультимедиа-плейеров, работающих на разных операционных системах. Среди них как стандартные плейеры в системе, например Windows Media Player - для Windows, QuickTime, iTunes - для Apple Macintosh, totem - для среды Gnome, так свободно-разрабатываемые и\или кросс-платформенные программы: vlc, mplayer, LightAllow, kmplayer, xine и другие.
У каждой программы есть свои приемущества и недостатки, своё сообщество разработчиков и поклонников.
В этой статье речь пойдёт о плейере MPlayer и его использовании в Linux для просмотра различных медиа-файлов.
Содержание |
Установка MPlayer
Для каждого конретного дистрибутива существует своя процедура установки, но лучшим и быстрым способом будет установка из пакетов программ дистрибутива.
Установка в Debian Linux
apt-get install mplayer
Система также доустановит нужные пакеты для разрешения зависимостей. Можно воспользоваться системой управления пакетами synaptic.
Для среды KDE существует пакет kmplayer. Если по умолчанию Вы работаете в среде Gnome, mplayer установится с графическим интерфейсом.
Установка в других дистрибутивах
Раздел ждёт своего автора :-)
Можно также скачать с официального сайта исходный код и вручную собрать его, правда при этом потребуется доустанавливать различные библиотеки для разрешения зависимостей.
Установка скинов к mplayer
Кому не приглянулся внешний вид, можно сменить скин на какой-нибудь другой. Для этого открываем плейер и через правую кнопку мыши на окне проигрывателя, в меню, выбираем опцию "Skin Browser".
Если понравившегося скина не оказалось, можно посетить страницу "download"[1] официального сайта плейера и скачать оттуда скины в виде tar.bz2-архива. Затем архив следует распаковать, и под root`ом скопировать каталогом в:
/usr/share/mplayer/skins
Примерно так это делается из консоли:
# Переходим во временный каталог user@comp:~$ cd /tmp # Скачиваем понравившийся скин (предполагается что на файл скина уже есть ссылка) user@comp:/tmp$ wget http://www.mplayerhq.hu/MPlayer/skins/bluecurve-1.3.tar.bz # Закачка завершена, проверяем наличие файла user@comp:/tmp$ ls -l -rw-r--r-- 1 user user 38231 2006-10-04 05:48 bluecurve-1.3.tar.bz2 # Распаковываем в текущую директорию user@comp:/tmp$ tar -jxvf bluecurve-1.3.tar.bz2 bluecurve/ bluecurve/iconify.png bluecurve/pos.png bluecurve/menubutt.png bluecurve/VERSION bluecurve/menu.png bluecurve/play.png bluecurve/font.png bluecurve/eqb.png bluecurve/exit.png bluecurve/font.fnt bluecurve/prev.png bluecurve/README bluecurve/pause.png bluecurve/plb.png bluecurve/next.png bluecurve/load.png bluecurve/maximize.png bluecurve/skin bluecurve/main.png bluecurve/stop.png bluecurve/menus.png bluecurve/symbols.png bluecurve/sub.png bluecurve/symbols.fnt # Архив распаковался в каталог /tmp/bluecurve user@comp:/tmp$ ls bluecurve bluecurve-1.3.tar.bz2 # Берём права root`а (можно и через sudo) user@comp:/tmp$ su # Копируем каталог /tmp/bluecurve в /usr/share/mplayer/skins/ , так чтобы получилось /usr/share/mplayer/skins/bluecurve comp:/tmp# cp -R bluecurve /usr/share/mplayer/skins/ # Проверяем, что каталог скопировался и права для каталога bluecurve установлены на чтение (r) и запуск (x) # и файлы в каталоге установлены на чтение (r) для всех пользователей, иначе не будет доступа к скину: comp:/tmp# ls -l /usr/share/mplayer/skins/ total 32 drwxr-xr-x 3 root root 4096 2009-12-29 22:59 Abyss drwxr-xr-x 2 root root 4096 2009-12-27 17:32 blue drwxr-xr-x 2 root root 4096 2010-08-15 11:38 bluecurve lrwxrwxrwx 1 root root 30 2009-12-27 17:32 default -> /etc/alternatives/mplayer-skin drwxr-xr-x 2 root root 4096 2009-12-29 22:59 MidnightLove drwxr-xr-x 2 root root 4096 2009-12-29 22:59 moonphase drwxr-xr-x 2 root root 4096 2009-12-29 22:59 new-age drwxr-xr-x 2 root root 4096 2009-12-29 22:59 softgrip drwxr-xr-x 2 root root 4096 2009-12-29 22:59 xine-lcd comp:/tmp# ls -l /usr/share/mplayer/skins/bluecurve/ total 124 -rw-r--r-- 1 root root 296 2010-08-15 11:38 eqb.png -rw-r--r-- 1 root root 632 2010-08-15 11:38 exit.png -rw-r--r-- 1 root root 1719 2010-08-15 11:38 font.fnt -rw-r--r-- 1 root root 757 2010-08-15 11:38 font.png -rw-r--r-- 1 root root 438 2010-08-15 11:38 iconify.png -rw-r--r-- 1 root root 344 2010-08-15 11:38 load.png -rw-r--r-- 1 root root 8947 2010-08-15 11:38 main.png -rw-r--r-- 1 root root 467 2010-08-15 11:38 maximize.png -rw-r--r-- 1 root root 599 2010-08-15 11:38 menubutt.png -rw-r--r-- 1 root root 15581 2010-08-15 11:38 menu.png -rw-r--r-- 1 root root 4804 2010-08-15 11:38 menus.png -rw-r--r-- 1 root root 361 2010-08-15 11:38 next.png -rw-r--r-- 1 root root 305 2010-08-15 11:38 pause.png -rw-r--r-- 1 root root 348 2010-08-15 11:38 play.png -rw-r--r-- 1 root root 305 2010-08-15 11:38 plb.png -rw-r--r-- 1 root root 375 2010-08-15 11:38 pos.png -rw-r--r-- 1 root root 372 2010-08-15 11:38 prev.png -rw-r--r-- 1 root root 42 2010-08-15 11:38 README -rw-r--r-- 1 root root 4207 2010-08-15 11:38 skin -rw-r--r-- 1 root root 300 2010-08-15 11:38 stop.png -rw-r--r-- 1 root root 924 2010-08-15 11:38 sub.png -rw-r--r-- 1 root root 477 2010-08-15 11:38 symbols.fnt -rw-r--r-- 1 root root 390 2010-08-15 11:38 symbols.png -rw-r--r-- 1 root root 4 2010-08-15 11:38 VERSION # Возвращаемся к своим родным правам. comp:/tmp# exit user@comp:/tmp$
То же самое можно сделать и с помощью любого браузера, файлового менеджера и архиватора, установленного в системе.
Использование MPlayer в примерах
Пользователь сам выбирает как работать с той или иной программой - кому-то удобен графический интерфейс, а кому-то достаточно консоли. MPlayer запускается как из консоли в текстовом варианте, так и с графическим интерфейсом. Во втором случае, пользователю доступны минимальные настройки, когда как MPlayer и вся его мощь скрыта именно в опциях запуска, которые можно дать из командной строки.
Далее речь пойдёт о использовании плейера для просмотра разнородного видео путём запуска из консоли. Примеры даются от простого к сложному с необходимыми комментариями. Предполагается что пользователь работает в графической среде (Gnome, KDE, OpenBox, LXDE и других) и запущен какой-нибудь терминал - gnome-terminat, xterm и др. , в котором и будут вводиться команды.
Перед опробованием, лучше перейти в каталог, где находится видеоколлекция, чтобы не усложнять команды длинным путём к файлу.
Например, это будет /Video
# Переходим из домашнего каталога в /Video user@comp:~$ cd /Video user@comp:/Video$
Простой просмотр файла
# Смотрим какие файлы есть в коллекции user@comp:/Video$ ls -l total 3360772 -rw-r--r-- 1 user user 1565310976 2010-03-24 09:56 2_Ohotniki_na_privideniy_2.avi # Чтож, посмотрим фильм "Охотники на привидений" :-) user@comp:/Video$ mplayer -vo xv 2_Ohotniki_na_privideniy_2.avi
Здесь:
- mplayer - собственно имя программы (для версии с графическим интерфейсом это - gmplayer );
- -vo xv - выводить поток (-vo от videoout) на Иксы (xv);
- 2_Ohotniki_na_privideniy_2.avi - собственно имя проигрываемого файла.
| Быстрый набор имени файла Для быстрого набора имени файла, достаточно набрать первые символы, а затем нажать на "Tab", при этом терминал сам донаберёт имя до полного названия.
|
При этом в консоли будет отображаться отладочная информация, которая нам потом пригодится, а в отдельном окне будет кино.
Примерно это будет выглядеть так:
Для полноэкранного просмотра можно нажать на клавишу F, а для выхода - Esc в английской раскладке клавиатуры (в некоторых дистрибутивах горячие клавиши не работают, если активна русская раскладка !!!). Также доступны и другие клавиши, описание которых найдёте в разделе "Горячие клавиши".
Останавливаем проигрывание нажатием на Esc и рассмотрим отладочную информацию.
user@comp:/Video$ mplayer -vo xv 2_Ohotniki_na_privideniy_2.avi MPlayer 1.0rc2-4.3.2-DFSG-free (C) 2000-2007 MPlayer Team CPU: Intel Celeron 2/Pentium III Coppermine,Geyserville (Family: 6, Model: 8, Stepping: 6) CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 0 Compiled with runtime CPU detection. mplayer: could not connect to socket mplayer: No such file or directory Failed to open LIRC support. You will not be able to use your remote control. Playing 2_Ohotniki_na_privideniy_2.avi. AVI file format detected. [aviheader] Video stream found, -vid 0 [aviheader] Audio stream found, -aid 1 VIDEO: [XVID] 720x304 12bpp 25.000 fps 1679.8 kbps (205.1 kbyte/s) Clip info: Software: Nandub v1.0rc2 Copyright: @$t�0phy$!�!$t Genre: Comedy Product: Movie ========================================================================== Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4) ========================================================================== ========================================================================== Opening audio decoder: [liba52] AC3 decoding with liba52 Using SSE optimized IMDCT transform Using MMX optimized resampler AUDIO: 48000 Hz, 2 ch, s16le, 320.0 kbit/20.83% (ratio: 40000->192000) Selected audio codec: [a52] afm: liba52 (AC3-liba52) ========================================================================== AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample) Starting playback... VDec: vo config request - 720 x 304 (preferred colorspace: Planar YV12) VDec: using Planar YV12 as output csp (no 0) Movie-Aspect is 2.37:1 - prescaling to correct movie aspect. VO: [xv] 720x304 => 720x304 Planar YV12 A: 2.4 V: 2.4 A-V: 0.000 ct: 0.000 62/ 62 43% 4% 3.9% 9 0 Exiting... (Quit) user@comp:/Video$
MPlayer рассказал много полезной информации о себе, компьютере, на котором запущен и проигрываемом файле. Нас в дальнейшем будет интересовать вот этот участок вывода:
Playing 2_Ohotniki_na_privideniy_2.avi. AVI file format detected. [aviheader] Video stream found, -vid 0 [aviheader] Audio stream found, -aid 1
Здесь программа сообщает, что в контейнере файла найдён видеопоток -vid 0 и аудиопоток -aid 1. Напоминаю, что в большинстве аниме-мультфильмов присутствует не по одному аудио- и видео потоку, а по нескольку, причём с различными субтитрами и кодировками. Далее в статье будут рассмотрены другие, более сложные примеры, а для таких простых файлов, какой был в примере, можно использовать mplayer с графическим интерфейсом.
Просмотр файла с внешними субтитрами
Нередко анимешники делятся фильмами с оригинальной озвучкой на японском и дополнительным файлом субтитров на русском языке. Большим плюсом просмотра видео с оригинальной озвучкой и субтитрами является неискажённое восприятие голоса актёров.
Открываем видео с внешним файлом субтитров в формате .srt
На этот раз будет аниме "FullMetal Alchemist"
# Смотрим как обзываются файлы: user@comp:/Video/Anime$ ls -l total 286540 -rw-r--r-- 1 user user 293079542 2009-03-08 00:00 FMA_01.avi -rw-r--r-- 1 user user 25193 2009-03-08 00:00 FMA_01.srt # Запускаем на просмотр: user@comp:/Video/Anime$ mplayer -vo xv -sub FMA_01.srt FMA_01.avi
Здесь появилась новая опция и параметр:
- -sub FMA_01.srt - -sub указывает, что нужно загрузить внешний файл субтитров с именем FMA_01.srt
Оп-па! А титры-то крокозабликами отображаются :-)
Причиной такому поведению плейера является несоответствие кодировки текста субтитров с кодировкой отображения. По умолчанию в большинстве дистрибутивов linux используется кодировка UTF-8. Так как большинство фансабберов работают под Windows и в большинстве случаев не обращают на это никакого внимания, титры распространяются в кодировке Windows CP-1251.
Пробуем сменить кодировку отображения на CP1251.
# Запускаем на просмотр с кодировкой отбражения cp1251: user@comp:/Video/Anime$ mplayer -vo xv -sub FMA_01.srt -subcp cp1251 FMA_01.avi
Здесь:
- -subcp cp1251 - -subcp указывает на необходимость отображать файл субтитров в заданной кодировке, а параметр cp1251 - название кодировки.
На этот раз всё отображается нормально:
Открываем видео с внешним файлом субтитров в формате .ass
В отличии от .srt, формат .ass позволяет позиционировать текст титров на изображении, подключать разнообразные шрифты для каждого события и многие другие прелести. MPlayer поддерживает такие субтитры.
Для следующего примера, запустим аниме "Sayonara Zetsubou Sensei" с внешним файлом субтитров скаченным с сайта fansubs.ru.
# Смотрим как обзываются файлы: user@comp:/Video/Anime$ ls -l total 217588 -rw-r--r-- 1 user user 67220 2010-08-08 17:11 ACD75__C.TTF -rw-r--r-- 1 user user 57960 2010-08-08 17:11 FTR55__C.TTF -rw-r--r-- 1 user user 78795 2010-08-09 17:34 Sayonara_Zetsubou_Sensei_-_01.ass -rw-r--r-- 1 user user 222293365 2010-08-09 12:15 Sayonara_Zetsubou_Sensei_-_01.mkv # Запускаем на просмотр: user@comp:/Video/Anime$ mplayer -vo xv -subcp cp1251 -ass -sub Sayonara_Zetsubou_Sensei_-_01.ass Sayonara_Zetsubou_Sensei_-_01.mkv
Здесь появилась новая опция:
- -ass - даёт команду плейеру, что .ass-титры следует обрабатывать с позиционированием. Если не поставить - независимо от координат позиционирования, все титры будут отображаться как srt - так если в строки внизу экрана.
Открываем видео со встроенными субтитрами и несколькими аудио-дорожками.
Контейнер Matroska - хорошая штука для ценителей аниме: в одном .mkv-файле можно запаковать по несколько аудио, видео и дорожек субтитров. MPlayer без проблем работает с mkv.
Для следующего примера, запустим аниме "Clannad" как простой файл, чтобы посмотреть что есть в котейнере файла.
# Смотрим как обзываются файлы: user@comp:/Video/Anime$ ls -l итого 351604 -rw-r--r-- 1 user user 359683101 Авг 11 14:01 Clannad_01.mkv # Запускаем на простой просмотр: user@comp:/Video/Anime$ mplayer -vo xv Clannad_01.mkv
Останавливаем и смотрим на вывод плейера в консоли:
user@comp:/Video$ mplayer -vo xv Clannad_01.mkv MPlayer dev-SVN-r26940 CPU: Pentium(R) Dual-Core CPU E5200 @ 2.50GHz (Family: 6, Model: 23, Stepping: 6) CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1 Compiled with runtime CPU detection. Can't open joystick device /dev/input/js0: No such file or directory Can't init input joystick mplayer: could not connect to socket mplayer: No such file or directory Failed to open LIRC support. You will not be able to use your remote control. Playing Clannad_01.mkv. [mkv] Track ID 1: video (V_MPEG4/ISO/AVC), -vid 0 [mkv] Track ID 2: audio (A_MPEG/L3) "Russian NARUTOfilm", -aid 0, -alang rus [mkv] Track ID 3: audio (A_MPEG/L3), -aid 1, -alang jpn [mkv] Track ID 4: subtitles (S_TEXT/ASS) "Hollow и Вилли", -sid 0, -slang rus [mkv] Will play video track 1. Matroska file format detected. VIDEO: [avc1] 1280x720 24bpp 23.976 fps 0.0 kbps ( 0.0 kbyte/s) ========================================================================== Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264) ========================================================================== ========================================================================== Opening audio decoder: [mp3lib] MPEG layer-2, layer-3 AUDIO: 44100 Hz, 2 ch, s16le, 192.0 kbit/13.61% (ratio: 24000->176400) Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3) ========================================================================== AO: [alsa] 44100Hz 2ch s16le (2 bytes per sample) Starting playback... VDec: vo config request - 1280 x 720 (preferred colorspace: Planar YV12) VDec: using Planar YV12 as output csp (no 0) Movie-Aspect is 1.78:1 - prescaling to correct movie aspect. VO: [xv] 1280x720 => 1280x720 Planar YV12 [ASPECT] Warning: No suitable new res found! Exiting... (Quit)
Разберём этот участок:
Playing Clannad_01.mkv. [mkv] Track ID 1: video (V_MPEG4/ISO/AVC), -vid 0 [mkv] Track ID 2: audio (A_MPEG/L3) "Russian NARUTOfilm", -aid 0, -alang rus [mkv] Track ID 3: audio (A_MPEG/L3), -aid 1, -alang jpn [mkv] Track ID 4: subtitles (S_TEXT/ASS) "Hollow и Вилли", -sid 0, -slang rus [mkv] Will play video track 1. Matroska file format detected.
В контейнере находится 4 трека (сверху вниз):
- видеодорожка -vid 0 - собственно видео;
- аудиодорожка -aid 0 с комментарием "Russian NARUTOfilm" - скорее всего это русская озвучка, на что косвенно указывает -alang rus;
- аудиодорожка -aid 1 без комментариев - скорее всего это оригинальная дорожка с японской озвучкой;
- дорожка ASS-субтитров с комментарием "Hollow и Вилли" - скорее всего русские субтитры, на что косвенно указывает -slang rus;
Теперь, зная что находится в контейнере, можно без проблем выбрать то, что надо.
Запустим на просмотр видео с русской озвучкой и без субтитров:
user@comp:/Video$ mplayer -vo xv -aid 0 Clannad_01.mkv
или
user@comp:/Video$ mplayer -vo xv -alang rus Clannad_01.mkv
Здесь:
- -aid 0 - (от audio id) указывает на открытие аудиодорожки номер 0;
- -alang rus - (от audio language ) указывает на открытие русской аудиодорожки.
Другими словами, конкретные опции aid и alang берутся из вышеописанного участка вывода. Зная это, теперь запустим на просмотр видео с оригинальной озвучкой и с русскими субтирами:
user@comp:/Video$ mplayer -vo xv -aid 1 -sid 0 -ass Clannad_01.mkv
или
user@comp:/Video$ mplayer -vo xv -alang jpn -slang rus -ass Clannad_01.mkv
Обратите внимание, что во втором случае, sid и aid заменены на slang и alang, но результат тот же, так как в самом mkv-файле задано соответствие sid c slang и aid c alang! (см. вывод выше)
Здесь:
- -aid 0 или -alang jpn указывают на аудиодорожку на японском языке;
- -sid 0 или -slang jpn указывают на дорожку субтитров на русском языке;
- -ass - указывают плейеру обрабатывать дорожку ass-субтитров с позиционированием.
Просмотр DVD
Раздел ищет своего автора :-)
Информация для углублённого изучения
Здесь описываются дополнительные опции и клавиши, нужные для работы с MPlayer.
Горячие клавиши
Раздел ищет своего автора для описания остальных интересных клавиш :-)
Опции отображения субтитров
Раздел ищет своего автора для описания интересных опций :-)
Опции постобработки видео- и аудио- потоков
Раздел ищет своего автора для описания интересных опций :-)
Ссылки
Ресурсы
- Обсуждение статьи в "Cообществе" Зея.org
- Официальный сайт проекта MPlayer http://www.mplayerhq.hu/
- Документация по MPlayer на русском языке http://www.mplayerhq.hu/design7/documentation-ru.html
Это — незавершённая статья!
Вы можете помочь проекту, дополнив, расширив и закончив её!