13.1. Выбор кодеков и формата файлов

Аудио и видео кодеки для кодирования выбираются опциями -oac и -ovc, соответственно. Ниберите для примера:

mencoder -ovc help

чтобы получить список всех видео кодеков поддерживаемых версией MEncoder, установленной на вашей машине. Доступны следующие варианты:

Аудио кодеки:

Название кодекаОписание
mp3lameКодируйте в VBR, ABR или CBR MP3 с LAME
lavcИспользуйте один из кодеков библиотеки libavcodec
faacFAAC AAC аудио кодер
toolameMPEG Audio Layer 2 кодер
twolameMPEG Audio Layer 2 кодер, основанный на tooLAME
pcmНесжатый PCM звук
copyНе перекодировать, просто копировать сжатые кадры

Видео кодеки:

Название кодекаОписание
lavcИспользуйте один из кодеков библиотеки libavcodec
xvidXviD, MPEG-4 Advanced Simple Profile (ASP) кодек
x264x264, MPEG-4 Advanced Video Coding (AVC), AKA[он же] H.264 кодек
nuvnuppel видео, используемое некоторыми приложениями реального времени
rawНесжатые видео кадры
copyНе перекодировать, просто скопировать сжатые кадры
framenoИспользовался для 3-х проходного кодирования (не рекомендуется)

Формат выходных файлов выбирается опцией -of. Наберите:

mencoder -of help

чтобы получить список всех форматов, поддерживаемых версией MEncoder, установленного на вашей машине. Доступны следующие варианты:

Форматы файлов:

Название форматаОписание
lavfОдин из форматов, поддерживаемых библиотекой libavformat
avi'Слоеное' Аудио-Видео
mpegMPEG-1 и MPEG-2 PS
rawvideoсырой видео поток (без уплотнения[no muxing] - только видео поток)
rawaudioсырой аудио поток (без уплотнения[no muxing] - только аудио поток)

AVI является родным форматом для MEncoder, что означает наилучшую его поддержку, MEncoder изначально разрабатывался для этого формата. Как замечено выше, другие форматы тоже пригодны, но вы можете столкнуться с проблемами при их использовании.

форматы файлов библиотеки libavformat:

Если вы выбрали libavformat для уплотнения[muxing] выходного файла (используя -of lavf), подходящий формат файла будет определен по расширению выходного файла. Вы можете заставить использовать конкретный формат опцией format библиотеки libavformat.

название формата libavformatОписание
mpgMPEG-1 и MPEG-2 PS
asfAdvanced Streaming Format
avi'Слоеное' Аудио-Видео
wavWaveform Аудио
swfMacromedia Flash
flvMacromedia Flash видео
rmRealMedia
auSUN AU
nutоткрытый формат NUT (экспериментальный и пока не полностью соответствующий спецификации)
movQuickTime
mp4MPEG-4 формат
dvSony Digital Видео формат

Как видите, libavformat позволяет MEncoder мультиплексировать[mux] во множество форматов. К сожалению, поскольку MEncoder изначально не разрабатывался для поддержки форматов, отличных от AVI, вам следует относиться к результирующему файлу с определенной долей паранойи. Убедитесь, что в порядке Аудио/видео синхронихация, и файл воспроизводится не только в MPlayer.

Пример:

Создание видео Macromedia Flash, подходящего для воспроизведения в веб браузере плагином Macromedia Flash:

mencoder input.avi -o output.flv -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc \
-lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 \
-srate 22050