ご存知の方も多いかと思いますが、夜な夜な深夜アニメを録画してはiPodで再生できるようにMPEG4エンコードしております。録画もエンコードも自動で出来ているので楽でよいのですが、キャプチャカードに付属の自動エンコードソフトは下記の点でよろしくありません。
自動化するなら FreeBSD が都合が良いのですが、エンコードソフトはWindows用が多いのです。でもずいぶん前から探し続けてようやく見つけました。ffmpeg です。てゆーか、エンコード可能なパラメータ設定にようやくたどりついたというか、ffmpegがようやくコンパイルできたというか(笑)。
1. iPod touch 用に 上下帯付アナログ放送を480x360で出力# ffmpeg -i source.mpg -y -croptop 60 -cropbottom 60 -s 480x270 -aspect 16:9 -vcodec libx264 -mbd 2 -coder vlc -g 250 -b 320k -trellis 2 -partitions parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -aic 2 -cmp 2 -subcmp 2 -acodec libfaac -ac 2 -ab 128k target.mp4
できるファイルはビットレート高めなのですが、1 pass でも十分綺麗です。ちなみに出来たファイルをiPod 5G に転送しようとするとiTunesがエラーを表示します。-level 30 や 21 を指定しても同じ。HandBrakeで作成した480x270サイズは転送可能なので理論的にはそのサイズのファイルは作成可能なはずなんですけどね。考えうる方法をぜんぶ試したつもりだけどダメでした。疲れたよ、パトラッシュ・・・2. iPod 5G カーナビ表示用に 上下帯付アナログ放送を320x240の縦長で出力
# ffmpeg -i source.mpg -y -level 13 -croptop 60 -cropbottom 60 -s 320x240 -vcodec libx264 -mbd 2 -coder vlc -g 250 -b 400k -trellis 2 -partitions parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -aic 2 -cmp 2 -subcmp 2 -acodec libfaac -ac 2 -ab 128k target.mp4
代わりといってはナニですが、iPod5Gで縦長が簡単に作れました。これ作るのって HandBrake でしか方法を知らなかったので深夜アニメがほとんど帯付ってことを考えると、自動化できれば非常に役に立ちます。ファイルサイズはキャプチャカード付属ソフトの半分で収まるにもかかわらず、ブロックノイズなど皆無でとても綺麗な表示です。
そんなわけで、イマイチなWindowsのエンコードプログラムの代わりに FreeBSD から自動的にH.264エンコードするスクリプトを書いてみました。私には難しいプログラムは書けないので、もちろんサルでもわかる簡単言語の PHP を使います。
と、だいたいこんな感じ。てきとーに書いただけですが、とりあえず日常運用には支障ないところまで仕上がっています。今後の課題、というか問題点は下記のとおり。
まだ作成中ではありますが、正常に動けばなかなか便利っぽいですね。iPod touch用のコンポジットケーブルは注文してるのにぜんぜん来ないし、もうカーナビ用にはiPod5Gだけ使おうかしら(T^T)。
# 録画リストのうち帯付はどれくらいあるのかな?と数えてみたら、なんと20個も(笑)。