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сырой видео поток (без мультиплексирования - только видео поток)
rawaudioсырой аудио поток (без мультиплексирования - только аудио поток)

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

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

Если вы выбрали libavformat для мультиплексирования выходного файла (используя -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 Видео формат
mkvОткрытый аудио/видео контейнер Matroska

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

Пример 13.1. Кодирование в формат Macromedia Flash

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

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