MPlayerに付属のmencoderは、 ビデオファイルの変換や、テレビを直接録画することもできます。 mencoderの使い方は net_halさんのページ(零Home)や mencoderでTV録画 が参考になります。
MPlayerの導入方法はこちらを見てください。
たとえば次のようなコマンドで、12チャンネルを10秒間、映像をmpeg4で、音声はmp3で録画できます。(mplayer のコマンドは実際には1行で)
$ aumix -l R -l 50% -i 10%
$ v4l-ctl setchannel 12
$ mencoder -tv driver=v4l2:norm=ntsc -ovc lavc -oac lavc -lavcopts vcodec=mpeg4:acodec=mp3 -o output.avi -endpos 10 tv://
最初に aumix コマンドで、ライン入力を録音入力にあてがい、ボリュームを50%に、また録音ボリュームを10%にセットしています。
次に v4l-ctl コマンドでチャンネルをセットします。
その後、mplayer コマンドで録画します。
driverの指定は Vine Linux 4.0など、V4L2ドライバの場合を示しています。Vine Linux 2.6など、V4Lドライバの場合は driver=v4l としてください。
normの指定は、キャプチャカードによっては ntscjp あるいは ntsc-jp や ntsc-j となる場合があります。
mencoder を実行したときの出力をよく見れば、どれが適当であるか分かります。
もう少し細かい指定をしてみます。 次は、ビデオデバイスの指定、画面サイズ、フレームレート、映像と音声のビットレートなどを指定した例です。 ffmpegが作るmpeg4を再生できないプレーヤーがあるために、-ffourcc divx で、映像コーデックの標識を dvix に書き換えています。
$ mencoder -tv driver=v4l2:device=/dev/video0:norm=ntsc:width=320:height=240:fps=15 -ovc lavc -oac lavc -ffourcc divx -lavcopts vcodec=mpeg4:vbitrate=2000:acodec=mp3:abitrate=128 -o output.avi -endpos 10 tv://
次は、映像の圧縮に xvidを、音声の圧縮には lameを使った例です。
$ mencoder -tv driver=v4l2:width=320:height=240:norm=ntsc -ovc xvid -xvidencopts bitrate=2000 -oac mp3lame -lameopts cbr:br=64 -o output.avi -endpos 10 tv://
mpeg2などのファイルを3-passでmpeg4(divx)に変換する例です。 1回目は vpass=1、2回目と3回目はどちらも vpass=3 と指定します。 4回でも5回でも同じように繰り返すことができるそうですが、効果のほどは分かりません。
$ QSCALE=7; BITRATE=3000; AUDIO_BITRATE=64
$ INFILE=movie.mpg; OUTFILE=movie_pack.avi; TMPFILE=movie_3pass.log
$ mencoder -ffourcc divx4 -ovc lavc -lavcopts turbo:vcodec=mpeg4:vqscale=$QSCALE:vpass=1 -oac copy -passlogfile $TMPFILE -o /dev/null $INFILE && \
mencoder -ffourcc divx4 -ovc lavc -lavcopts turbo:vcodec=mpeg4:vqscale=$QSCALE:vbitrate=$BITRATE:vpass=3 -oac copy -passlogfile $TMPFILE -o /dev/null $INFILE && \
mencoder -ffourcc divx4 -ovc lavc -lavcopts vcodec=mpeg4:vqscale=$QSCALE:vbitrate=$BITRATE:mbd=1:v4mv=yes:vpass=3 -oac lavc -lavcopts acodec=mp3:abitrate=$AUDIO_BITRATE -passlogfile $TMPFILE -o $OUTFILE $INFILE
xvidコーデックとlameを使って2-passで変換する例です。
$ mencoder -ovc xvid -xvidencopts turbo=yes:pass=1 -oac copy -passlogfile $TMPFILE -o /dev/null $INFILE && \
$ mencoder -ovc xvid -xvidencopts bitrate=$BITRATE:pass=2 -oac mp3lame -lameopts cbr:br=$AUDIO_BITRATE:aq=0 -passlogfile $TMPFILE -o $OUTFILE $INFILE