1. ハードのインストール
2. ソフトのインストール・設定
3. 外部ビデオ入力
4. テレビ画面保存・録画
5. 予約録画
6. 録画した画像 (Motion JPEG 形式) の再生
7. MPEGへの変換
# rpm -ta xawtv-3.xx.tar.gz
とやるだけで /usr/src/redhat/RPMS/i386/ に rpm ができてしまいます。 いくつか rpm ファイルができますが、その中のうち、xawtv-3.xx-1.i386.rpm をインストールすればいいでしょう。テレビを見る xawtv、録画をする streamer 等がインストールされます。
$ xawtv
とコマンドラインからうてば起動します。ただし、このままでは何も映りませんでした。
bttv で TV Wonder VE にあった設定をする必要があります。
/etc/conf.modules に以下のようにして card 番号を設定する必要があります。
options bttv card=xx # xx はカード番号
Vine-2.1.5 のカーネル 2.2.18 の bttv には TV Wonder VE に対応するカード番号は無いようです。
tuner の設定は置いておいて、card=0 から 17まで composite 入力が映るかで試したけど全て映りませんでした。(17が最高値のようだ。18以降を設定するとbttv起動事エラーがでる)
Vine-2.1.5 のカーネル 2.2.18 の bttv は 0.5.x で古いためみたいです。
そこで最新の bttv-0.7.69 に CARDLIST というファイルがあるので中身を見ると
TV Wonder VE は card=64 でした。やった!対応している。
さっそくインストールと行きたいとこだが、i2c
というものが必要だそうです。 i2c のインストールには3パターンあって、
options tuner tuner=2
と書きます。2 でいいみたいです。
するとあっさり bttv は modprobe でき、xawtv でビデオ入力映像が見られました。カーネルを新しくしたからか i2c のインストール方法を変えたからかは判らずじまい。
xawtv 右クリックでメニューが現れ様々な設定をが出来ます。 それだけでもなんとか使えますが、デフォルトが
PAL だったり不便なので ~/.xawtv ファイルに設定事項を書いておけ
ば便利です。このサンプルファイルでいいと思います 。
これで画面をクリックするとチャンネルが選べたり、最初から NTSC だったり出来ます。
ただし、overlay 式だと画像にノイズが走るし画面サイズを大きくすると画面の一部しか表示されない。。ビデオカード変えた方がいいのかな?
cpu を介する、grabdisplay 式だとノイズは消えるけど、画面サイズを大きくするとコマ落ちしてしまうのですが。。
streamer -r 10 -o abc.avi -f mjpeg -t 12000 -n ntsc -F stereo -R 11025 -i Composite1 -j 50
-r でフレームレート (fps) を設定します。テレビ等は 10fps ぐらいだとなんとか見られます。5fps だとかなり見づらいです。 -f でファイル形式を指定します。AVI の場合、圧縮しない形式 の rgb15 (15 ビットカラー)、rgb24 (24 ビットカラー)、圧縮する mjpeg、jpeg があります。圧縮しない形式だと、記録が追い付かないでエラーになります。-n で ntsc を指定、-F でサウンドのステレオ/モノラル 、量子化ビット数をしていします (モノラルの場合のみ)。-R でサウンドのサンプリング周波数を指定します。サウンドの設定によってもエラーが出たりでなかったりします。その他の設定に関しては、streamer -hとやってヘルプを表示させてみてください。
色々試してみました。30fps、320x240だと記録時にコマ落ちしてしまいます。 10fpsぐらいだと問題ないがさすがにカクカクしています。
bttv のバッファ数 (デフォルトは 2) を8ぐらいに増やすと30fps、320x240でもほぼ問題ないです。以下のように設定します。
options bttv card=64 gbuffers=8
それでもさすがに30fps,640x480だとコマ落ちどころか途中でエラーで終了してしまいます。
15fps程度だとほぼ問題ありませんが。 音質を落としたり、画質を落としたり色々やってみて自分に適したモードを選びます。
高速なHDDにすると大丈夫かもしれない。 今はU-DMA でもないし、容量が少なく記録密度も低いので転送速度はかなり低いと思います。高速HDDで記録専用のパーティションを用意すれば大丈夫かもしれないですね。
→その後、Ultra DMA100 の 80GB の HDD を買ったが、コマ落ちはあまり改善しないし、エラーも起こってしまった。ログを見ると "Sound: DMA (input) timed out" とあったので、サウンドカードのデジタル化の速度が追い付いていない様です。今は ISA のサウンドカードなので PCI のものにすれば大丈夫かな?
→その後、HDD が DMA 設定になっていないことが判明。hdparm で DMA の設定をすると見違えるほどスムーズにキャプチャできるようになりました。それでも 640x480、ステレオ44.1KHz とかだときついけど。
高画質だと容量が膨大になります。50分、320x240、10fps、音声 ステレオ 11025hz (結構低画質) でも 440MB。
また、ビデオソフトのコピーガードは効かないようです。 最近のキャプチャカードはコピーガードが効くって聞いていたけどなんでなんでしょうね?おそらくWinなソフトでガードかけているからかな?Linuxソフトだとかけていないのかもしれない。 ただし容量の問題で、画像縮小、コマ数を落としているのでとても満足できるようなものではありません。たとえ記録できてもファイルサイズが2GBを越えて記録が途中でストップしてしまうでしょう。 155分の映画で、15fps, 320x240, 22050Hz ステレオで記録したところ最後のキャスト表示の途中で切れていました。ファイルサイズは 2GB。Mpeg4、530kbps 圧縮にしたら 680MBぐらいでなんとか CD-R に収まるぐらいです (圧縮については後述)。こりゃあまともな画質でとっておこうと思ったら DVD-R とか要りますね。あと、2GB 以上のファイルを作れるように、LFS も対応しておく必要が有ります。(未実施)
上の avi2mpg というのは、MJPEG Tools を使った変換スクリプトでMPEG ビデオファイルの作り方で解説しています。
ただし、上に示すように内蔵チューナかビデオの音声しか入力できないのでどちらかを選ぶしかない。
衛星放送を録画することが多いので、今のところビデオデッキの音声を入力しています。この方法にはひとつ問題があります。ビデオデッキ側でも予約をしなければいけないのです。とほほ。
Windows の aviutl または TMPGenc (MPEG1も可能) というツールを使います。細かい設定ができて good。 MPEG4 エンコードにはMS のmediatools
というのをインストールする必要があります。
また Linux でエンコード (mpeg1のみ) するには、
→その後、MJPEG Tools なるものを Source Forge で発見。エンコード速度も速くて簡単でばっちり。これについては MPEG ビデオファイルの作り方 で解説。
/usr/bin/aumix -f /etc/rec_aumixrc -L
/usr/bin/X11/streamer -r 25 -o /data/pub/video/abc.avi -f mjpeg -t 75000 -n ntsc -F stereo -i Composite1
/usr/bin/avi2mpg -i /data/pub/video/abc.avi -vb 600 -ab 96
6. 録画した画像 (Motion JPEG 形式) の再生
streamer で記録した画像は Motion JPEG (MJPEG) で xamin で問題なく再生できますが、他人にあげたりする場合
Windows でも観られた方がいいです。
しかし AVI 形式なんだけど、MJPEG 形式は特別なコーデックが必要みたいで
Windows 98 のメディアプレーヤーでは再生できませんでした。 そこで 3rd パーティーのコーデックや
DirectX8.0a (NT4.0不可) をインストールすると再生できます。
DirectX8.0a は http://www.microsoft.com/japan/directx/homeuser/downloads/default.asp
にあります。
ただし、DirectX8.0aのコーデックは Windows Media Player で再生する時のみ使用できるようで、他の編集ソフトなどでは
MJPEG ファイルを開けるようにはなりません。けちー
その点 3rd party コーデックは他の編集ソフトでも開けます。 しかも 3rd
party コーデックの方がパフォーマンスがいい。私の持っているカシオのノートパソコン FIVA 102 (MediaGX 233MHz) だと 3rd party のコーデックでの再生はスムーズだけど DirectX での再生はコマ落ちします。 3rd party のコーデックでは MainConcept
のものがおすすめです。再生は非商用なら使用条件なし。エンコード (MJPEG を作成する場合)
はシェアウェアです。MJPEG から他のフォーマットに変換する分には問題ないです。NT4.0も大丈夫。
7. MPEGへの変換
上記のように Motion JPEG 形式のファイルは再生に苦労することが多いです。MPEG に変換しておけばまずどこのプラットフォームでも再生できるでしょう。
http://einai.l.chiba-u.ac.jp/~nyoshi/makempeg.html
を参照して行いました。 必要ソフトへのリンクとそれらを使った mpeg 化を自動化するスクリプトがおかれています。試してみました。(詳細は上のページを参照してください)
関連リンク:
戻る | real-baishi に戻る