Воспроизведение видео и перекодирование с помощью MPlayer и MEncode

KIVILCIM Hindistan, 10.04.2003. Перевод - Валерий Абросимов

MPlayer to rule them all,
MPlayer to show them,
MPlayer to bring them together,
and in the darkness encode them.

У вас установлен Linux на десктопе, вы имеете широкий канал. У вас самая современная программа для обмена файлами, но вы не можете получить от нее всю выгоду. Почему? Потому что вы пропустили очень важный компонент - movie player.

Больше не надо искать. MPlayer готов выполнить все ваши запросы. Будь это mpg, avi, mov, Real Media, или даже последние версии файлов Windows Media Player, MPlayer может отображать их со всей поддержкой, включая субтитры, звук AC3 и все остальное. Даже больше, вы можете смотреть телевизор при помощи вашего TV-тюнера, получая поток видео от тюнера или интернет или даже перекодировать его в вашим любимым кодеком. Вывод на экран и клавиатурные команды, которые вы имеете можно найти только в профессиональных программах для видеомонтажа. MPlayer это более, чем просто медиа плеер - это полное мультимедийное решение.

Более того, я могу сказать, что MPlayer значительно превосходит Windows Media player при той же конфигурации. Он обладает и производительностью и качеством. Слабенькая машина на Celeron 300 с Linux и MPlayer будет опережать Celeron 466 с Windows Media player. А если не будет, то вы сможете настроить каждый аспект MPlayer, чтобы она стала это делать.

История MPlayer и кодеков

Проект MPlayer, который со времени написания является #1 на Freshmeat (с рейтингом 58777, побивая даже ядро линукса с рейтингом 41468), начался примерно два года назад. Венгерский программист, Árpád Gereöffy, не мог найти плеера по своему вкусу. Он потратил около получаса на разборки с libmpg3. Через месяц или около того были готовы две программы -- mpg12play для воспроизведения mpeg и avip для avi файлов. В начале 2001 года эти два файла были объединены в один бинарник, который назвали MPlayer 0.10.

Бит за битом, кусочек за кусочком, после многих часов разработки и потребления Кока-Колы, плеер стал более-менее готовым к версии 0.90 rc5.

Через два года активного развития, MPlayer является наиболее емким плеером, поддерживающим широкий спектр видео кодеков:

  • MPEG1 (VCD) и MPEG2 (SVCD/DVD/DVB) video
  • MPEG4, DivX ;-), OpenDivX (DivX4), DivX 5.02, XviD и другие варианты MPEG4
  • Windows Media Video v7 (WMV1), v8 (WMV2) and v9 (WMV3) используемой в .wmv files
  • RealVideo 1.0, 2.0 (G2), 3.0 (RP8), 4.0 (RP9)
  • Sorenson v1/v3 (SVQ1/SVQ3), Cinepak, RPZA и другие кодеки QuickTime
  • Intel Indeo codecs (3.x,4.1,5.0)
  • VIVO v1, v2
  • варианты MJPEG, HuffYUV, ZLIB/MSZH, ASV2 и другие форматы оборудования
  • FLI, RoQ старые и редкие форматы анимации
Также поддерживается широкий спектр аудио кодеков:
  • MPEG layer 1, 2 и 3 (MP3) audio
  • AC3/A52 (dolby digital) audio (software или SP/DIF)
  • WMA (DivX Audio) v1, v2 (native codec)
  • WMA 9 (WMAv3), Voxware audio, ACELP.net etc (using x86 DLLs)
  • RealAudio: COOK, SIPRO, ATRAC3, DNET (с использованием RP''s plugins)
  • QuickTime: Qclp, Q-Design QDMC/QDM2, MACE 3/6 (с использованием QT''s DLLs)
  • Ogg Vorbis audio codec
  • VIVO audio (g723, Vivo Siren) с использованием x86 DLL
  • alaw/ulaw, (ms)gsm, pcm, *adpcm и другие простые и старые аудио форматы

Давайте посмотрим что говорит самый популярный проект на Freshmeat о себе.

Конфигурирование и компилирование MPlayer

Сначала вы должны посетить домашнюю страницу MPlayer. Здесь вы найдете исходники для MPlayer V0.90 rc5, самой стабильной и полнофункциональной версии на время написания этой статьи. Для получения поддержки графического интерфейса вы должны загрузить дополнительные скины и файлы шрифтов с того же адреса. Это все, что вам нужно. Процесс компилирования очень прост. Распакуйте .bz2 файл, запустите configure, make, и make install. (Чтобы использовать графический интерфейс, используйте опцию configure --enable-gui --enable-png.)

Вот и все. Теперь распакуйте выбранные вами файлы шрифтов и скинов в директорию ~/.mplayer для того, чтобы организовать поддержку скинов и вывода на дисплей. Теперь у вас есть все для медиа плеера, который может делать множество полезных вещей.

По умолчанию, MPlayer поставляется с большинством кодеков, которые могут вам понадобится, включая последний кодек DivX 5. Если вам нужны некоторые Windows кодеки, которые не указаны в дереве поддержки MPlayer, вы можете установить пакет Win32 кодеков и у вас не будет проблем. Я бы посоветовал вам сначала использовать кодек MPlayer/libavi, потому что он гораздо быстрей и стабильнее остальных.

Использование и настройка MPlayer

Вы можете запустить MPlayer из командной строки, введя mplayer. Графический интерфейс вызывается gmplayer. Графический интерфейс интуитивно понятен, но опции командной строки требуют объяснения.

  • Чтобы открыть файл, используйте команду: mplayer filename
  • Чтобы открыть файл с субтитрами (типа divx), используйте команду: mplayer filename -subfile filename.sub
  • Чтобы открыть трек VCD, используйте команду: mplayer -vcd
  • Чтобы проигрывать DVD почти в любом окружении, используйте режим Vesa: mplayer -o vesa -cache 8192 -fs -dvd
  • Если ваше оборудование не достаточно быстро и фильм заедает, используйте команду: mplayer -framedrop
  • Чтобы просмотреть список доступных кодеков, используйте команду: mplayer -vc help

Главный файл конфигурации MPlayer - это ~/.mplayer/config. Этот файл содержит комментарии к каждой функции. Установки по умолчанию достаточно хороши, но вы можете установить свои значения. MPlayer сохраняет комбинации клавиш в файле ~/.mplayer/input.conf. Вы можете редактировать их, но помните: сначала сделайте резервную копию, а затем изменяйте. Синтаксис очень прост и не нуждается в объяснениях.

MPlayer имеет также несколько особых командных опций чтобы иметь дело с файлами непонятных форматов. Предположим, что у вас есть Divx на японском языке, но субтитры не синхронизированы с видео; один имеет 25 fps, а другой 23, то есть фильм отстает от субтитров. Эта команда должна решить такую проблему:

mplayer <filename> -subfile <filenmame.sub> -subfps 25

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

mplayer <filename> -delay <secs>

<secs> время задержки видео в секундах

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

mplayer -vc

Предположим, вы начали загружать презентацию конференции и хотите знать ее качество, прежде чем качать 700 MB -- или у вас плохой divx. Эта команда пересоберет divx индекс из исходников и вы сможете перескакивать вперед и назад в avi файле с некачественным индексом:

mplayer -idx

Если avi все еще не воспроизводится, попытайтесь использовать эти опции с различными конфигурациями:

-nobps -ni -mc0 -forceidx -nocache

MEncoder

Хороший медиа плеер - одна из необходимейших вещей на компьютере, но иногда вы захотите большего. Например, вы можете сохранить любимый сериал в формате .rm и захотите просмотреть его на вашем vcd плеере. MPlayer также может помочь в этом: он может перекодировать практически все медиа файлы. Если вы скомпилировали пакет MPlayer, то MEncoder так же присутствует.

Синтаксис очень прост. Эта командная строка кодирует файл basket.rm при помощи кодека libav (лучшего divx кодека и по производительности и по качеству), а саундтрек - с помощью mp3lame.

mencoder -ovc lavc basket.rm -oac mp3lame -o basket.avi

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

mencoder -idx input.avi -ovc copy -oac copy -o output.avi

Возможно, вы захотите соединить несколько avi файлов в один файл. И чтобы они использовали один кодек и один битрейт, это тоже легко. Это возвращает нас к азам Unix:

cat 1.avi 2.avi | mencoder -noidx -ovc copy -oac copy -o output.avi -

Я не углубляюсь в детали, потому что MPlayer и MEncoder имеют гораздо больше опций, чем я могу описать в этой статье. Наслаждайтесь этой мощной программой и экспериментируйте с настройками.

Заключение

Как и со многими приложениями Linux, есть дистрибутив MPlayer, который называется Movix. Он занимает около 8Mb на CD. Ваш Divx CD будет загрузочным, не требующим ни жесткого диска, ни операционной системы - ничего, кроме диска для проигрывания и монитора для просмотра. Дистрибутив movix очень мощный. Вы даже можете получить лучше fps, чем могли ожидать. И не забудьте попкорн, лучше солененький и с маслом ;)

Ссылки





Источник - LinuxBegin.ru
http://linuxbegin.ru

Адрес этой статьи:
http://linuxshop.ru/linuxbegin/article317.html