LinuxでTV録画(続き)

色々試してみて、結局こんな感じで落ち着いた。

% mencoder -quiet \
 -tv driver=v4l:input=2:norm=ntsc:forceaudio \
 -tv width=480:height=360 \
 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2500:me_range=0 \
 -oac mp3lame -lameopts cbr:br=192:aq=0:padding=2 \
 -vf pp=de/lb/tn \
 -endpos 60 -o output.avi tv://3

前回からほとんど変わってないけど、-vf(ビデオフィルタ)周りの設定が若干変更された。特にpp=lb(後処理でdeinterlaceする)は必須で、これがないとテロップなんかの動きのある部分が非常に見にくくなる。

これで30分録画してだいたい300MB〜700MBぐらい。CM抜いて再エンコードすると50%〜80%程度に縮む。croppingとresizeはチャンネルや番組毎に違うこともあるので今は再エンコードのときにノイズ除去と一緒にやってる。avidemuxならfilterの設定を保存しておけるので、毎回微調整しながら最適な値を見付けているところ。

画質やファイルサイズに関してはだいたい満足してるんだけど、録画していることを忘れて並行して作業*1していると、たまにひどいコマ落ちが発生して映像と音声の同期が取れなくなってしまうのはなんとかならないかな。CPU(Celeron 1.7GHz)とメモリ(256MB)のどっちかまたは両方のスペックを上げれば解決するのか?

あとリンクとか:

*1:XMMSOgg Vorbisを再生しながら裏でFirefoxのビルドと動画の再エンコードをしつつブラウザで複数のタブを開きながらこの日記書いたりとか