Информация о том, какие пакеты необходимо установить для поддержки несвободных форматов в той или иной версии дистрибутива, дана на https://wiki.ubuntu.com/RestrictedFormats (https://wiki.ubuntu.com/RestrictedFormats).
Видеопроигрыватель MPlayer
Это одно из самых известных решений по причине его мощной функциональности. Его разработку начал в 2000 году венгр Арпад Герефи (Arpad Gere?ffy), некоторое время это был проект одного человека, но постепенно к нему присоединялись другие разработчики изо всех стран мира. Сайт проекта размещен по адресу http://www.mplayerhq.hu/ (http://www.mplayerhq.hu/). Изначально MPlayer был ориентирован на поддержку максимального количества аудио– и видеоформатов, и сегодня их список впечатляет. Это CD, DVD, Video CD, файлы AVI, ASF/WMV/WMA, QT/MOV/MP4, RealMedia, Ogg Vorbis, Matroska и другие, записанные с видеокодеками DivX, MPEG-1, MPEG-2, MPEG-4, WMV, RealVideo, x264 и аудиокодеками MP3, Vorbis, RealAudio, AC3/A52 (Dolby Digital), AAC, QuickTime, WMA, а также многими другими. Поддерживается потоковое воспроизведение через HTTP/FTP, RTP/RTSP, MMS/MMST, MPST и SDP. Отдельная утилита MEncoder обеспечивает захват и запись телевизионного сигнала и кодирование файлов в различные форматы. Большинство аудио– и видеоформатов поддерживаются свободной библиотекой libavcodec, выпускающейся для MPlayer. Этой библиотеки, использующей код другого проекта FFmpeg, и ее возможностей вполне достаточно для воспроизведения DVD и файлов в различных форматах. Поддержка закрытых форматов реализована за счет подключения внешних DLL. Для добавления нового формата необходимо скопировать нужный кодек с расширением DLL в каталог /usr/lib/codecs и перезапустить проигрыватель. Поддерживаются вывод внешних субтитров в 12 форматах (MicroDVD, SubRip, OGM, SubViewer, Sami, VPlayer, RT, SSA (а также ASS), AQTitle, JACOsub, PJS и свой собственный MPsub) и субтитры DVD (потоки SPU, VOBsub и Closed Captions), представленные в различных кодировках, в том числе и кириллической.
Первое время MPlayer был доступен исключительно в виде исходных кодов, и пользователи были вынуждены компилировать его самостоятельно. Сегодня одноименный пакет можно найти в репозитарии любого дистрибутива. Работает он не только в Linux, но и в большинстве современных операционных систем, в частности MPlayer можно запустить в Linux, FreeBSD, NetBSD, OpenBSD, Darwin, Mac OS X, BeOS, QNX, Solaris, Irix, HP-UX, AIX и других разновидностях UNIX, а также есть версии для Microsoft Windows и порты для AmigaOS, AROS и MorphOS. Для вывода изображения MPlayer может использовать самые разнообразные устройства – X11, Quartz Compositor, DirectX, VESA, SDL, VIDIX, DGA, Framebuffer, GGI, включая такое своеобразное устройство вывода, как ASCII-Art и Color ASCII-Art, то есть имеется возможность смотреть видео в чистой консоли или вообще в текстовом режиме. Стандартная консольная версия не имеет графического интерфейса – все управление осуществляется с помощью клавиатуры или пульта дистанционного управления (если настроен пакет LIRC (Linux Infrared Remote Control – дистанционное инфракрасное управление), http://www.lirc.org/ (http://www.lirc.org/)). В этом режиме на экране отображается только окно с воспроизводимым видео. Для воспроизведения фильма в таком варианте достаточно ввести в консоли mplayer имя_файла. Дополнительно в консоль будет выводиться информация о загруженном файле, используемых кодеках, количестве пропущенных кадров и прочее.
Возможность просмотра видео в консоли при помощи MPlayer не осталась незамеченной. Существуют специальные дистрибутивы вроде GeeXboX (http://www.geexbox.org/en/index.html (http://www.geexbox.org/en/index.html)), MoviX (http://movix.sourceforge.net/ (http://movix.sourceforge.net/)) и другие. В этих дистрибутивах удалено все лишнее, начиная от авторизации пользователя до запуска ненужных сервисов, и оставлено только то, с помощью чего можно посмотреть фильм и послушать музыку. Поддерживаются все популярные форматы, в том числе и трансляции потокового видео и аудио. Принцип их работы следующий. Вначале создается загрузочный диск, содержащий операционную систему, туда же помещаются выбранные фильм и музыка. После этого компьютер загружается с этого диска, и пользователь может смотреть видео и слушать музыку.
Графические оболочки к MPlayer
В MPlayer есть и графические оболочки. После установки в Kubuntu пакетов mplayer и mplayer-skins в меню, появляющемся после выполнения команды K ? Мультимедиа, появится пункт MPlayer Media Player, выбор которого приведет к запуску MPlayer с графической оболочкой (рис. 3.3).
Рис. 3.3. Графическая оболочка GMPlayer
Из консоли вызвать его можно командой gmplayer. Поддерживаются скины, изменение размеров экрана, соотношения сторон фильма и прочие возможности, присущие современным видеопроигрывателям. Для настройки его работы не нужно знать параметры командной строки и сочетания клавиш, все необходимое можно настроить, используя меню Preferences (Установки).
Есть также решения сторонних разработчиков, улучшающие внешний вид и функциональность MPlayer. Например, это проигрыватель KMPlayer (Konqueror Media Player), разрабатываемый проектом KDE (http://kmplayer.kde.org/ (http://kmplayer.kde.org/)), появившийся как модуль к файловому менеджеру Konqueror, а затем превратившийся в самостоятельное решение (рис. 3.4).
Рис. 3.4. Интерфейс KMPlayer
Вероятно, поэтому он хорошо интегрируется в эту среду. В отличие от GMPlayer, интерфейс KMPlayer локализуется вместе с рабочей средой, его внешний вид соответствует используемой теме оформления, меню стандартно для приложений KDE, и многие настройки (например, прокси-сервера) берутся прямо из Konqueror. Выполнив команду Настройка ? Настроить KMPlayer, можно обнаружить, что за простотой оформления скрываются большие возможности. Так, кроме MPlayer, он может выводить видео, используя библиотеки других проигрывателей (Xine и Gstreamer), захватывать видео с ТВ-тюнеров, используя MEncoder, FFMpeg, Xine и MPLayer, автоматически воспроизводить Video CD или DVD, выводить видео и аудио, используя различные драйверы, и многое другое. Для часто посещаемых ресурсов прямо из кода можно составлять закладки. Здесь можно найти все стандартные функции, присущие проигрывателям, – изменение размера экрана, поддержку плейлистов в различных форматах, в том числе и транслируемых через RSS, и прочее. Для установки KMPlayer в Kubuntu достаточно ввести sudo apt-get install kmplayer.
Kaffeine (http://kaffeine.sourceforge.net/ (http://kaffeine.sourceforge.net/)) – это видеопроигрыватель, который используется в Kubuntu по умолчанию (рис. 3.5). Он, как и KMPlayer, хорошо интегрируется в среду KDE, при желании его значок можно встроить в панель и управлять им оттуда. В настройках по умолчанию для вывода используется библиотека xine-lib, но при необходимости это может быть и MPlayer, а с версией 0.7 разработчики добавили поддержку и GStreamer.
Рис. 3.5. Окно Kaffeine
Следовательно, Kaffeine теперь поддерживает три наиболее популярных движка для вывода видео и по возможностям не уступает KMPlayer. Выбрать нужный движок можно выполнением команды Настройка ? Движок вывода; если установлена нужная программа или библиотека, появится соответствующий пункт. Поддержка такого количества движков приводит к тому, что с воспроизведением файлов в различных форматах и кодеков у Kaffeine нет проблем. Это может быть звуковой или видеофайл, потоковое вещание, DVD, Video CD, Аудио CD, DVB (Digital Video Broadcasting – цифровое видеовещание) и другие. При работе с DVB-картами это самое удобное приложение.
При помощи Kaffeine можно также захватить аудиодиск, DVB и потоковое вещание, сохранив информацию в файл на жестком диске. Файл или поток, воспроизводимый при помощи Kaffeine, можно транслировать в локальную сеть. Для этого необходимо выполнить команду Файл ? Сетевое вещание ? Транслировать поток и указать номер порта, на который будет отсылаться информация. Поддерживается работа с плейлистами, их экспорт и импорт. При установленном флажке Autodownload covers (Автозагрузка обложек) Kaffeine будет самостоятельно скачивать обложки проигрываемых альбомов. Параметры пункта Опции выхода в меню Файл позволяют автоматически выключать компьютер или закрывать проигрыватель по окончании воспроизведения. При запуске проигрывателя не щелчком на файле, а из меню К появится окно, в котором можно выбрать действие (см. рис. 3.5).
Видеопроигрыватель Totem (рис. 3.6) (http://www.gnome.org/projects/totem/ (http://www.gnome.org/projects/totem/)), в отличие от предыдущих, построен специально для среды GNOME (хотя его можно запускать и, например, в KDE) и, начиная с версии 2.10, официально входит в ее состав. Хорошо интегрируется в GNOME и файловый менеджер Nautilus. Для вывода видео используются библиотеки GStreamer, но вместо них можно подключить Xine. С его помощью можно просмотреть видеофайлы во многих стандартах, DVD, VCD, CD и потоковое вещание. Поддерживаются плейлисты, вывод видео на несколько мониторов, ТВ-выход видеокарты, субтитры, мультиканальный звук, дистанционное управление при помощи LIRC, различные эффекты при воспроизведении аудиофайлов, предосмотр видеофайлов и многое другое. Есть плагин для веб-браузера Mozilla.
Рис. 3.6. Окно видеопроигрывателя Totem
По умолчанию Totem используется в качестве проигрывателя в дистрибутиве Ubuntu. Чтобы увидеть его в Kubuntu, следует выполнить команду sudo apt-get install totem.
Видеопроигрыватель Xine
Хine – это видеопроигрыватель, основная функциональность которого заключается в разделяемой библиотеке хine-lib, которая поддерживает многочисленные фронт-энды. Разработчики предагают только один из них – хine-ui (рис. 3.7). При этом номера хine-lib и хine-ui часто не совпадают, но это не должно пугать. Другими словами, проигрыватель имеет модульную конструкцию, его графическая оболочка отделена от программы воспроизведения, что позволяет использовать альтернативную. Любой новый кодек можно добавить на лету, при каждом запуске приложение обновляет их список.
Рис. 3.7. Cкин по умолчанию в xine-ui
В Kubuntu для установки используйте пакет хine-lib и один из понравившихся фронт-эндов, найти которые можно, введя sudo apt-cache search хine. Это могут быть пакеты хine-ui, gхine, oхine (целый медиацентр на его базе) или любой проигрыватель, о котором говорилось ранее. Как вы уже видели, библиотеку хine-lib используют во многих подобных проектах. Хотя Xine при воспроизведении некоторых форматов также требует сторонние библиотеки, как, например, liba52, libmpeg2, FFmpeg, libmad, FAAD2, и для доступа к зашифрованным Video DVD – libdvdcss. Как и в MPLayer, поддержка остальных форматов может быть реализована путем подключения двоичных кодеков. Стоит также отметить, что Xine отлично работает с потоками MPEG2-TS, которые используются при кодировании сигналов спутникового ТВ, получаемого с DVB-карт (тот же MPlayer приходится перезапускать каждый раз при переключении каналов).
Официальный сайт проекта расположен по адресу http://xinehq.de/ (http://xinehq.de/). Проект возник в 2000 году, когда его основатель Гюнтер Бартш посетил LinuxTag (ежегодная выставка, посвященная свободным продуктам, проходящая в Германии), где познакомился с процессом воспроизведения DVD в Linux. В то время это был настоящий кошмар для пользователя данной системы. До версии 0.5 проигрыватель работал нестабильно, но после его стали рекомендовать пользователям. Одним из несомненных достоинств этого проигрывателя является возможность вручную замедлять (клавиша N) и ускорять (M) аудиопоток по отношению к видеопотоку.
После установки, особенно если она производилась из исходных текстов, чтобы не настраивать все параметры вручную, желательно запустить утилиту хine_check, которая поможет автоматически сделать все настройки, необходимые для нормальной работы программы (сервер звука, видеодрайвер и так далее). После этого можно запускать программу. Внешний вид интерфейса, идущего в комплекте, можно изменить с помощью скинов. Сделать их доступными для программы можно, распаковав полученный архив в $prefix/share/xine/skins (установив права 755) или лучше – в $HOME/.xine/skins. Проигрыватель работает со всеми возможными форматами файлов, а также с различными видео– и аудиокодеками. Возможен также запуск с различными драйверами аудио (OSS, ALSA, aRts и другие) и видео (Xvideo, XShm, OpenGL, SDL, ASCII Art library, Syncfb, framebuffer), имеющимися в Linux. При запуске в командной строке программе можно передать некоторые параметры и просмотреть результат ее работы, включая возможные ошибки и количество выпавших кадров. Например, параметр -A позволяет задать используемый аудиодрайвер, и иногда после запуска, если перед этим его неправильно установили в параметрах, Xine заканчивает работу. В случае если вы не знаете вообще, какой драйвер может использоваться, можно набрать -A null и затем установить его при помощи настроек. Аналогично этому для видео есть параметр -V. Все значения затем автоматически записываются в конфигурационный файл ~/.Xine/config. Параметр -f позволяет запустить воспроизведение сразу в полноэкранном режиме, -g – спрятать графическую оболочку после старта, -B выводит окно без рамки вокруг, -p запускает воспроизведение сразу после активации, а параметр -G WxH[+X+Y] позволяет задать размер и положение окна просмотра. Например, хine -G 800x600 установит размер окна 800 x 600 пикселов, а если запустить проигрыватель с параметром -n, появляется интересная возможность управлять Xine через сеть. Для реализации этого необходимо создать файл ~/.Xine/passwd и в нем добавить строки, разрешающие пользователям подключаться, иначе вы получите сообщение вроде «ERROR: there is no password file for network access.!». В самом общем случае там может быть прописана строка ALL:ALLOW, разрешающая управление всем пользователям. Теперь в файл /etc/services добавьте следующую строку:
Xinectl 6789/tcp # Xine control
Для подключения к Xine по сети следует использовать программу telnet.
$ telnet localhost 6789
Теперь для получения списка доступных команд введите help, а об используемых далее командах можно узнать, набрав help название команды или syntax название команды.
Есть еще один интересный параметр – MRL (media resource locator – локатор медиаресурсов). Запустив с ним Xine, можно передать в него видеофайл, набрав путь к нему в строке web-браузера: file://<путь>, fifo://<путь>, stdin://mpeg2, tcp://<узел>:<порт>, http://<узел>, vcd://<номер дорожки>. Это удобная возможность смотреть видео через Интернет.
Xine можно управлять с помощью комбинаций клавиш. Перезакрепить их можно в файле ~/.xine/keymap, который имеет вполне понятную структуру. Необходимо учитывать, что клавиша расширения соответствует Alt на клавиатуре. Кроме вышеперечисленных конфигурационных файлов, чтобы не задавать каждый раз аргументы в командной строке, можно использовать дополнительно файл ~/.xine/xinerc, например:
–geometry 800x600+0+0
–network
–hide-gui
–p
Теперь при запуске Xine программа запустится в окне размером 800 х 600, включится сервер удаленного управления и автоматически – воспроизведение видеофайла без графической оболочки.
Музыкальные проигрыватели
Большая часть программ, о которых говорилось выше, без проблем воспроизводят музыкальные файлы и диски, однако удобнее использовать специальные приложения и утилиты для этих целей. Здесь, как и в случае с видео, выбор очень широк. Поиск в репозитарии по запросу sudo apt-cache search sound выдаст большое количество приложений. Так, на слабых компьютерах (начиная от процессора i486) для воспроизведения MP3 можно использовать консольную утилиту mpg123 (http://www.mpg123.org/ (http://www.mpg123.org/)) или ее аналог mpg 321 (http://mpg321.depooter.org/project/ (http://mpg321.depooter.org/project/)). Достаточно перейти в каталог, в котором находятся такие файлы, и выполнить команду mpg123 ./*.mp3. Все файлы, находящиеся в нем, будут воспроизведены. Несмотря на кажущуюся простоту, это мощные утилиты. Кстати, многие проигрыватели, в том числе и Winamp, используют mpg123 для воспроизведения MP3-файлов. Для файлов Ogg Vorbis есть аналогичная утилита – ogg123. Существуют консольные утилиты, имеющие псевдографический интерфейс. Например, mp3blaster (http://mp3blaster.sourceforge.net/ (http://mp3blaster.sourceforge.net/)), диалоговая программа с простым интерфейсом (рис. 3.8), умеющая воспроизводить аудиофайлы не только формата MP3, но и Ogg Vorbis, WAV и SID.
Рис. 3.8. Окно mp3blaster
Это один из немногих текстовых аудиопроигрывателей, допускающих полное интерактивное управление в процессе воспроизведения с возможностью создания гибких списков без прерывания процесса проигрывания. Плеер воспроизводит большинство форматов MP3 и имеет полноценный встроенный микшер.
В качестве альтернативы mp3blaster могут выступать playmp3list (сайт http://rucus.ru.ac.za/~urban/projects/playmp3list/ (http://rucus.ru.ac.za/~urban/projects/playmp3list/)) или MOC (Music On Console, http://moc.daper.net/ (http://moc.daper.net/)), являющиеся неплохими консольными фронтэндами для mpg123. Проигрывателю PyTone (http://www.luga.de/pytone/ (http://www.luga.de/pytone/)) достаточно указать каталог, в котором находятся музыкальные файлы. Он просканирует коллекцию, и пользователь сможет быстро составить плейлист. Поддерживается большое количество горячих клавиш, поэтому пользоваться программой просто, имеется также поиск мелодий, вывод информации в ID3-теге и изменение скорости воспроизведения.