Просмотр и перекодирование видео с помощью 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.

Вы используете Линукс, у вас есть широкополосный доступ в интернет. У вас имеется превосходная клиентская программа сети, но вам чего-то не хватает для полноценной мультимедийной системы. Чего? Вы упустили из виду важнейший компонент - проигрыватель.

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

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

Немного об истории и кодеках.

Проект MPlayer, который на момент написания статьи занимал первое место на сайте Freshmeat (со счетом 58777, победив его величество Ядро Линукс у которого было 41468), начался около двух лет назад. Когда венгерский программист Арпад Гереоффи (Arpad Gereoffy) не смог найти проигрыватель, который бы его устроил. И он решил это исправить. Он потратил пол часа взламывая libmpg3. Приблизительно через месяц имелись две программы -- mpg12play для проигрывания mpeg и avi файлов. И в первые дни 2001 года эти две программы были объединены в один двоичный файл названный MPlayer 0.10.

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

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

  • MPEG1 (VCD) и MPEG2 (SVCD/DVD/DVB)

  • MPEG4, DivX ;-), OpenDivX (DivX4), DivX 5.02, XviD и другие вариации на тему MPEG4

  • Windows Media Video v7 (WMV1), v8 (WMV2) и v9 (WMV3) использующие расширение .wmv

  • 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 variants, HuffYUV, ZLIB/MSZH, ASV2 и другие аппаратные форматы

  • FLI, RoQ и другие старые/экзотические анимационные форматы

Он так же поддерживает широкий диапазон аудио кодеков

  • MPEG layer 1, 2 и 3 (MP3) audio

  • AC3/A52 (dolby digital) audio (программный или 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 plugins)

  • QuickTime: Qclp, Q-Design QDMC/QDM2, MACE 3/6 (использует QT's DLLs)

  • Аудио кодек Ogg Vorbis

  • VIVO audio (g723, Vivo Siren) использует x86 DLL

  • alaw/ulaw, (ms)gsm, pcm, *adpcm и другие простые старые форматы

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

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

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

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

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

Для запуска MPlayer из командной строки дайте команду mplayer. Для старта с GUI запустите gmplayer. Графический интерфейс интуитивно понятен, но командная строка привлекает своим необъяснимым волшебством.

Для того, чтобы открыть файл, используйте команду:

mplayer filename

Для того, чтобы открыть файл с субтитрами (такой как divx), используйте:

mplayer filename -subfile filename.sub

Для того, чтобы открыть дорожку VCD:

mplayer -vcd <trackno>

Для запуска DVD в практически любой среде подойдет команда (она использует модуль Vesa):

mplayer -o vesa -cache 8192 -fs -dvd <trackno>

Если ваш компьютер не достаточно быстр и картинка дергается, используйте команду:

mplayer -framedrop

Для просмотра доступных кодеков, используйте:

mplayer -vc help

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

MPlayer так же позволяется задавать несколько ключей в командной строке для решения проблем с специфическим поведением при проигрывании. Может так случиться, что вам потребуется воспроизвести DivX из Японии, а субтитры не синхронизированы с видео рядом (для субтитров частота смена кадра при этом 25, а для видео 23, т.е. фильм следует за субтитрами). Эту проблему можно решить с помощью следующей команды:

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

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

mplayer <filename> -delay <secs>

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

Обе задержки могут быть и отрицательными. Предположим, у вас имеется файл, закодированный кодером Х, но MPlayer почему-то желает проигрывать его, используя кодек У. Можно заставить использовать MPlayer определенный кодек, применив:

mplayer <filename> -vc <codec>

Предположим, вы только что стали загружать файл с видеоконференции презентации и хотите узнать его качество до того, как с грузите 700 МБ, или у вас просто имеется испорченный файл в формате DivX, это команда восстановит оглавление файла с самого начала, и вы сможете перемещаться вперед и назад в испорченном файле:

mplayer <filename> -idx

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

-nobps -ni -mc0 -forceidx -nocache

MEncoder

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

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

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

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

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

Возможно, вы захотите соединить несколько avi файлов в один. Если они все используют один и тот же кодек и имеют одинаковый битрейн, то это сделать очень просто. Используя при этом старую добрую командную строку:

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

Я не буду описывать все более детально, поскольку MPlayer и MEncoder имеют ОГРОМНОЕ количество параметров чем можно описать в статье. MPlayer позволяет насладиться своей работой и дает возможность поэксперементировать со своими настройками.

ИТОГО

Как и многие другие приложения Linux, MPlayer имеет СВОЙ Linux дистрибутив, содержащий только его, этот дистрибутив называется Movix. Он занимает только 8 Mb на CD. Диск с этим дистрибутивом является загрузочным, он не требует ни наличия жестких дисков, ни операционной системы - вообще ничего, кроме CD для того, чтобы его проигрывать, и монитора, чтобы смотреть (ну и процессора с материнской платой конечно :) ). Movix - очень мощный дистрибутив. Вы, вероятно, сможете достичь с его помощью такую производительность, о которой вы раньше только мечтали.

Don't forget, the best popcorn is salty with butter ;)

Ссылки


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