12 лет назад 16 октября 2006 в 17:33 149

Плейер не для всех

Нужно сказать, что до того, как я нашел MPlayer (для Linux, Solaris, FreeBSD, IRIX, QNX), DivX-фильмы смотреть под “линуксом” мне не удавалось. Плейеры для этой цели попадались какие-то ущербные, глюкавые и капризные. MPlayer (http://www.mplayerhq.hu/) выгодно отличается от них своей стабильностью и безотказной работой – представьте себе, что даже CVS-версии хорошо работают!

До такой степени хорошо, что официальный релиз не выложен в Сети, а доступна только текущая CVS-версия весом в 1,69 Мб mplayerhq.hu/MPlayer/cvs/MPlayer
-current.tar.bz2
. Дистрибутив распространяется ТОЛЬКО в исходнике, то бишь его надо откомпилировать. Процесс максимально автоматизирован, нужно только запустить скрипт конфигурации и потом сделать make, make install.

Для успешной компиляции вам нужны: binutils, gcc, make – и желательна мультимедийная библиотека SDL (http://www.libsdl.org/). Скрипт конфигурации реагирует на параметры – можно задать поддержку инструкций 3DNow!, MMX, SSE, включить графический интерфейс (под движок Gtk) и тому подобное. SDL я рекомендую использовать по той причине, что через SDL видео выводится в масштабируемом окне и безо всяких глюков. Вас интересует полноэкранный режим? Разумеется, он работает. Более того – инженерная мысль дошла даже до возможности рендеринга в ТЕКСТОВОМ режиме (через библиотеку aalib, опция “-vo aa”)!!!

Собственно говоря, только дай MPlayer монитор, и он на нем что-нибудь да нарисует. Если монитора нет, будет выдавать видео прямо в файлы, например, формата PNG. Если монитор все-таки есть, то можно показывать видео через упомянутую выше SDL (по идее, это обеспечивает максимальную совместимость с видеосервером), OpenGL-рендер, SVGAlib, x11, видеокарты конкретных марок: Matrox G200 и G400, Voodoo2 и 3… У меня Voodoo 3, X-сервер пашет в режиме framebuffer, но моя попытка заставить MPlayer показывать видео через него привела к очень странному поведению системы… Но если разобраться, должно работать (у других ведь работает!).

Что до звуковых подсистем, то MPlayer умеет общаться со следующими: с официальной звуковой системой “линукса” OSS, с драйвером SDL (который поддерживает изменение частоты оцифровки и взаимодействует со звуковыми серверами-демонами ESD и aRts), а также с ALSA. Короче говоря, полный фарш – что-то одно да будет работать наверняка. Под OSS можно вытянуть звук даже из гнусного устройства под названием “пи-си-спикер”…

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

MPlayer благодаря CVS развивается активнее плейеров под Windows. Работа над проектом кипит день и ночь – можете убедиться в этом сами на странице mplayerhq.hu/cgi-bin/cvsweb.cgi/main/
DOCS/documentation.html
, где находится информация об обновлениях в главной CVS-ветке версий MPlayer.
Некоторые замечания.

Самое важное – если у вас модифицированный в Red Hat компилятор GCC версии 2.96, то скрипт конфигурации следует запускать с параметром –disable-gcc-checking. Разработчики MPlayer рассказывают о версии 2.96 плохие вещи: оказывается, она не обращает внимания на инструкции MMX, SSE и 3DNow! – то есть не ругается, не пишет об ошибках, а просто игнорирует их!

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

Ладно, в любом случае плейер работает. Главное знать, что именно вы делаете, запуская его. Например, под KDE и SDL запущенный в режиме GUI плейер при переключении в fullscreen попросту прибивает X-сервер и выбрасывает вас в логин! А чтобы такого не случилось, требуется запускать MPlayer вот таким образом: mplayer -gui -vo sdl -fsmode 1.

И еще о KDE – выключите к черту его звуковой сервер (aRts), он только мешает работе плейера – не только этого, но и других мультимедийных приложений! Впрочем, как хотите – но тогда звуковой поток MPlayer придется выводить на SDL (параметр ao sdl) или с опцией artsdsp.

Честно говоря, мне жаль завершать эту тему, но об MPlayer можно писать до бесконечности, поэтому добавлю разве что краткий перечень его любопытных фишек. MPlayer умеет: в DVD-видео показывать некоторые сцены под разными углами обзора (если таковая возможность присутствует в фильме – кстати, Zoom Player тоже с этим работает), направлять видео на порт видеокарты TV-Out, “граббить” видео с TV-тюнера и компрессировать его с помощью MEncoder (покамест лишь в формат DivX4), на “нижнем” уровне поддерживать специфику карт Matrox, 3dfx и Radeon.

Разумеется, присутствует взаимодействие с LIRC.
А вот каких форматов фильмы способен показывать MPlayer: Video CD, DVD, RIFF AVI (где реальный формат сжатия зависит то кодека – это может быть и DivX, и Indeo5, и MPEG1 – продолжите список сами), ASF/WMV (в основном – потоковое видео), QuickTime / MOV (кроме нового образца, где формат эксклюзивный, его умеет играть только оригинальный Apple QuickTime Player) и малоизвестный мне VIVO.

Видеокодеки, взятые из Windows (MPlayer работает и с ними), можно и даже нужно скачать и установить.

Адрес такой: mplayerhq.hu/MPlayer/releases/w32codec-0.50.zip. Более подробно о кодеках читайте в документации к плейеру, там есть файл codecs.html, оттуда качайте по ссылкам нужные вам кодеки и инструкции по их установке – обратите внимание на DivX 4! Ваши усилия вознаградятся таким небывалым счастьем, как нормальное DivX-видео в “линуксе”.


Сравнение

Под Windows 98 я взял стандартную “виндовую” программу “Системный монитор” (System Monitor) и, запуская на разных плейерах один и тот же фильм, смотрел параметр “использование процессора” в процентах. В качестве тестового фильма использовался “Бойцовский клуб”, 640 x 272, 24 кадра в секунду. Все плейеры работали в оконном режиме, без масштабирования изображения, с отключенными фильтрами и эффектами, если таковые были доступны.

Загрузка процессора

Плейер   Диапазон 
загрузки, %
Средняя загрузка, %
Windows Media Player 7   27-72 64
BSPlayer   4-27 8
SASAMI   49-67 58
Zoom Player   56-65 61
MPlayer   18-37 24

При этом работал еще маленький текстовый редактор, на потребление ресурсов почти не влияющий. Конфигурация машины такова: Athlon Thunderbird 900, 256 метров оперативки, CD-ROM Teac 24х со включенным DMA-режимом. (Для тех, кто не в курсе: включение этого режима (Панель управления > Система > Устройства > Устройство чтения компакт-дисков > название вашего CD-ROM > Настройка > Параметры) ускоряет передачу данных с CD.

Если галочка на DMA-режиме устанавливаться не захочет, значит, виновата материнская плата или драйверы к ней. Либо у вас CD-ROM времен царя Гороха…) MPlayer в “линуксе” (Mandrake 8.0) я тестировал, разумеется, отдельно: под средой KDE 2.2 с мониторинговой утилитой XOSVIEW.

Из приведенной таблицы с очевидностью следует, что самым экономным оказался BSPlayer, потом идет MPlayer (и это при куче запущенных “линуксовых” сервисов!), а уж за ними более прожорливые видеоплейеры, чемпионом среди которых “неожиданно” оказался тот самый Windows Media Player, который большинство ленится заменить на что-нибудь более продвинутое.

Резюме: лучше пользоваться плейерами хорошими, чем разными. Ведь мало кому приходит в голову, скажем, рисовать с помощью входящего в комплект Windows растрового редактора Paint, когда есть Photoshop и GIMP (http://www.gimp.org/). Так же и в случае с видео – совсем другой кайф, когда смотришь фильм с помощью многофункционального плейера с изящным скином…

Автор: Петр ‘Roxton’ Семилетов

Никто не прокомментировал материал. Есть мысли?