Указать аудиокодек можно, добавив в эту команду параметр acodec, например acodec=libmp3lame. Параметр abitrate отвечает за битрейт аудио. Аналогично в видео параметр vcodec позволяет указать на любой видеокодек, которым будет закодирован результирующий файл. При помощи следующих команд можно перекодировать DVD в MPEG-4 (DivX) в два прохода:
$ mencoder dvd:// -ovc lavc -lavcopts vpass=1 -oac mp3lame -o movie.avi
$ mencoder dvd:// -ovc lavc -lavcopts vpass=2 -oac mp3lame -o movie.avi
К сожалению, проекты Kmencoder, Konverter, Kmenc15 и GMencoder, предлагающие графические оболочки к MEncoder, уже давно не развиваются, хотя они доступны в репозитариях пакетов и их вполне можно использовать.
Вторая консольная утилита, предназначенная для преобразования видеопотока из одного формата в другой, называется transcode (http://www.transcoding.org/). Она идеально подходит для декодирования DVD или Video4Linux потока в DivX. Поддерживаются все популярные сегодня контейнеры, форматы и кодеки – MPEG-1/2, MPEG-4 (DivX и XviD), Quicktime/MPEG-PS, аудио MP3 и AC3. Есть большинство часто используемых фильтров – обрезание, сглаживание, черезстрочность, изменение скорости аудио– и видеопотоков и другие. Параметров, как и MEncoder, очень много, например чтобы перекодировать видеофайл формата DVD в XviD в два прохода:
$ transcode -a 0 -b 128,0,0 -i movie.vob -w 1800,250,100 -A -N
0x2000 -M 2 -Y 4,4,4,4 -B 1,11,8 -R 1 -x vob -y xvid4,null
$ transcode -a 0 -b 128,0,0 -i movie.vob -w 1800,250,100 -A -N
0x2000 -M 2 -Y 4,4,4,4 -B 1,11,8 -R 2 -x vob -y xvid4 -o movie.avi
Для изменения формата видео со стандартного 4:3 на 16:9 команда выглядит так:
$ transcode -i INPUT.avi -y ffmpeg,ffmpeg -F mpeg4 -Z 640x,fast
–export_asr 3 -o OUTPUT.avi -E 44100,16,2 -b 224
Есть и другие консольные утилиты, например в состав пакета MjpegTools (http://mjpeg.sourceforge.net/) входит целый набор, состаящий более чем 30 утилит, используя которые вместе или раздельно можно сделать практически что угодно с видео-, аудиофайлами или рисунками. Этот пакет также имеется в репозитарии Ubuntu, поэтому установить его просто. Например, чтобы перевести все цифровые фотографии, находящиеся в текущем каталоге, в видеофайл, выполните такую команду:
$ jpeg2yuv -f 25 -j picture_*.jpg | mpeg2enc -v 0 -a 2 -q 4 -4 2 -2 1 -s -M 0 -f 8 -o mpegfile.mpg
Не каждый пользователь захочет запоминать все параметры, поэтому разберем одно из решений, имеющее графический интерфейс.
Редактор Avidemux
Эта программа с открытым исходным кодом разрабатывалась как простой видеоредактор c функциями вырезания фрагментов, наложения фильтров и перекодирования видео из одного формата в другой, имеющий графический интерфейс (рис. 3.25). Она поддерживает все наиболее часто используемые форматы и кодеки – MJPEG, MPEG-1/2/4, DivX, Xvid, ASF, WMA, AVI, MP2 и другие. Сайт проекта расположен по адресу http://avidemux.org/, но в репозитарии Ubuntu Avidemux есть, поэтому для его установки достаточно ввести sudo apt-get install avidemux – и можно приступать к работе. В репозитарии может находиться не самая последняя версия редактора, в этом случае следует обратиться к сайту http://www.getdeb.net/, где всегда можно найти нужные пакеты.
Рис. 3.25. Окно видеоредактора Avidemux
Написан Avidemux на C/C++ с использованием графического пакета GTK, поэтому он может быть собран не только в Linux, но и в Mac OS X, FreeBSD, NetBSD, OpenBSD, Solaris и даже Windows. Avidemux был написан как самостоятельное решение, иногда для обработки видео используются библиотеки из других проектов – FFmpeg, MPlayer, Transcode, Avisynth и DVD2AVI. Тем не менее эта программа не требует присутствия дополнительных библиотек для чтения, кодирования и декодирования видео. Для работы с некоторыми форматами используется библиотека libavcodec, разрабатываемая проектом FFmpeg (http://ffmpeg.mplayerhq.hu/). Кроме этого, Avidemux умеет распознавать вшитые субтитры и конвертировать их в программные – файлы форматов SRT, SSA/ASS и других.