週末の深夜はシコシコと変換君用のスクリプトを書いてました。
30分のアニメ(1G近くのMPEG2フォーマット)を、将来PSPで見つつPCでの再生もちょこっとキレイに、で、ファイルサイズは100M前後ぐらいのものを30分~1時間ぐらいのエンコードで、とかなり都合のいいことをたくらんでいたり。


で、何とか出来上がりました。
時間がかかるので2passは諦めて、1pass変換で、H.264は時間がかかるもののかなり縮みますね。
音声はffmpegではなく、neroEncでエンコードして最後にMP4BOXで結合。


スクリプトはこんな感じです。

Title=AVC 480x270(4:3)/23.98fps/768kbps/1pass VBR
TitleE=AVC 480x270(4:3)/23.98fps/768kbps Stereo/128kbps
Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -vn -acodec pcm_s16le -ac 2 -ar 48000 -f wav "<%TemporaryFile%>.wav""
Command1=""<%AppPath%>\cores\ffmpeg" -bitexact -y -i "<%InputFile%>" -vcodec h264 -coder 1 -aspect 4:3 -s 480x270 -padbottom 2 -r 24000/1001 -profile 51 -bufsize 128kb -g 300 -bf 3 -mbd 2 -cmp 2 -subcmp 2 -trellis 3 -partitions all -qmin 16 -qmax 24 -qcomp 0.8 -level 30 -flags 1 -an -f mp4 "<%TemporaryFile%>.mp4""
Command2=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -f image2 -ss 5 -vframes 1 -aspect 16:9 -s 160x120 -an "<%OutputFile%>.jpg""
Command3=""<%AppPath%>\cores\neroaacenc" -he -q 0.20 -if "<%TemporaryFile%>.wav" -of "<%TemporaryFile%>.aac""
Command4=""<%AppPath%>\cores\MP4Box" -add "<%TemporaryFile%>.mp4" -add "<%TemporaryFile%>.aac" -fps 24000/1001 -lang jpn -new "<%OutputFile%>.mp4""
Command5="rm "<%TemporaryFile%>.wav""
Command6="rm "<%TemporaryFile%>.aac""
Command7="rm "<%TemporaryFile%>.mp4""

注意:ffmpegのバージョンは 8564です。