Как красиво убрать интерлейсинг с помощью mencoder’а
Добавьте такие опции: -vf yadif=1 -fps _fps_оригинала*2_
. FPS оригинала можно посмотреть в выводе mplayer’а на консоль.
Горизонтальные полосы пропадут, а количество кадров в секунду возрастет вдвое. Сравнить можно на семплах.
Пример — скрипт для двухпроходного кодирования в x264, которым я пользуюсь для кодирования домашнего видео:
#!/bin/sh
source=$1
output=$2
nice ionice -c3 \
mencoder \
-ovc x264 -x264encopts subq=1:frameref=1:pass=1 \
-aspect 4:3 \
-nosound \
-vf yadif=1 -fps 50.0 \
$source -o /dev/null || exit 1
nice ionice -c3 \
mencoder \
-of lavf \
-ovc x264 -x264encopts bitrate=3000:subq=6:frameref=3:pass=2 \
-aspect 4:3 \
-oac mp3lame -lameopts preset=studio \
-vf yadif=1 -fps 50.0 \
$source -o $output || exit 1
А вообще
Откройте, во-первых, man mencoder
. Это будет справочник. Затем откройте документацию по mencoder’у на его сайте, можно даже на русском. Это будет наглядное руководство.
Кое-какие грабли, на которые я наступил
-yadif=1
увеличивает количество кадров в секунду вдвое. Если не поменять fps вручную (с помощью-fps
), то видео получается «тормозным».- Иногда по каким-то причинам возникают проблемы с индексом. То перемотка не работает, то еще что-то. Решается с помощью
-forceidx
. Чтобы застраховаться от такого, можно добавить-idx
— тогда индекс пересчитывается только в том случае, если видео поломано. - mplayer умеет применять «крутой» деинтерлейсинг и во время проигрывания, так что для одноразового просмотра не надо ничего конвертировать. Вот скриншот, показывающий, как это делается в smplayer’е.