HowTo Linux mencoder
Mencoder принимает в параметрах только фильтры и кодеки того, что мы хотим видеть в результате. Не буду вдаваться в подробности правильного кодирования с подщетом битрейда и выдерживанием строгого объема файла. Обойдемся домашним кодированием.
Рассмотрим пример:
mencoder -ofps 25 -ffourcc DIVX -ovc lavc -oac mp3lame -lameopts vbr=0:br=164:mode=0 -o out.avi infile.bla
Разберем что же мы вводим:
"mencoder" вызываем саму программу менкодер
"-ffourcc DIVX -ovc lavc" выбираем видеокодек DivX
"-ofps 25" устанавливаем частоту кадров 25 кадров в секунду
"-oac mp3lame" выбираем аудиокодек mp3
"-lameopts vbr=0:br=164:mode=0" устанавливаем параметры для кодека mp3 (vbr, битрейт, стерео)
"-o out.avi" задаем имя выходного файла.
"infile.bla" тут выбираем файл, который хотим кодировать
Имена файлов лучше заключать в кавычки двойные (" ") или одинарные (' '), чтобы избежать проблем с нечитаемыми или служебными символами, а также пробелами, которые являются разделителями имен. Одинарные кавычки более строгие, и если вы хотите, чтобы mencoder буквально понял имя файла, то ставьте именно их.
Данного примера обычно хватает для большинства случаев.
В случае с перекодированием звука из AC3 (шестиканальный звук).
Узнать какой кодек у фильма можно коммандой
file name.bla
"name.bla" это наш фильм.
Мы увидим что-то типа такого (шестиканальный звук):
Смертельная гонка 2.avi: RIFF (little-endian) data, AVI, 720 x 400, 23.98 fps, video: XviD, audio: Dolby AC3 (6 channels, 48000 Hz)
Или такого (стерео звук):
out2.avi: RIFF (little-endian) data, AVI, 720 x 400, 25.00 fps, video: DivX 4, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)
Для нормального перекодирования такого звука необходимо перед "-oac" вставить следующие опции:
-af hrtf volnorm=1
Это даст нам нормальный стерео звук без затухания (еще не проверял, но так пишут в документации)
Бывает, что звук идетнормально, а видео летит быстрее в два раза, тогда необходимо применить такую опцию:
-speed 0.5
Ускорение звука еще не попадалось
Если картинка видео слишком большая (для dvd плееров необходимо уменьшить), то применяем следующую опцию до "-ovc":
-vf scale=720:-2
"720" это ширина каотинки.
"-2" применяется для пропорциональной автоматической подборки высоты картинки
Если в видео несколько дорожек, а нам нужна только одна, то выбираем ее следующей опцией, которую пишем перед "-avc":
-aid 0
Где "0" это номер дорожки. Узнать номер дорожки можно запустив в терминале фильм из mplayer:
mplayer film.bla
Мы увидим что-то типа этого:
[aviheader] Audio stream found, -aid 1
Выбираем нужную нам дорожку отсюда.