とりあえずエンコしてみた。

いろんなところを参考にしながら、こんなシンタックスでエンコしてみた。

$ ffmpeg -y -i input.VOB -s 720x480 -b 1500k -maxrate 2000k -pass 1 -vcodec h264 -coder 1 -level 30 -aspect 16:9 -bufsize 9192kb -g 250 -mbd 2 -cmp 2 -subcmp 2 -qmin 10 -qmax 51 -trellis 2 -me umh -me_range 16 -subq 6 -chroma 1 -refs 3 -partitions all -an sample.mp4

見づらいので分解する。

$ ffmpeg \
-y \
-i input.VOB \
-s 720x480 \
-b 1500k \
-maxrate 2000k \
-pass 1 \
-vcodec h264 \
-coder 1 \
-level 30 \
-aspect 16:9 \
-bufsize 9192kb \
-g 250 \
-mbd 2 \
-cmp 2 \
-subcmp 2 \
-qmin 10 \
-qmax 51 \
-trellis 2 \
-me umh \
-me_range 16 \
-subq 6 \
-chroma 1 \
-refs 3 \
-partitions all \
-an sample.mp4

あとで各々のオプションは書くかもしれないとして・・・
元はmpeg2。audioはLPCM。のはずだけど、エンコしたら音声がすっぽりなくなってたorz。

before

after


どれだ!どれがいけなかった!
画質的には2Mbpsなはずで、動かない場面は元との区別があんまりない。ただし、照明のグラデーションがハレーションになってしまうところがある。
とりあえず音声をなんとか。

追記

オプションが間違ってた*1。だもんで、オプションの-anの代わりに

-acodec aac \
-ac 2 \
-ar 48000 \
-ab 128k

を追加。AACのサンプリングレート48k/ビットレート128kで。
そいでもってPSPに転送して再生して超綺麗でビックリ。PC上*2で再生してフルスクリーンにしたりすると元との差がやっと分かるくらいだけど、PSPだと文句なし。
2Mbpsから下げていく方向で。あと、ちょっと縦長になってるような気がするのでここも要調整。あとは2passくらいかな。
それと、元動画はやっぱり元動画のまま保存して、(PS3買うまでは)PSP用の解像度で作る。

追記2

PSP解像度指定。ただ、縦を272にすると上下1ラインずつ表示されないらしい。

-s 480x272

よくわからないオプション。

-partitions parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 

timestampは単純にdateから取れば。

-timestamp `date +"%Y-%m-%d %H:%M:%S"`


<参考URL>
http://blog.so-net.ne.jp/kumosuke/2007-03-30-1

*1:-anってaudio disable

*2:20.1inchのUXGA