На сегодняшний день из программ, предназначенных для проигрывания видеофайлов под Linux, правит бал Mplayer (http://www.mplayerhq.hu). Восторженные описания этой программы можно найти практически на любом сайте, посвященном свободным операционным системам. А поскольку исходные коды и проигрывателя, и ядра одинаково доступны, немудрено, что стали появляться даже дистрибутивы ОС, основное назначение которых сводится исключительно к воспроизведению видео.
Не верите зайдите на сайты дистрибутивов movix (http://movix.sourceforge.net) и ByzantineOS (http://byzgl.sourceforge.net); кстати, эти дистрибутивы действительно позволяют выжать все возможное из компьютера при просмотре видео, т.е. если и они не помогут, выход один апгрейд. Полностью согласен. Программа действительно отличная, но большинство ее достоинств можно оценить лишь в том случае, если удастся запомнить хотя бы один из множества ключей запуска. Как кому, но если я с удовольствием запоминаю специальных утилит и программ (команды find, например), то запуская фильм, хочу просто расслабиться. Но Mplayer еще установить нужно. Для нормальной установки он требует GCC 2.95 или 3.0 и выше, если же у вас злополучный GCC 2.96, придется тянуть из сети дополнительно 20 Мб, иначе вам так и не увидеть работающий Mplayer. И кстати, если даже архив с новым GCC перекочует из Сети к вам на диск, не факт, что вы его установите: иногда эта задача под силу только программисту, разбирающемуся в Makefile. Можно, конечно установить из rpm, но в этом случае можем потерять преимущества оптимизации под процессор. И уже достало постоянно всплывающее сообщение, что моя система «too slowly», я и без него это прекрасно знаю. Да и фронт-энд его мне не нравится.
В то же время тихо и спокойно без всякого ажиотажа развивался другой проигрыватель. И называется он xine. Мое первое знакомство с данным видеопроигрывателем закончилось удалением последнего по причине крайне нестабильной работы, но это был первый проигрыватель, с помощью которого удалось посмотреть фильм в формате MPEG4 под Linux. Это была далекая уже версия 0.5. Как понимаете, это событие ну просто не могло не запомниться, в результате этот player запал мне в память, и хотя на моем компьютере прижился и mplayer, именно xine доныне является основной программой просмотра видео. Но прогресс не стоял на месте, теперь номер библиотек достиг уже 1-beta2, и не за горами, я думаю, финальный релиз. Так что можно уже делать выводы.
Установка. Найти xine в Интернете можно по адресу http://xine.sourceforge.net. Поддерживаемые платформы и операционные системы GNU/Linux (x86, alpha, sparc и ppc), FreeBSD (x86), Solaris (sparc и x86), Irix. Кроме самого проигрывателя xine-ui необходимо скачать и библиотеку xine-lib с тем же или даже большим номером версии. Забегая вперед скажу, что стоило мне установить самую последнюю библиотеку (сам плейер пока только 0.9.17 версии), и xine стало не узнать изображение стало чище, и тормоза пропали. Дополнительно, если смотрите видео DVD, скачайте и установите и xine-vcdx плагин, обеспечивающий удобство управления. Если у вас уже была установлена более ранняя версия xine, ее обязательно перед установкой необходимо удалить: # rpm -e xine*. Иначе программа не захочет устанавливаться, сославшись на наличие старых файлов библиотек. Конфигурировать особо ничего не нужно, программа сама находит все необходимое для работы, поэтому можно обойтись стандартными ./configure && make && make install. Для пользователей rpm-based дистрибутивов, наверное, лучшим вариантом будет предварительная сборка пакета (rpm -ta). Первым делом устанавливаем библиотеки, затем уже сам проигрыватель; если на этом этапе программа установки будет ругаться, необходимо добавить к значению переменной LD_LIBRARY_PATH путь к библиотекам export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH, или лучше всего, если сам себе root, добавить новое значение в файл /etc/ld.so.conf и обновить базу #/sbin/ldconfig.
После установки, чтобы не настраивать все вручную, желательно запустить утилиту xine-check, которая поможет автоматически установить необходимые параметры, необходимые для нормальной работы программы (сервер звука, видеодрайвер и т.д.), при этом внимательно просмотрите выводимую информацию там будет список всех программ и кодеков, установленных в системе. После этого уже можно запускать программу. Разработчики утверждают, что полная скорость передачи кадров для mpeg-2 будет достигнута на PII 400 МГц. В принципе, согласен: на моем 300-м Целероне (разогнаном до 333 МГц установкой шины 75 МГц) большинство фильмов идут без заметных тормозов. Проигрыватель имеет модульную конструкцию: у него отделена графическая оболочка от непосредственно программы воспроизведения, что позволяет использовать альтернативную (о них ниже), вдобавок, любой новый кодек можно добавить без проблем «на лету» программа при каждом запуске проверяет их наличие. Все модули программы могут быть оптимизированы под инструкции MMX, SSE и 3Dnow!, реализована поддержка мультипроцессорных систем. Как водится, интерфейс можно изменить с помощью скинов. Чтобы сделать их доступными для программы, необходимо после скачивания распаковать в $prefix/share/xine/skins/ (установив права 755), а лучше в $HOME/.xine/skins/. Плейер работает со всеми мыслимыми и немыслимыми форматами файлов, а также с различными видео- и аудиокодеками, о большинстве из которых я даже не слышал. Вот только поддержка формата QuickTime нормально реализована только в последних библиотеках. Дополнительно возможен запуск с различными аудио- (OSS (в большинстве случаев используйте его), ALSA, aRts, ESD, Irix и Sun Audio) и видеодрайверами (Xvideo, XShm, OpenGL, SDL, ASCII Art library, Syncfb, framebuffer) применяемыми в Linux. Единственное, с чем может отказаться работать программа, это с зашифрованными DVD-дисками. Это ограничение возникло по причине возможного юридического преследования, но если есть острая необходимость, зайдите для получения дополнительной информации на http://dvd.sourceforge.net и дополнительно, чтобы иметь возможность изменить значение региона, скачайте утилиту http://www.linuxtv.org/download/dvd/dvd_disc_20000215.tar.gz.
При запуске программе из командной строки можно передать ряд параметров и просмотреть результат работы программы, включая возможные ошибки и количество выпавших кадров. Например, параметр -A позволяет задать аудиодрайвер. Если последний неправильно установлен в опциях, иногда после запуска xine заканчивает работу. Если вообще не знаете, который из них используется, можно набрать -A null и затем установить с помощью Option. Аналогично, для видео есть параметр -V. Все значения затем автоматически записываются в конфигурационный файл ~/.xine/config. Параметр -f позволяет запустить воспроизведение сразу в полноэкранном режиме, -g спрятать графическую оболочку после старта, -B выводит окно без рамки вокруг, -p запускает воспроизведение сразу после активации, а параметр -G WxH[+X+Y] позволяет задать размер и положение окна просмотра. Например, xine -G 800x600 установит размер окна равным 800600 пикселей. А вот если запустить проигрыватель с опцией -n, то появится интересная возможность управлять xine через сеть. Для этого необходимо создать файл ~/.xine/passwd и в нем добавить строки, разрешающие пользователям подключаться; в самом общем случае там может быть прописана строка ALL:ALLOW, разрешающая управление всем пользователям. Теперь в файл /etc/services добавьте строку:
Теперь, введя #telnet localhost 6789, можно подключиться к xine:
Об используемых далее командах можно узнать, набрав help [command] или syntax <command>.
Есть еще интересная опция, называемая MRL (media resource locator). Запустив с ней xine, можно передать на него видеофайл, набрав путь к нему в строке web-браузера, например:
Очень удобная возможность посмотреть видео из Интернета. Правда, с Konqueror'ом у меня ничего не получилось, зато с Mozill’ой работает просто отлично.
И конечно же, хine можно управлять с помощью комбинаций клавиш. Перезакрепить их все можно в файле ~/.xine/keymap, который имеет вполне понятную структуру. Необходимо только учитывать, что meta key соответствует Alt на клавиатуре. Наиболее часто используемые приведу ниже:
0..9 устанавливают просмотр на позицию 10%..90%;
A установить режим просмотра AUTO/16:9/4:3/DBV;
Alt+C вывести/спрятать окно настройки видео;
F переключение в широкоэкранный режим и обратно;
G убрать/показать графический интерфейс;
H то же, применительно к окну воспроизведения (очень выручает, когда начальник входит) :-);
Ctrl+M включение/выключение звука;
T снять snapshot;
Enter воспроизведение;
Пробел пауза;
вверх/вниз увеличение/уменьшение скорости воспроизведения;
</> увеличить/уменьшить размер;
Alt+1(2, 3) установить размер окна воспроизведения равным 50%[100%,200%];
N/M позволяют подвести по времени видео/аудио при асинхронном воспроизведении;
Q выход.
Кроме перечисленных конфигурационных файлов, чтобы не задавать каждый раз аргументы в командной строке, можно использовать дополнительно файл ~/.xine/xinerc, например:
Теперь при запуске xine программа запустится в окне 800600, включится сервер удаленного управления, плюс автоматически включится воспроизведение видеофайла без графической оболочки.
Теперь о различных фронт-эндах, которыми так богата эта замечательная программа. Первым номером идет toxine (http://prdownloads.sourceforge.net/toxine/toxine-0.6.0.tar.gz?download) скриптовый командный bash-подобный фронт-энд, позволяет в командной строке установить практически все параметры, доступные с графической оболочки, и даже несколько больше, воззвав к API. Следующие фронт-энды основаны на библиотеке GTK. Сюда входят недавно появившийся но быстро развивающийся gnome-xine (http://xine.sourceforge.net/files/gnome-xine-0.2.1.tar.gz) , уже довольно развитый Sinek (http://sinek.sourceforge.net), единственным недостатком которого является отсутствие поддержки скинов, наконец, Totem, работающий только под GTK второй версии (http://www.hadess.net/totem.php3), который у меня отказался компилироваться, т.к. Gnome у меня еще первой версии, а библиотеки давно не обновлял. Для тех, кто работает в KDE, удобнее будет воспользоваться услугами kxine (http://kxine.sourceforge.net/), рассчитанного под библиотеки QT, в нем мне нравится простой, без излишних наворотов интерфейс с минимальным числом настроек как раз то что надо, чтобы спокойно откинуться на спинку кресла и посмотреть фильм. Для звукового сервера aRts по адресу http://rambo.its.tudelft.nl/~ewald/xine дополнительно доступен плагин, с помощью которого можно заставить воспроизводить видео, используя проигрыватель Noatun. А также Aaxine, обеспечивающий вывод видео в виде ASCII-кода, который входит в стандартную поставку xine-ui и будет доступен при компиляции с библиотекой aalib. В настоящее время ведутся разработки модуля для web-браузера Мozilla. Когда я последний раз зашел на сайт, уже перед отправкой статьи, оказалось, что появился еще и соответствующий проект для OC Windows. Найти всю информацию можно по адресу http://www.geocities.com/matthew_grooms; доступны как откомпилированный вариант, так и исходные тексты.
Как видите, xine довольно развитой видеоплейер, имеющий множество опций и позволяющий с комфортом скоротать время за просмотром фильма. Лично я пользуюсь практически только им.
Linux forever!