Наложи ми се преди 1 седмица да си запиша две DVDта на диска и реших да не отделям 9ГБ за това, а да си поиграя малко с mencoder. Доста ровех из нета, доста опции, доста предложения… въобще сложна работа. В крайна сметка реших:

  • x264 за видеото
  • mp3 за аудиото (звука не е важен за DVDтата, които ми трябваха, иначе щях да избера AAC)
  • mkv за формат
  • mencoder, mkvtools и ogmtools а процедурата

А ето и командите.
Информация за главите и копиране на заглавието от DVDто на диска:

dvdxchap -t 1 /dev/dvd > 1.chapters
mplayer dvd://1 -dumpstream -dumpfile 1.vob

Първи цикъл само преглежда видеото и си записва информация за кодирането в следващия цикъл:

rm *.log #изтрий стари логове
mencoder -v 1.vob \
-alang en \#език - английски
-vf yadif \#деинтерлейсър yadif
-ovc x264 \ #кодек x264
-x264encopts subq=4:bframes=4:b_pyramid:weight_b:pass=1:psnr:bitrate=1800:turbo=1 \ #1800 битрейт дава доста добро качество за размера на файла
-oac copy \ #за сега само копира аудиото
-ofps 24000/1001 \# приблизително 23.9 фрейма в секунда
-slang en \
-o /dev/null

Втори цикъл:

mencoder -v 1.vob \
-alang en \
-vf yadif \
-ovc x264 \
-x264encopts subq=5:partitions=4x4:8x8dct:frameref=3:me=hex:bframes=4:b_pyramid:pass=2:psnr:bitrate=1800 \
-oac mp3lame \ #mp3lame кодек за звука
-lameopts abr:br=256:vol=7 \ #256 битрейт
-ofps 24000/1001 \
-o 1.avi #запиши всичко в ави формат за сега

На този етап, имаме иделано работещо AVI файлче което за едно DVD е около 1800MB. Аз, обаче, искам да имам и главите от DVDто. Следващата стъпка при мен е да отворя диска и да мина през всички глави, като сменям заглавията на главите в 1.chapters, защото Chapter 01, Chapter 02… нищо не ми говори.

Накрая комбинирам аудиото и видеото от .avi файла и информацията за главите в един .mkv формат:

mkvmerge --title "Заглавие на двдто" -o 1.mkv --chapters 1.chapters 1.avi

След като се уверим, че 1.mkv работи без проблеми, можем да изтрием предишните файлове:

rm -rf 1.vob 1.avi 1.chapters

Това е. Към .mkv файла могат да се добавят субтитри, други аудио канали и много други неща.

Може би има по-добър начин да се постигне всичко това, но на мен това ми свърши работа.