Программы для перекодирования видео
Программы для перекодирования видео
Часто возникает задача перекодировать видеофайл из одного формата в другой. Традиционным инструментом для этих целей является консольная утилита MEncoder, устанавливаемая при компиляции вместе с MPlayer и построенная фактически на том же коде. Если установка последнего производилась при помощи пакетов, то, скорее всего, mencoder будет находиться в отдельном одноименном пакете. MEncoder понимает те же источники сигнала, что и MPlayer, может конвертировать видеофайлы во все форматы (MPEG-1, 2, 4 и другие), контейнеры (AVI, Matroska, ASF, Ogg) и кодеки (DivX, XviD, lavc и прочие), понимаемые MPlayer; поддерживаются все фильтры, которые может использовать MPlayer. Список последних очень большой: обрезание пустых мест в кадре, масштабирование, отражение, изменение яркости или контраста, коррекция цветности, сглаживание шума и прочее. При использовании параметров -ofps или -speed возможно изменение количества кадров в секунду, их дублирование или пропуск, изменение черезстрочности. Результат преобразования при необходимости легко перенаправляется для просмотра в MPlayer. Возможно простое копирование без преобразования видео или аудио в результирующий файл. Возможностям MEncoder можно посвятить целую книгу, но, как уже говорилось, утилита консольная, и, чтобы полностью их реализовать, придется изучить и экспериментально подобрать не один параметр. У разных кодеков будут действительны различные параметры, нужно будет изучать особенности. Для получения информации по параметрам кодека наберитe $ mencoder -ovc help, а для аудио – mencoder -oac help. При кодировании как аудио, так и видео возможно использование постоянного или переменного битрейта, кодирование в несколько проходов для получения нужного качества или результирующего размера файла. Опытные пользователи, найдя нужные установки, чтобы их не запоминать, используют сценарий командной оболочки, в котором записаны все команды. В простейшем случае перекодирование видео в MPEG-4 выглядит так:
$ mencoder movie.wmv -o movie.avi -ovc lavc -oac lavc
Указать аудиокодек можно, добавив в эту команду параметр 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
Не каждый пользователь захочет запоминать все параметры, поэтому разберем одно из решений, имеющее графический интерфейс.
Данный текст является ознакомительным фрагментом.