В мире существует великое множество мультимедиа-плейеров, работающих на разных операционных системах. Среди них как стандартные плейеры в системе, например Windows Media Player - для Windows, QuickTime, iTunes - для Apple Macintosh, totem - для среды Gnome, так свободно-разрабатываемые и\или кросс-платформенные программы: vlc, mplayer, LightAllow, kmplayer, xine и другие.

У каждой программы есть свои приемущества и недостатки, своё сообщество разработчиков и поклонников.

В этой статье речь пойдёт о плейере MPlayer и его использовании в Linux для просмотра различных медиа-файлов.

Установка MPlayer

Для каждого конретного дистрибутива существует своя процедура установки, но лучшим и быстрым способом будет установка из пакетов программ дистрибутива. Несколько слов о версиях MPlayer: в разных дистрибутивах и даже в разных оконных средах (KDE, Gnome, и тд.) может устанавливаться своя, доработанная версия плейера, которая может иметь, свой особенный функционал или оформление. Универсальный вариант - установка, запуск и работа в консольной версии.

Установка в Debian Linux

 # apt-get install mplayer

Система также доустановит нужные пакеты для разрешения зависимостей. Можно воспользоваться системой управления пакетами synaptic.

Для среды KDE существует пакет kmplayer. Если по умолчанию Вы работаете в среде Gnome, mplayer установится с графическим интерфейсом.

Mplayer в Debian Linux в среде Gnome

Установка в ArchLinux

Установка консольной версии:

 # pacman -S mplayer

Установка плейера для среды Gnome:

 # pacman -S gnome-mplayer

Как и в случае с Debian, система может доустановить нужные пакеты для разрешения зависимостей.

Mplayer в ArchLinux в среде Gnome

Можно также скачать с официального сайта исходный код и вручную собрать его, правда при этом потребуется доустанавливать различные библиотеки для разрешения зависимостей.

Установка скинов к MPlayer в Debian

Кому не приглянулся внешний вид, можно сменить скин на какой-нибудь другой. Для этого открываем плейер и через правую кнопку мыши на окне проигрывателя, в меню, выбираем опцию "Skin Browser".

Главное меню настроек Меню выбора скина

Если понравившегося скина не оказалось, можно посетить страницу "download" официального сайта плейера и скачать оттуда скины в виде tar.bz2-архива. Затем архив следует распаковать, и под root`ом скопировать каталогом в:

 /usr/share/mplayer/skins 

Примерно так это делается из консоли:

  -  Переходим во временный каталог
$ cd /tmp

  -  Скачиваем понравившийся скин (предполагается что на файл скина уже есть ссылка)
$ wget http://www.mplayerhq.hu/MPlayer/skins/bluecurve-1.3.tar.bz

  -  Закачка завершена, проверяем наличие файла
$ ls -l
-rw-r--r-- 1 user user 38231 2006-10-04 05:48 bluecurve-1.3.tar.bz2

  -  Распаковываем в текущую директорию
$ 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
$ ls
bluecurve
bluecurve-1.3.tar.bz2 

  -  Берём права root`а (можно и через sudo)
$ su -

  -  Копируем каталог /tmp/bluecurve в /usr/share/mplayer/skins/ , так чтобы получилось /usr/share/mplayer/skins/bluecurve
# cp -R bluecurve /usr/share/mplayer/skins/

  -  Проверяем, что каталог скопировался и права для каталога bluecurve установлены на чтение (r) и запуск (x) 
  -  и файлы в каталоге установлены на чтение (r) для всех  пользователей, иначе не будет доступа к скину:

# 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

# 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

  -  Возвращаемся к своим родным правам.
# exit 

То же самое можно сделать и с помощью любого браузера, файлового менеджера и архиватора, установленного в системе.

Использование MPlayer в примерах

Пользователь сам выбирает как работать с той или иной программой - кому-то удобен графический интерфейс, а кому-то достаточно консоли. MPlayer запускается как из консоли в текстовом варианте, так и с графическим интерфейсом. Во втором случае, пользователю доступны минимальные настройки, когда как MPlayer и вся его мощь скрыта именно в опциях запуска, которые можно дать из командной строки.

Далее речь пойдёт о использовании плейера для просмотра разнородного видео путём запуска из консоли. Примеры даются от простого к сложному с необходимыми комментариями. Предполагается что пользователь работает в графической среде (Gnome, KDE, OpenBox, LXDE и других) и запущен какой-нибудь терминал - gnome-terminat, xterm и др. , в котором и будут вводиться команды.

Перед опробованием, лучше перейти в каталог, где находится видеоколлекция, чтобы не усложнять команды длинным путём к файлу.
Например, это будет /Video

Переходим в каталог с видеоколлекцией, например /Video :

$ cd /Video

Простой просмотр файла

Смотрим какие файлы есть в коллекции:

$ ls -l
total 3360772
-rw-r--r-- 1 user user 1565310976 2010-03-24 09:56 2_Ohotniki_na_privideniy_2.avi

Чтож, посмотрим фильм "Охотники на привидений" :-)

$ mplayer -vo xv 2_Ohotniki_na_privideniy_2.avi

Здесь:

  • mplayer - собственно имя программы (для версии с графическим интерфейсом это - gmplayer );
  • -vo xv - выводить поток (-vo от videoout) на Иксы (xv). В более позних версиях MPlayer \ XOrg, вместо xv надо применять x11;
  • 2_Ohotniki_na_privideniy_2.avi - собственно имя проигрываемого файла.

Быстрый набор имени файла
Для быстрого набора имени файла, достаточно набрать первые символы, а затем нажать на "Tab", при этом терминал сам донаберёт имя до полного названия.

При этом в консоли будет отображаться отладочная информация, которая нам потом пригодится, а в отдельном окне будет кино. Примерно это будет выглядеть так:

Запуск mplayer из консоли

Для полноэкранного просмотра можно нажать на клавишу 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".
Смотрим как обзываются файлы:

$ 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

Запускаем на просмотр:

$ mplayer -vo xv -sub FMA_01.srt FMA_01.avi

Здесь появилась новая опция и параметр: -sub FMA_01.srt

  • -sub указывает, что нужно загрузить внешний файл субтитров с именем FMA_01.srt

Оп-па! А титры-то не отображаются как надо!

Некорректное отображение субтитров

Причиной такому поведению плейера является несоответствие кодировки текста субтитров с кодировкой отображения. По умолчанию в большинстве дистрибутивов linux используется кодировка UTF-8. Раньше фансабберы по бОльшей части выкладывали субтитры в кодировке Windows - CP-1251, а сейчас всё чаще попадаются субтитры в кодировке UTF-8.

Пробуем сменить кодировку отображения на CP1251:

$ mplayer -vo xv -sub FMA_01.srt -subcp cp1251 FMA_01.avi

Здесь: -subcp cp1251

  • -subcp указывает на необходимость отображать файл субтитров в заданной кодировке, а параметр cp1251 - название кодировки.

Либо в кодировке UTF-8:

$ mplayer -vo xv -sub FMA_01.srt -subcp utf8 FMA_01.avi

На этот раз всё отображается нормально:

Корректное отображение субтитров

Открываем видео с внешним файлом субтитров в формате .ass

В отличии от .srt, формат .ass позволяет позиционировать текст титров на изображении, подключать разнообразные шрифты для каждого события и многие другие прелести. MPlayer поддерживает такие субтитры.
Для следующего примера, запустим аниме "Sayonara Zetsubou Sensei" с внешним файлом субтитров скаченным с сайта fansubs.ru.

Смотрим как обзываются файлы:

$ 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

Запускаем на просмотр:

$ 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" как простой файл, чтобы посмотреть что есть в котейнере файла: Смотрим как обзываются файлы:

$ ls -l
итого 351604
-rw-r--r-- 1 user user 359683101 Авг 11 14:01 Clannad_01.mkv

Запускаем на простой просмотр:

$ 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;

Теперь, зная что находится в контейнере, можно без проблем выбрать то, что надо.
Запустим на просмотр видео с русской озвучкой и без субтитров:

$ mplayer -vo xv -aid 0 Clannad_01.mkv 

или

$ mplayer -vo xv -alang rus Clannad_01.mkv 

Здесь:

  • -aid 0 - (от audio id) указывает на открытие аудиодорожки номер 0;
  • -alang rus - (от audio language ) указывает на открытие русской аудиодорожки.

Другими словами, конкретные опции aid и alang берутся из вышеописанного участка вывода. Зная это, теперь запустим на просмотр видео с оригинальной озвучкой и с русскими субтирами:

$ mplayer -vo xv -aid 1 -sid 0 -ass Clannad_01.mkv  

или

$ 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.

Горячие клавиши

Клавиша Функция
и Шаг назад\вперёд на 10 секунд
и Шаг назад\вперёд на 1 минуту
PageUp и PageDown Шаг назад\вперёд на 10 минут
< и > Перемещение по плей-листу
p или SPACE Пауза воспроизведения
q и ESC Остановка воспроизведения и выход
+ и - Установка задержки аудио (относительно видеодорожки) по 0,1 сек.
o Режим отображения времени поверх видео
* и / Регулировка громкости (PCM-канал)
x и z Установка задержки отображения субтитров по 0,1 сек.
r и t Установка позиции отображения субтитров на экране.
f Переход в полноэкранный режим.

Раздел ищет своего автора для описания остальных интересных клавиш :-)

Опции отображения субтитров

Раздел ищет своего автора для описания интересных опций :-)

Опции постобработки видео- и аудио- потоков

Раздел ищет своего автора для описания интересных опций :-)

Смотрите также

Печать/экспорт