NTVREC



ntvrec は主にテレビ録画を目的としたプログラムです。録画したファイルを
ndecencndeview を使って再エンコード、フレームカット等の簡単な編集もできます。
録画したファイルは mplayerxine 他で再生できます。
(-vcodec rtjpeg で録画した場合は映像は再生できないので ndecenc で XVID 他に
再エンコードする必要があります)
使い方は使用例を見ていろいろ試してみて下さい。


--------
開発環境
--------

OS:
RedHat LINUX 8.0 (kernel 2.4.20)
CPU:
PenuimIII (850Mhz)
ビデオキャプチャーデバイス:
アルファデータ AD-TVK52pro (たぶん bt878A チップだと思う)
サウンドキャプチャーデバイス:
Sound Blaster Live (ALSA 0.9.0rc6 の OSS emulation)



----------
必要なもの
----------

v4l でサポートしているビデオキャプチャーカード,
サウンドをキャプチャーできるデバイス。



------------
インストール
------------

おそらくパッケージに含まれているものだけでも動作はすると思うのですが
このままでは使い物にならないと思うので以下のパッケージをあらかじめ
インストールしておくことをお推めします。

XVID library 0.9.1 <http://xvid.org>
上の URL から xvidcore-0.9.1.tar.gz をダウンロードして

tar -zxf xvidcore-0.9.1.tar.gz
cd xvidcore-0.9.1/build/generic
./configure
make
make install

LAME library 3.93.1 <http://lame.sourceforge.net>
上の URL から lame-3.93.1.tar.gz をダウンロードして

tar -zxf lame-3.93.1.tar.gz
cd lame-3.93.1
./configure
make
make install

上記の他に ffmpeg の libavcodec を使用したい場合は
http://ffmpeg.sourceforge.net/ から ffmpeg-0.4.6.tar.gz をダウンロードして

tar -zxf ffmpeg-0.4.6.tar.gz
cd ffmpeg-0.4.6
./configure
make

としてから ntvrec を configure する時に

--with-libavcodec=/ffmpegを解凍したディレクトリ/ffmpeg-0.4.6/libavcodec

オプションを指定します。


必要に応じて上記のパッケージをインストールしてから

tar -zxf ntvrec-0.0.20.tar.gz
cd ntvrec-0.0.20
./configure
libavcodec を使いたいときには
./configure --with-libavcodec=/ffmpegを解凍したディレクトリ/ffmpeg-0.4.6/libavcodec
make
make install

とすると /usr/local 以下に ntvrec がインストールされます。



-------------
ntvrec の起動
-------------

まず xawtv 等の TV プログラムを起動してチャンネルなどをあわせます。
そして TV プログラムを終了します。
次に aumix 等のサウンドミキサープログラムでサウンドのキャプチャーソースを
設定します。それからコマンドラインで

$ ntvrec

と打ち込んでプログラムを起動させて、録画を開始させたい時に 's' キーを押せば
録画が開始されます。
終了したい時は 'q' キーを押します。



---------------------
ntvrec のキーコマンド
---------------------

[キー] [動作]
's' 録画開始
'q' プログラム終了
'p' ポーズまたは録画再開
't' 録画を止めてファイルに書き込む



-----------------------
ntvrec のコマンドライン
-----------------------

ntvrec [OPTIONS] <output file name>



-------
OPTIONS
-------
######################
オーギュメントの説明:
d は整数、
f は小数点数
s は文字列
sel はアイテムの中からセレクト,大文字小文字の区別はしません
time は時間を指定
10進数の後に y (年), M (月), d (日), h (時), m (分), s (秒),の
キャラクターを付加。
y (年), M (月), d (日)が省略されたら現在の, 年,月,日,時が
m (分), s (秒)が省略されたら, 0 が入ります。
例: 2003y5M20d19h30m30s, 21d0h50m, 20h30m.
オーギュメントが無い場合はオン、オフをトグルします。


-h
ヘルプの表示

-t time
録画時間の指定
(このオプションが指定された場合自動的に録画が 開始されます。)

-start-time time
録画開始時間の指定
(y,M,d が省略されていて指定された時間が現在の時間より
前だった場合次の日の指定された時間となります。)
(指定された時間になったら自動的に録画が開始されます。)

-end-time time
録画終了時間の指定
(y,M,d が省略されていて指定された時間が現在の時間より
前だった場合次の日の指定された時間となります。)

-s dxd
録画するフレームのサイズ [ デフォルト: 320x240 ]

-fps f
fps の指定
( 0 の場合ビデオフレームをキャプチャーした時間とフレーム数から計算します。)
[ デフォルト: 0 ]

-max-buffers d
バッファー出来るビデオフレームの最大数。
[ デフォルト: 32 ]

-file-format sel
出力ファイルのフォーマット。
[ アイテム: MOV, AVI ]
[ デフォルト: MOV ]

-o s
出力ファイル名の指定。
( -o を指定せずに単にファイル名だけでも同等の効果 )
[ デフォルト: movie.mov ]

-vd s
ビデオデバイスの指定
[ デフォルト: /dev/video0 ]

-vd-source d
キャプチャーするビデオデバイスソース (TV, Composit, S-video 等,
自分の環境だと 0 が TV で、1 が Composit で、2 が S-video)
[ デフォルト: 0 ]

-vd-tuner d
ビデオキャプチャーカードにチューナーが複数ある場合に指定。
[ デフォルト: 0 ]

-vd-norm sel
norm の指定。日本の場合だと NTSC。
[ アイテム: PAL, NTSC , SECAM, AUTO ]
[ デフォルト: NTSC ]

-vd-audio d
ビデオキャプチャーカードにオーディオソースが複数ある場合に指定。
[ デフォルト: 0 ]

-vd-brightness d
ビデオキャプチャーカードの brightness の調整。
( 0 から 100 の間の整数、-1 の場合変更しません。)
[ デフォルト: -1 ]

-vd-hue d
ビデオキャプチャーカードの hue の調整。
( 0 から 100 の間の整数、-1 の場合変更しません。)
[ デフォルト: -1 ]

-vd-color d
ビデオキャプチャーカードの color の調整。
( 0 から 100 の間の整数、-1 の場合変更しません。)
[ デフォルト: -1 ]

-vd-contrast d
ビデオキャプチャーカードの contrast の調整。
( 0 から 100 の間の整数、-1 の場合変更しません。)
[ デフォルト: -1 ]

-vd-freq d
テレビをキャプチャーする時のチャンネル周波数の指定。
(例えばチャンネル 1 は 91250, チャンネル 3 は 103250 等。
-1 の場合変更しません。)
[ デフォルト: -1 ]

-ad s
オーディオデバイスの指定。
[ デフォルト: /dev/dsp ]

-ad-mixer s
オーディオミキサーデバイスの指定。
[ デフォルト: /dev/mixer ]

-ad-source s
オーディオキャプチャーソースの指定。
このオプションが指定された場合現在有効なキャプチャーソースから
指定されたソースに変更します。
[ デフォルト: 無指定 ]

-audio-rate d
オーディオキャプチャー時のサンプリングレートの指定。
[ デフォルト: 22050 ]

-audio-channels d
オーディオキャプチャー時のチャンネルの指定。
( 1 [mono] かまたは 2 [stereo] )
[ デフォルト: 2 ]

-vcodec sel
ビデオをエンコードするコーデックの指定。
[ アイテム: YV12, RTJPEG ]
(XVID library をインストールしてからコンパイルした場合上に加えて
[ アイテム: XVID ] )
[ デフォルト: YV12 ]

-acodec sel
オーディオをエンコードするコーデックの指定。
[ アイテム: PCM ]
(LAME library をインストールしてからコンパイルした場合上に加えて
[ アイテム: MP3 ] )
[ デフォルト: PCM ]

XVID library をインストールしてからコンパイルした場合以下の xvid オプションが
有効になります。

-xvid-mode sel
XVID エンコードモード。
[ アイテム: CBR, QUANT, 2PASS1, 2PASS2 ]
[ デフォルト: CBR ]

-xvid-bitrate d
CBR, 2PASS1 モード時のビットレート(キロ)。
[ デフォルト: 900 ]

-xvid-quant d
QUANT モード時の quant。
( 1 から 31 の間の整数 )
[ デフォルト: 5 ]

-xvid-quality d
エンコードクオリティー。
( 0 から 6 の間の整数 )
[ デフォルト: 5 ]

-xvid-quant-type sel
Quantization type.
[ アイテム: DEFAULT, H263, MPEG, MODULATE ]
[ デフォルト: DEFAULT ]

-xvid-rc-reaction-delay-factor d
encode param rc_reaction_delay_factor.
( 0 の場合エンコーダーが適当な値に設定します。)
[ デフォルト: 0 ]

-xvid-rc-averaging-period d
encode param rc_averaging_period.
( 0 の場合エンコーダーが適当な値に設定します。)
[ デフォルト: 0 ]

-xvid-rc-buffer d
encode param rc_buffer.
( 0 の場合エンコーダーが適当な値に設定します。)
[ デフォルト: 0 ]

-xvid-min-iquant d
Min I-frame quantizer.
( 1 から 31 の間の整数 )
[ デフォルト: 2 ]

-xvid-max-iquant d
Max I-frame quantizer.
( 1 から 31 の間の整数 )
[ デフォルト: 15 ]

-xvid-min-pquant d
Min P-frame quantizer.
( 1 から 31 の間の整数 )
[ デフォルト: 2 ]

-xvid-max-pquant d
Max P-frame quantizer.
( 1 から 31 の間の整数 )
[ デフォルト: 15 ]

-xvid-min-key-interval d
Minimum I-frame interval.
[ デフォルト: 1 ]

-xvid-max-key-interval d
Maximum I-frame interval.
( 0 の場合おおよそ fps * 10 の値に設定します。)
[ デフォルト: 0 ]

-xvid-intra-only
only intra frame.
[ デフォルト: オフ ]

LAME library をインストールしてからコンパイルした場合以下の mp3 オプションが
有効になります。

-mp3-bitrate d
ビットレート(キロ)。
[ デフォルト: 64 ]

-mp3-quality d
エンコードクオリティー。
[ デフォルト: 5 ]

-mp3-mode sel
エンコードモード。
[ アイテム: STEREO, JOINT, MONO ]
[ デフォルト: JOINT ]









NDECENC, NDEVIEW


ndecenc は ntvrec を使って録画したファイルを再エンコードしたり、
フレームカット等の簡単な編集をするためのプログラムです。
ndeview は ndecenc で処理するためのカットする位置を特定したり、
切り取りたい部分やフレームのサイズをテストすることなどに使用します。

ndecenc と ndeview は ntvrec で作られたファイルを対象としています。
その他の大部分の avi や mov ファイルではうまく動作しないと思います。



---------------------
ndeview のキーコマンド
---------------------

[キー] [動作]
'k' 1 フレーム進む
'j' 1 フレーム戻る
'l' 次のキーフレームに進む
'h' 前のキーフレームに戻る
';' 1 分先のフレームまで進む
'g' 1 分後のフレームまで戻る
'm' 3 秒先のフレームまで進む
'n' 3 秒後のフレームまで戻る
'q' プログラム終了



--------------
コマンドライン
--------------

ndecenc [INPUT FILE OPTIONS] <input file name> [[INPUT FILE OPTIONS] <input file name> ...] [OUTPUT FILE OPTIONS]

ndeview [INPUT FILE OPTIONS] <input file name> [[INPUT FILE OPTIONS] <input file name> ...] [OUTPUT OPTIONS]


-------
OPTIONS
-------
######################
オーギュメントの説明:
d は整数、
f は小数点数
s は文字列
sel はアイテムの中からセレクト,大文字小文字の区別はしません
time は時間を指定
10進数の後に y (年), M (月), d (日), h (時), m (分), s (秒),の
キャラクターを付加。
y (年), M (月), d (日)が省略されたら現在の, 年,月,日,時が
m (分), s (秒)が省略されたら, 0 が入ります。
例: 2003y5M20d19h30m30s, 21d0h50m, 20h30m.
オーギュメントが無い場合はスイッチです、オン、オフをトグルします。

----------------------------------
ndecenc のコマンドラインオプション
----------------------------------

-h
ヘルプの表示

[INPUT FILE OPTION]
(入力ファイルの前に指定された場合その入力ファイルで有効になります。
入力ファイルが複数ある場合それぞれの入力ファイル毎に指定する必要があります。)

-crop d:d:d:d
切り取りたい領域の大きさをピクセル単位で指定。
(left:right:top:bottom)
[ デフォルト: 0:0:0:0 ]

-cut d:d[,d:d,...]
カットしたいフレームを指定。
(start:end)
[start を省略した場合最初のフレーム、
end を省略した場合最後のフレームが入ります。複数指定可能]
[ デフォルト: 無指定 ]

-field-order sel
フィールドオーダー。
[ アイテム: top, bottom ]
[ デフォルト: top ]

-bright d
ブライトの調整。
( -255 から 255 までの整数 )
[ デフォルト: 0 ]

-contrast d
コントラストの調整。
( -100 以上の整数 )
[ デフォルト: 0 ]

-color d
カラーの調整。
( -100 以上の整数 )
[ デフォルト: 0 ]

-interlaced-source
前後のフィールドの差分を評価して差分の少ない方と結合します。
映画やアニメ等の 24fps で作られている物等に使用すると効果があります。
[ デフォルト: オフ ]

-flicker-eval d
-interlaced-source オプションの差分を評価する領域の大きさを
パーセンテージで指定します。
[ デフォルト: 10 ]

-deinterlace
デインターレースのオン、オフ。
[ デフォルト: オフ ]

-deinterlace-type sel
デインターレースのタイプ。
[ アイテム: linear_blend, bilinear, linedoubling, yuvdenoise ]
[ デフォルト: linear_blend ]

-median-filter
メディアンフィルターにかけます。
[ デフォルト: オフ ]

-denoise
ノイズを減少させる機能のオン、オフ。
このオプションを有効にすると圧縮効率が上がります。
が、処理に時間がかかります。
[ デフォルト: オフ ]

-denoise-radius d
デノイズする時のラディウスの指定。
[ デフォルト: 8 ]

-denoise-threshold d
この数値を大きくすると除去するノイズは増えますが、
エラーも多くなります。
[ デフォルト: 5 ]

-denoise-ppthreshold d
上に同じ。
[ デフォルト: 4 ]

-denoise-ppthreshold d
デノイズする時のアベレージをとるフレームの数。
[ デフォルト: 3 ]

-denoise-sharpen d
denoise sharpen.
[ デフォルト: 125 ]

-denoise-uv
UV 成分のフリッカーを抑制します。色がチラチラする場合に効果があります。
[ デフォルト: オン ]

-denoise-uvthreshold d
この数値を大きくすると除去するノイズは増えますが、
エラーも多くなります。
[ デフォルト: 10 ]

[OUTPUT FILE OPTION]
(出力ファイルに関するオプションです。複数指定された場合最後のものが有効に
なります。)

-s dxd
フレームのサイズ
[ デフォルト: 最初の入力ファイルと同じサイズ ]

-fps f
fps (フレーム / 秒) の指定
[ デフォルト: 最初の入力ファイルと同じ ]

-frames d
出力するフレーム数。
( 0 の場合入力ファイルや fps などから計算されます )
[ デフォルト: 0 ]

-file-format sel
出力ファイルのフォーマット。
[ アイテム: MOV, AVI ]
[ デフォルト: MOV ]

-o s
出力ファイル名の指定。
[ デフォルト: out.mov ]

-zoom-filter-type sel
フレームのサイズを変更する時の zoom で使われるフィルターのタイプ。
[ アイテム: lanczos, blackman, point, box, triangle, quadratic, cubic,
catrom, mitchell, gaussian, sinc, bessel, hanning, hamming,
kaiser, hermite, blackmanbessel, blackmansinc ]

-zoom-window-type sel
フレームのサイズを変更する時の zoom で使われるウィンドーのタイプ。
[ アイテム: lanczos, blackman, point, box, triangle, quadratic, cubic,
catrom, mitchell, gaussian, sinc, bessel, hanning, hamming,
kaiser, hermite, blackmanbessel, blackmansinc ]

-vcodec sel
ビデオをエンコードするコーデックの指定。
[ アイテム: YV12, RTJPEG ]
(XVID library をインストールしてからコンパイルした場合上に加えて
[ アイテム: XVID ] )
[ デフォルト: YV12 ]

-acodec sel
オーディオをエンコードするコーデックの指定。
[ アイテム: PCM ]
(LAME library をインストールしてからコンパイルした場合上に加えて
[ アイテム: MP3 ] )
[ デフォルト: PCM ]

XVID library をインストールしてからコンパイルした場合以下の xvid オプションが
有効になります。

-xvid-mode sel
XVID エンコードモード。
[ アイテム: CBR, QUANT, 2PASS1, 2PASS2 ]
[ デフォルト: CBR ]

-xvid-bitrate d
CBR, 2PASS1 モード時のビットレート(キロ)。
[ デフォルト: 900 ]

-xvid-quant d
QUANT モード時の quant。
( 1 から 31 の間の整数 )
[ デフォルト: 5 ]

-xvid-quality d
エンコードクオリティー。
( 0 から 6 の間の整数 )
[ デフォルト: 5 ]

-xvid-quant-type sel
Quantization type.
[ アイテム: DEFAULT, H263, MPEG, MODULATE ]
[ デフォルト: DEFAULT ]

-xvid-rc-reaction-delay-factor d
encode param rc_reaction_delay_factor.
( 0 の場合エンコーダーが適当な値に設定します。)
[ デフォルト: 0 ]

-xvid-rc-averaging-period d
encode param rc_averaging_period.
( 0 の場合エンコーダーが適当な値に設定します。)
[ デフォルト: 0 ]

-xvid-rc-buffer d
encode param rc_buffer.
( 0 の場合エンコーダーが適当な値に設定します。)
[ デフォルト: 0 ]

-xvid-min-iquant d
Min I-frame quantizer.
( 1 から 31 の間の整数 )
[ デフォルト: 2 ]

-xvid-max-iquant d
Max I-frame quantizer.
( 1 から 31 の間の整数 )
[ デフォルト: 15 ]

-xvid-min-pquant d
Min P-frame quantizer.
( 1 から 31 の間の整数 )
[ デフォルト: 2 ]

-xvid-max-pquant d
Max P-frame quantizer.
( 1 から 31 の間の整数 )
[ デフォルト: 15 ]

-xvid-min-key-interval d
Minimum I-frame interval.
[ デフォルト: 1 ]

-xvid-max-key-interval d
Maximum I-frame interval.
( 0 の場合おおよそ fps * 10 の値に設定します。)
[ デフォルト: 0 ]

-xvid-intra-only
only intra frame.
[ デフォルト: オフ ]

-xvid-hintedme
2PASS エンコード時のヒントファイルの生成。
[ デフォルト: オン ]

-xvid-hintfile s
ヒントファイル名。
[ デフォルト: xvid.hints ]

-xvid-passfile s
パスログファイル名。
[ デフォルト: xvid.stats ]


LAME library をインストールしてからコンパイルした場合以下の mp3 オプションが
有効になります。

-mp3-bitrate d
ビットレート(キロ)。
[ デフォルト: 64 ]

-mp3-quality d
エンコードクオリティー。
[ デフォルト: 5 ]

-mp3-mode sel
エンコードモード。
[ アイテム: STEREO, JOINT, MONO ]
[ デフォルト: JOINT ]




----------------------------------
ndeview のコマンドラインオプション
----------------------------------

-h
ヘルプの表示

[INPUT FILE OPTION]
(入力ファイルの前に指定された場合その入力ファイルで有効になります。
入力ファイルが複数ある場合それぞれの入力ファイル毎に指定する必要があります。)

-crop d:d:d:d
切り取りたい領域の大きさをピクセル単位で指定。
(left:right:top:bottom)
[ デフォルト: 0:0:0:0 ]

-cut d:d[,d:d,...]
カットしたいフレームを指定。
(start:end)
[start を省略した場合最初のフレーム、
end を省略した場合最後のフレームが入ります。複数指定可能]
[ デフォルト: 無指定 ]

-field-order sel
フィールドオーダー。
[ アイテム: top, bottom ]
[ デフォルト: top ]

-bright d
ブライトの調整。
( -255 から 255 までの整数 )
[ デフォルト: 0 ]

-contrast d
コントラストの調整。
( -100 以上の整数 )
[ デフォルト: 0 ]

-color d
カラーの調整。
( -100 以上の整数 )
[ デフォルト: 0 ]

-interlaced-source
前後のフィールドの差分を評価して差分の少ない方と結合します。
映画やアニメ等の 24fps で作られている物等に使用すると効果があります。
[ デフォルト: オフ ]

-flicker-eval d
-interlaced-source オプションの差分を評価する領域の大きさを
パーセンテージで指定します。
[ デフォルト: 10 ]

-deinterlace
デインターレースのオン、オフ。
[ デフォルト: オフ ]

-deinterlace-type sel
デインターレースのタイプ。
[ アイテム: linear_blend, bilinear, linedoubling, yuvdenoise ]
[ デフォルト: linear_blend ]

-median-filter
メディアンフィルターにかけます。
[ デフォルト: オフ ]

-denoise
ノイズを減少させる機能のオン、オフ。
このオプションを有効にすると圧縮効率が上がります。
が、処理に時間がかかります。
[ デフォルト: オフ ]

-denoise-radius d
デノイズする時のラディウスの指定。
[ デフォルト: 8 ]

-denoise-threshold d
この数値を大きくすると除去するノイズは増えますが、
エラーも多くなります。
[ デフォルト: 5 ]

-denoise-ppthreshold d
上に同じ。
[ デフォルト: 4 ]

-denoise-ppthreshold d
デノイズする時のアベレージをとるフレームの数。
[ デフォルト: 3 ]

-denoise-sharpen d
denoise sharpen.
[ デフォルト: 125 ]

-denoise-uv
UV 成分のフリッカーを抑制します。色がチラチラする場合に効果があります。
[ デフォルト: オン ]

-denoise-uvthreshold d
この数値を大きくすると除去するノイズは増えますが、
エラーも多くなります。
[ デフォルト: 10 ]

[OUTPUT OPTION]
(出力に関するオプションです。複数指定された場合最後のものが有効になります。)

-s dxd
フレームのサイズ
[ デフォルト: 最初の入力ファイルと同じサイズ ]

-fps f
fps (フレーム / 秒) の指定
[ デフォルト: 最初の入力ファイルと同じ ]

-zoom-filter-type sel
フレームのサイズを変更する時の zoom で使われるフィルターのタイプ。
[ アイテム: lanczos, blackman, point, box, triangle, quadratic, cubic,
catrom, mitchell, gaussian, sinc, bessel, hanning, hamming,
kaiser, hermite, blackmanbessel, blackmansinc ]

-zoom-window-type sel
フレームのサイズを変更する時の zoom で使われるウィンドーのタイプ。
[ アイテム: lanczos, blackman, point, box, triangle, quadratic, cubic,
catrom, mitchell, gaussian, sinc, bessel, hanning, hamming,
kaiser, hermite, blackmanbessel, blackmansinc ]




使用例


XVID コーデックで録画

$ ntvrec -fps 0 -s 256x192 -vcodec xvid -xvid-quality 6 -xvid-mode quant -xvid-quant 8 \
-audio-rate 22050 -audio-channels 2 \
-acodec mp3 -mp3-bitrate 64 -mp3-mode joint movie.mov


ふたつのファイルをひとつにして XVID でエンコードして out.mov というファイル名で
出力。

$ ndecenc movie.mov.1 movie.mov.2 -vcodec xvid -xvid-quality 6 \
-xvid-mode cbr -xvid-bitrate 900 -o out.mov


CM をカット。
まず、ndeview で CM の始まる位置と終る位置のフレームを探して

$ ndeview movie.mov

カットしたい位置があっているか ndeview でたしかめて

$ ndeview -cut :40,2800:4500,20000:22000,40000: movie.mov

ndecenc の -cut オプションでフレームの位置を指定します。

$ ndecenc -cut :40,2800:4500,20000:22000,40000: movie.mov \
-vcodec xvid -xvid-mode quant -xvid-quant 5 -o out.mov

入力ファイルが複数にわかれているときは

$ ndecenc -cut :40,2800: movie.mov.1 \
-cut :100,4300: movie.mov.2 \
-cut :60,20000: movie.mov.3 \
-vcodec xvid -xvid-mode quant -xvid-quant 5 -o out.mov

などとします。


24 fps 化したい場合。

映画やアニメなどを 24 fps にする時は、
まず ntvrec で fps を 0 か 29.97 で、縦のサイズを 480 で録画して

$ ntvrec -fps 0 -s 400x480

ndecenc の INPUT FILE OPTION で
-interlaced-source を指定して OUTPUT FILE OPTION で -fps 24 を指定します。
INPUT FILE OPTION で -deinterlace オプションを指定する必要はないです。

$ ndecenc -interlaced-source movie.mov -fps 24 -s 384x288 -o out.mov

完璧に24fps化できるわけではありませんが見映えはかなりよくなるとおもいます。


自分がいつもやっているやつ

まず xawtv を起動してチャンネルと contrast や brightness 他の画質を調整して
xawtv を終了し、aumix または alsamixer でオーディオキャプチャーソースを設定。
それから、録画したい時間の少し前に ntvrec を起動、

$ ntvrec -s 640x480 -vcodec rtjpeg -fps 0 -acodec mp3 -mp3-bitrate 96 -t 30m movie.mov

そうすると30分で6Gbytes位のファイルができます。次に ndeview でカットしたい
フレームの位置や切り取りたい部分の大きさを調べます。

$ ndeview movie.mov
$ ndeview -cut :32,3579:5683,22581:24384,45388:47192,48083: movie.mov
$ ndeview -crop 16:16:2:2 movie.mov

また -interlaced-source や -denoise などのフィルターの効果を確かめます。

$ ndeview -cut :32,3579:5683,22581:24384,45388:47192,48083: -crop 16:16:2:2 \
-denoise -interlaced-source movie.mov \
-fps 24 -s 384x288
または、
$ ndeview -cut :32,3579:5683,22581:24384,45388:47192,48083: -crop 16:16:2:2 \
-denoise -deinterlace -deinterlace-type yuvdenoise movie.mov \
-s 384x288

これでいいかなと思ったら ndecenc で XVID の 2pass1 モードか quant モードで
エンコードします。

$ ndecenc -cut :32,3579:5683,22581:24384,45388:47192,48083: -crop 16:16:2:2 \
-denoise -interlaced-source movie.mov \
-fps 24 -s 384x288 \
-vcodec xvid -xvid-quality 6 -xvid-mode quant -xvid-quant 2 \
-acodec mp3 -mp3-bitrate 96 \
-o movie-d5-24-q2.mov
または、
$ ndecenc -cut :32,3579:5683,22581:24384,45388:47192,48083: -crop 16:16:2:2 \
-denoise -deinterlace -deinterlace-type yuvdenoise movie.mov \
-s 384x288 \
-vcodec xvid -xvid-quality 6 -xvid-mode quant -xvid-quant 2 \
-acodec mp3 -mp3-bitrate 96 \
-o movie-d5-29.97-q2.mov

-denoise オプションを指定するとエンコードが終るまでPentiumIII(850Mhz)で2時間位
かかりますが、ファイルのサイズはかなり小さくなります。次にもう一度 ndecenc で
エンコードします。XVID の 2pass2 モードでエンコードする時は -xvid-bitrate で指定
したビットレートが反映されます(ビデオのみオーディオには影響無し)。

$ ndecenc movie-d5-24-q5.mov \
-vcodec xvid -xvid-quality 6 -xvid-mode quant -xvid-quant 5 \
-acodec mp3 -mp3-bitrate 64 \
-o movie-q5.mov
または、
$ ndecenc movie-d5-29.97-q5.mov \
-vcodec xvid -xvid-quality 6 -xvid-mode quant -xvid-quant 5 \
-acodec mp3 -mp3-bitrate 64 \
-o movie-q5.mov

今度は、PentiumIII(850Mhz)で20分位で終ります。これでフレームサイズ384x288、25分位でファイル
サイズが100Mbytes位になります。