Ключевые слова:mencoder, video, mplayer, convert, (найти похожие документы)
From: Андрей Синицын <http://boombick.org/>
Date: Mon, 25 Nov 2007 18:21:07 +0000 (UTC)
Subject: Обработка видео при помощи mencoder
Оригинал: http://boombick.org/blog/posts/19
Mencoder - это утилита, идущая вмесет с mplayer. Если с помощью
mplayer вы можете воспроизводить аудио и видео файлы, то mencoder
предназначен для их обработки и конвертирования из одного формата в
другой. Для mencoder имеется масса графических облочек, но в этой
заметке я расскажу вам о работе с ним из командной строки, и вы
увидите, что она ничем не уступает GUI-оболочкам.
Mencoder поддерживает множество типов файлов, вот некоторые из них:
MPEG/VOB, AVI, ASF/WMA/WMV, RM, QT/MOV/MP4, Ogg/OGM, MKV, VIVO, FLI,
FLV. Синтаксис команд довольно прост, несмотря на большое количество
опций. Несмотря на свой "скромный" интерфейс, mencoder может делать с
мультимедиа-файлами удивительные вещи.
Простая команда для конвертирования MPG-файла в AVI-формат:
mencoder file.mpg -o file.avi -ovc lavc -oac lavc
Опции -oac и -ovc указывает на желаемые аудио и видео кодеки. Вы
можете посмотреть список доступных кодеков при помощи команды mencoder
-ovc help и mencoder -oac help
Предположим, что вам нужен несжатый аудиопоток и вы решили
испольщовать PCM. Вы можете указать желаемый формат аудио при помощи
опции acodec:
mencoder file.mpg -o file.avi -ovc lavc -oac lavc -lavcopts acodec=pcm
Если вы используете mp3-сжатие, можно также указать битрейт:
mencoder file.mpg -o file.avi -ovc lavc -oac lavc -lavcopts acodec=libmp3lame:abitrate=128
Вы можете использовать lameopts, если в вашей системе установлен
libmp3lame и вам хочется расширить список опций, доступных при
кодировании аудио. Еще с помощь lameopts можно создавать файлы с
переменным битрейтом:
mencoder file -o file.avi -ovc lavc -oac mp3lame -lameopts vbr=2:q=3
гду q - это любое число в диапазоне от 0 до 9
Также можно работать и с аудиодорожкой из видеофайлов:
mencoder file.mpg -o file.avi -ovc lavc -oac lavc -lavcopts \
acodec=libmp3lame:abitrate=128 vcodec=xvid
Если вы не хотите использовать видеокомпрессию, используйте
vcodec=copy. С этой опцией видеопоток будет просто скопирован байт в
байт из исходного файла.
Вы можете использовать DivX и xvid напрямую, без опции lavc:
mencoder -ovc xvid -oac mp3lame -o destination.avi source.avi
Для указания более подробных параметров вы можете использовать опции
xvid
mencoder -ovc xvid -oac mp3lame -xvidencopts bitrate=878 -o \
destination.avi source.avi
Повышение битрейта увеличивает качество изображения, но вместе с
качеством растет и размер файла. Помните об этом.
Следубщим шагом, а точнее двумя, будет описания процесса
перекдирования DVD в XviD. Сначала mencoder анализирует файл, затем,
на основе полученных данных, перекодирует DVD-поток. Использование
двух фаз ненамного дольше, но на выходе вы получите более качественный
файл. Будьте готовы к тому, что во время процесса кодирования нагрузка
на CPU будет порядка 90%:
mencoder dvd:// -oac mp3lame -ovc xvid -xvidencopts pass=1 -o /dev/null
mencoder dvd:// -oac mp3lame -ovc xvid -xvidencopts pass=2:bitrate=800 -o xvidfile.avi
Вы можете указать битрейт для получения необходимого качества.
Например, чтобы вместить DVD в 700-мегабатный xvid-файл, используйте
следующие опции:
mencoder dvd:// -ovc xvid -oac mp3lame -xvidencopts bitrate=-700000 -o file.avi
Если вы не хотите максимальной загрузки процессора на время
кодирования, используйте утилиту nice, которая понизит приоритет
выполняющегося процесса:
nice -n 19 mencoder dvd:// -ovc xvid -oac mp3lame -xvidencopts bitrate=-700000 -o file.avi
Если у вас есть множество маленьких виедофалйов и вы хотите сделать из
них один большой, то mencoder может помочь вам.. Переиенуйте исходные
файлы так, чтобы они отсортировывались в необходимом вам порядке.
Затем используйте:
mencoder * -o output.avi
Если вы хотите добавит аудиодорожку к видеофайлу, то используйте:
mencoder source.avi -o destination.avi -ovc copy -oac mp3lame \
-audiofile file.wav (для несжатых файлов)
mencoder source.avi -o destination.avi -ovc copy -oac copy \
-audiofile file.mp3 (для сжатых файлов)
Для получения видео, пригодного к воспроизведению на [4]iPodLinux
используйте:
mencoder -ovc raw -ofps 15 -oac pcm -vf \
scale=176:-2,expand=176:132,format=bgr16 input.file -o output.avi
Эта команда создаст RAW AVI-файл с несжатым аудиопотоком и
масштабирует его к размеру экрана Nano.
У меня есть PocketPC, который частенько сопровождает меня в деловых
поездках. Я использую mencoder для получения фильмов, которые
уместятся на 512Mb SD-Card и будут воспроизводиться на моем Pocket:
mencoder -oac mp3lame -lameopts mode=3:preset=24 -ovc lavc \
-lavcopts vcodec=mpeg4:vhq:vbitrate=384:keyint=250 -vop \
expand="320:240'' -o outputfile.avi inputfile.avi
или
mencoder input.avi -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=200:abitrate=48 \
-vop scale=320:240 -oac copy -o output.avi
Разница в том, что вторая команда масштабирует фильм до размера экрана
PocketPC - 320 *240 пикселей.
Если у вас есть web-камера и выхотите записать изображение с нее,
используйте:
mencoder tv:// -tv driver=v4l:device=/dev/video0:width=640:height=480:forceaudio -ovc \
lavc -oac lavc -lavcopts vcodec=mpeg4:acodec=mp3 -ffourcc divx -o test.avi
Команда записывает весь вывод /dev/video0 в файл с разрешением 640х480
и mp3-звуком.
Как вы видите, с помощью mencoder можно работать с большим количеством
форматом, доступно огромное число опций, он мальенький, легкий и очень
бытсро работает. И я не променяю его ни на одну утилиту с более
"дружественным" интерфейсом.
Специально для интересующихся, список фронт-ендов к mencoder:
Kmencoder http://sf.net/projects/kmencoder/
Konverter http://www.libsdl.de/projects/konverter/
Kmenc 15 http://kmenc15.sf.net/
GMencoder http://gmencoder.sf.net/
AcidRIP http://untrepid.com/acidrip/
MenGUI http://jahjah.free.fr/morphos/
Оригинал: http://www.linux.com/feature/121385