Уголок СУ-11 на просторах вселенной

вторник, 3 июня 2008 г.

Как перекодировать фильм для КПК (PDA,avi,DVD)?

На ВиКи странице нашел отличную подборку советов по работе с видео, в частности вот такой:
http://linux.org.ru/wiki/en/Multimedia#%D0%9A%D0%B0%D0%BA_%D0%BF%D0%B5%D1%80%D0%B5%D0%BA%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C_%D1%84%D0%B8%D0%BB%D1%8C%D0%BC_%D0%B4%D0%BB%D1%8F_%D0%9A%D0%9F%D0%9A_(PDA%2Cavi%2CDVD)%3F

Как перекодировать фильм для КПК (PDA,avi,DVD)?

Точно так же, как и для обычного компьютера. Разница заключается в разрешении и битрейте. Так же не стоит пользоваться экзотическими кодеками.

Фильмы, закодированные так, как описано, прекрасно смотрятся с помощью tcpmp (преемник betaplayer).

Будь то КПК с разрешением VGA или QVGA для обоих прекрасно подойдет классическое разрешение 320x240 и его вариации. Битрейт - от 170 до 220 кбит/сек. Поставите меньше - получите квадраты на быстрых сценах. Поставите больше и увеличите размер файла без заметного улучшения качества.

Не советую ухудшать звук, если пережимаете из avi-файла, потому что если экран у вас меньше, то звук-то как раз не ухудшается. Более того, в наушниках некачественный звук раздражает больше. Хотя, если места совсем мало, можете сделать звук mono, 22050 Гц на 80кбит/с. Это минимум того, что я видел. Экономит примерно 30-40Мб.

Итак, скрипт для перекодировки фильма из avi-файла с помощью mencoder (кодируется реальный полуторачасовой фильм "К оружию" из серии "Вавилон-5"):

#!/bin/bash

PH=/mnt/dos/media/Video
READYPH=/mnt/dos/media/Video/ready
NAME=Babylon5_Call_to_Arms
BITRATE=230
NICE=15
ENG=129
RUS=128

nice -n $NICE mencoder /mnt/dos/media/Video/$NAME".avi" -ni \
-ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=$BITRATE:vme=5:keyint=300:v4mv:mv0:qpel:trell:cbp:naq \
-vf scale=320:176,pp=hb/vb/dr -sws 2 \
-oac copy \
-o $READYPH/$NAME"-pda.avi"

Несколько проходов не нужно, потому как улучшения качества не наблюдается.

Можно еще число кадров снизить. Тогда добавим в строчку команду -ofps 25 для того, чтобы получить 25 кадров в секунду. Правда есть засада - на некоторых сценах изображение может дергаться.

Размер фильма будет около 200 Мб. Так что на гигабайтную карту легко поместятся четыре фильма.

Точно так же кодируется фильм из DVD. Меняем строчку с параметрами на нижеприведенные:

cat $PH/*vob | nice -n $NICE mencoder - -ni -aid $RUS \
-ovc frameno \
-oac mp3lame -lameopts vbr=3:br=192:q=0:aq=0 \
-o $READYPH/"sound-"$RUS".avi"

cat $PH/*.vob | nice -n $NICE mencoder - \
-ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=$BITRATE:vme=5:keyint=300:v4mv:mv0:qpel:trell:cbp:naq \
-vf scale=320:176,pp=hb/vb/dr -sws 2 \
-nosound \
-o $READYPH/fin_noso.avi

nice -n $NICE avimerge -i $READYPH/fin_noso.avi -p $READYPH/"sound-"$RUS".avi" -o $READYPH/final.a
vi

Комментариев нет: