本文を読み飛ばす

Xvidでエンコード

Xvidでファイルをエンコード。

なんか数年前にdivxでCD-Rに360分ぐらいの画像を詰め込んでいたが,
DVD-Rが普及した今となっては元画像がもったいない話です.

とりえあず, 昔と同様に2passエンコード.

とはいっても, 昔はtranscodeでしたけど,
今はmencoder. って昔はそんなのなかったよなぁ(^-^;

相変わらず, いっぱい流したいのでshスクリプトにしているあたりは
変わらないんですが.

帰ったらこの記事にサンプル挿入します.

#! /bin/bash
path_src=/home/movies/video/
ext=avi
cat > /tmp/abc.txt <<-EOF
newmp4,abc.mpg
EOF

while read l; do
    o=$( echo $l | cut -d , -f 1 )
    i=$( echo $l | cut -d , -f 2 )
    e="-endpos $( echo $l | cut -d , -f 3 )"

    o=$o.$ext
    i=$path_src/$i
    if [ "$e" = "-endpos " ]; then e=""; fi

    vrate=1300
    arate=128
    tmp=$( mktemp -p /tmp encode.XXXX )

    vopt=turbo:cartoon:hq_ac:trellis
    vopt=$vopt:quant_type=mpeg:chroma_opt:vhq=2:bvhq=1:aspect=16/9

    vfopt="-vf pullup,softskip,pp=ac/tn,crop=706:360:8:60"
    vfopt="$vfopt,scale=720:480,hqdn3d=4:3:6"

    opts="$e -fps 30000/1001 -ofps 24000/1001"

    # 1pass
    mencoder "$i" -oac copy -ovc xvid \
        $opts \
        -xvidencopts pass=1:$vopt $vfopt \
        -passlogfile "$tmp" \
        -o /dev/null

    # 2pass
    mencoder "$i" -oac mp3lame -ovc xvid \
        $opts \
        -xvidencopts pass=2:bitrate=$vrate:$vopt $vfopt \
        -lameopts vbr=2 \
        -passlogfile "$tmp" \
        -ofps 29.97 -of avi -o "$o"

    rm -f "$tmp"
done > /tmp/abc.txt

cat <<EOF
EOF

# vi: ft=sh:ts=4:et:tw=98

コメント

Comments powered by Disqus
宣伝: