Hi-Tech Arduino Компьютеры Интернет
HV-Lab Reference Linux Форум
Справочники Libraries Windows Галерея
Электроника Hardware Hardware Загрузки
Печатные платы Forum Программирование Мини-чат
[ Февр 26, 07:42 ] admin: Форум перешел в разряд архивного.
[ Февр 24, 19:02 ] admin: переехали на новый сервер. Грядут перемены.
[ Фев 20, 08:38 ] кулибин: Переход на SSL был непрост (особенно с абсолютными путями на изображения, но мы его осуществили)
RSS статьи
 
Статьи

Статьи->Linux->Кодирование видео в Linux [ Поиск ]

Кодирование видео в Linux - Работа в консольном кодировщие mencoder
Отправил: кулибин, Суббота, 31 Января 2009 22:36
До победного шествия Linux осталось совсем немного времени. Windows со своей новой Осью был отвергнута большинством пользователей из-за многих проблем. Всеми любимая windows XP вскоре перестанет выпускаться компанией Microsoft, и если вы хотите купить лицензионную версию, то поторопитесь – еще немного – и она навсегда пропадет с полок магазинов и нас заставят пользоваться Вистой или новой версией windows, ожидаемой очень скоро – новая windows станет еще более требовательной и неповоротливой, будет еще более красочной и еще более бесполезной. Заметили что в Windows Vista в папках «Документы», «Компьютер» и т.п. пропало слово «Мой»? Это больше не ваш компьютер, это компьютер Висты (© Bash.org.ru).
В нашем жестоком мире альтернатива есть практически для всего. Windows не исключение. ОС Linux стала набирать популярность после прогремевшего на всю Россию «дела Поносова» - директора одной Пензенской школы, приобревшего компьютеры с нелицензионным программным обеспечением windows XP. Для полного перехода на свободное ПО, open-source обязана предоставить конечному пользователю полноценные аналоги windows-программ. На данный момент ведется активная подготовка в этой области – появились кросс-платформенные версии популярных программ. В ПО для интернет у Linux нет никаких проблем –продукты Mozilla, Opera, sim-im позволяют пользоваться одной и той же программой как под windows так и под Linux. Бесплатное ПО постепенно наступает и в офисах – мощный и уже достаточно популярный офисный пакет OpenOffice обходит своего единственного конкурента MS Office как в весе инсталлятора(сотня мегабайт вместо пары CD), так и цене продукта(OO.o обойдется вам лишь в стоимость загруженного трафика, а с последним вы влетите на полторы сотни вечнозеленых). Проблема Linux в основном с оборудованием – плохо поддерживаются многие модели струйных и лазерных принтеров, Dual-Up модемы, Wi-Fi сетевые карты и т.п. Производители железа и большой штаб энтузиастов-программистов, вместе и по-отдельности, медленно но верно сокращают список несовместимого оборудования. Вторая проблема Linux в его Multimedia-возможностях. Кросс-платформенных программ для обработки и воспроизведения аудио и видеосодержимого считай и нет, а претендующих на это звание и рядом не поставить с самыми примитивными программами под windows. Лично я знаю одно исключение – аудиоредактор Audacity – программа с хорошим набором возможностей, достаточным для обычного в этих делах пользователя типа меня. Программа, разумеется бесплатна.
К счастью, в мире Linux имеются мощные инструменты работы с мультимедиа контентом. Тут одна проблема – средств много, но нет единого универсального (ну или я о нем не знаю) – лишь комплексное использование даст желаемый результат.
С аудиофайлами тут все просто – слушаем музыку при помощи Amarok, режем и конвертируем – при помощи Audacity. С видеофильмами посложнее.
Наиболее мощным и удобным видеоплеером я считаю mplayer (http://www.mplayerhq.hu/) . Возможно существуют плееры лучше этого, но мне хватает и 5 части его возможностей хватает с лихвой. Чем же он так хорош? Ну во-первых, это изначально консольный плеер. Никаких Гуев, никакого интерфейса. Кому-то такой фейс может показаться непривычным, а с другой стороны зачем он? Если консоль вам не по душе – то всего лишь одной строчкой ./configure –enable-gui добавляем графический интерфейс, причем шкурок для него на сайте бесчисленное множество – выбирай на свой вкус. Управление незамысловатое – с клавиатуры – именно поэтому графический интерфейс мне не нужен – я просто нажму нужную клавишу. Правда здесь есть маленький недостаток – mplayer не понимает команд, когда они вводятся в русской раскладке. (Естественно это все спокойно исправляется ручками в исходниках – но mplayer отказался от проблем с кодировками – возможно это и к лучшему). Список команд mplayer:




ENTER

начать воспроизведение

q и ESC

выйти из плеера

p и SPACE

пауза

< и>

+/-10 секунд

[ и ]

+/- 10% к скорости воспроизведения

Backspace

восстановить нормальную скорость воспроизведения

9 и 0

регулировка звука

m

выключить звук

f

во весь экран

PageUp и PageDown

+/- 10 минут

1 и 2

Контрастность

3 и 4

яркость

Этот плеер умеет воспроизводить практически все, начиная от TV-программ с тюнера по комане tv:// (для этого надо иметь настроенный тюнер в системе) и заканчивая потоковым видео. Плеер без проблем проигрывает повреждённые MPEG файлы (полезно для некоторых VCD), плохие AVI файлы, которые не проигрываются известным windows media player. Даже AVI файлы без индекса являются проигрываемыми. Можете временно сделать индекс с помощью ключа -idx, или перманентно с помощью MEncoder'а, таким образом получив возможность перемещаться по фильму! Как видите стабильность и качество - наиболее важные вещи, но скорость также изумительна. Кроме того у него мощная система плагинов для манипуляции видео. Наиболее полную информацию о возможностях этой программы можно получить как на официальном сайте, так и в man mplayer.
Теперь кодирование видео. Кодирование видео под ОС Linux имеет смысл, поскольку программы-кодеры откомпилированы конкретно под вашу систему. Это существенно отражается на производительности. Не отходя далеко от супер-плеера mplayer затрону одну интересную программу, входящую в выше расписанный продукт. Это mencoder. Это специальная консольная утилита для кодирования видео в *.avi контейнер для *nix систем. Имеет некоторое сходство с mplayer по питанию – переваривает все, что и старший собрат, включая битые видеофайлы. Из собственного опыта: Записывая видео с TV-тюнера родной программой под windows было замечено, что программа халтурит и на выходе создает контейнер с провалами в видео и аудио потоках. Иногда десинхронизация доходила до десятков секунд как в ту так и в другую сторону. Правильно переваривал лишь один плеер – смотрим выше. Логично рассудив, что его брат такой же смышленый, я скормил видео программе mencoder, спокойно ютившейся в тот момент на рядом-стоящем сервере. И о чудо! Выдав длинный список вырезанных и дублированных кадров при конвертировании я получил-таки видео с синхронизированным звуком. Теперь, предстоит поведать как я смог дойти до такой жизни. Программа вызывается командой:
mencoder [параметры] [исходный файл] -o [полученный файл]. Параметров должно быть много. Но хотелось бы сделать все по правилу «настроил и забыл» - ведь писать большое количество параметров имеет смысл лишь при одноразовом их использовании. Мы с вами хотим постоянно кодировать видео, поэтому перейдем к этапу составления конфигурационного файла, содержащего в себе одну или несколько конфигураций, типа mpeg, xvid, dvd и т.п. При этом, выбрав необходимую на данный момент конфигурацию программа будет конвертировать, используя шаблон в качестве параметров:
mencoder -profile [профиль] [файл] -o [файл]
Профили находятся ~.mplayer/mencoder.conf. Если у вас нет этого файла – создайте и поместите в него нижеприведенные профили, разделяемые пустой строкой.
Один профиль, позволяюший кодировать видео в XviD распишем в качестве примера:
[xvid] – название профиля. Оно должно быть узнаваемым – будем упоминать его в команде
profile-desc="xvid" – описание профиля.
ovc=xvid=yes – указывает видеокодек. Разумеется видеокодек должен присутствовать в системе
xvidencopts=bitrate=1000 – параметры видеокодирования. В данном случае - битрейт
oac=mp3lame=yes – аудио кодек. Кодек должен быть установлен у вас в системе
lameopts=abr=yes:br=128 - параметры аудиокодирования. В частности битрейт
srate=44100 – частота дискретизации аудио
ofps=25 – частота кадров видео

Естественно всех возможных параметров не перечислить – их около 520, но список нужный и доступен по команде mencoder -list-options. Описание всех функций займет слишком много места, поэтому предлагаю найденные мой на просторах интернета наиболее употребимые профили:

[x264]

profile-desc="x264"

dvd-device=.

ovc=x264=yes

x264encopts=crf=25

oac=mp3lame=yes

lameopts=abr=yes:br=128

ofps=25

[mpeg4]

profile-desc="mpeg4"

dvd-device=.

ovc=lavc=yes

lavcopts=vcodec=mpeg4:vbitrate=1000:autoaspect=yes

oac=mp3lame=yes

lameopts=abr=yes:br=128

srate=44100

ofps=25

ffourcc=DX50

[lavc]

profile-desc="lavc"

dvd-device=.

ovc=lavc=yes

lavcopts=vcodec=mpeg4:vbitrate=1000:autoaspect=yes

oac=mp3lame=yes

lameopts=abr=yes:br=128

srate=44100

ofps=25

ffourcc=XVID

[mpeg4hq]

profile-desc="mpeg4hq"

dvd-device=.

ovc=lavc=yes

lavcopts=vcodec=mpeg4:vbitrate=1200:autoaspect=yes:mbd=2:trell=yes:v4mv=yes

oac=lavc=yes

lameopts=abr=yes:br=160

ofps=25

ffourcc=DX50

[dvd]

profile-desc="dvd"

dvd-device=.

of=mpeg=yes

mpegopts=format=dvd

ovc=lavc=yes

lavcopts=vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:acodec=ac3

oac=lavc=yes

lavcopts=acodec=ac3:abitrate=384

[tv]

profile-desc="tv"

ovc=lavc=yes

lavcopts=vcodec=mpeg4:vbitrate=5120:autoaspect=yes

oac=mp3lame=yes

lameopts=abr=yes:br=96

ffourcc=DX50

Аудио и видео кодеки выбираются параметрами oac и ovc соответственно. Для выведения полного списка кодеков, установленных в вашей системе наберите mencoder -ovc help

Наиболее распространенные кодеки:

Аудиокодеки

Название кодека

Описание

mp3lame

Mp3lame кодер

lavc

один из кодеков библиотеки libavcodec

faac

FAAC AAC аудио кодер

toolame

MPEG Audio Layer 2 кодер

twolame

MPEG Audio Layer 2 кодер, основанный на tooLAME

pcm

Несжатый PCM звук

copy

Не перекодировать, просто копировать сжатые кадры

Видеокодеки

Название кодека

Описание

lavc

Один из кодеков библиотеки libavcodec

xvid

Xvid, MPEG-4 Advanced Simple Profile (ASP) кодек

x264

x264, MPEG-4 Advanced Video Coding (AVC), AKA[он же] H.264 кодек

nuv

nuppel видео, используемое некоторыми приложениями реального времени

raw

Несжатые видео кадры

copy

Не перекодировать, просто скопировать сжатые кадры

Естественно это не все, что можно сказать об mencoder и mplayer. Наиболее подробный русскоязычный мануал по этим программам имеется на официальном сайте в разделе документации.

Артем Кашканов

 

 

Голосов Голосов: 0 - В среднем:

Добавить комментарий Оценить
Комментарии

Статистика
Всего 205 статей в базе
Наиболее просматриваемые: Arduino и сеть RS485.
Лучшие по оценкам: РЦВМ1 - Релейная Цифровая Вычислительная Машина

Пользователи в разделе статьи: 2 (0 Пользователи 2 Гости и 0 Скрытые пользователи)
Видимые пользователи:


 
 

MKPortal©2003-2008 mkportal.it
MultiBoard ©2007-2009 RusMKPortal
Страница сгенерированна за 0.02233 секунд с 24 обращениями в базу данных

Intel Core i5-3450 2Gb RAM 100Gb HDD 100Mbps Ethernet

© Artem Kashkanov 2005-2016