Linux ビデオ録画計画 - Linux の設定と使用記

現在位置のナビ

トップコンピュータの国雑記帳Linux ビデオ録画計画 → Linux の設定と使用記

キャプチャーカードの認識

要約
  • xawtv パッケージの導入
  • カーネルモジュールの設定
  • xawtv アプリケーションの設定と動作確認

設定手順

キャプチャーカードの認識は、 ドライバおよびアプリケーションのインストールと不可分です。 なぜなら正しく設定できたかどうかは、 X の画面に TV を映し出すまでわからないのですから。

Vine Linux 2.6 を apt-get で最新に保っている我が家では、 Vine Plus から xawtv の RPM パッケージをインストールすることで、 最低限のソフトがそろいました。

ビデオキャプチャーとTV受信にはそれぞれ bttv, tuner という カーネルモジュールを組み込む必要があります。 Vine Linux では kudzu が bttv を自動的に組み込んでくれましたが、 tuner は rc.local に記述する必要がありました。

また上記二つのモジュールは、組込時にパラメータを必要とします。 パラメータのリストは、 /usr/doc/kernel-doc-2.4.20/video4linux/bttv/CARDLIST に記述されています。 自分のキャプチャーカードが記載されていなかったら、rmmod と modprobe を繰り返して正しいパラメーターを発見する必要があります。

モジュールが正しく設定されたら、 xawtv でビデオ入力やTV放送のキャプチャー画面を X 上に表示することができます。 モジュールの設定が正しくても、xawtv 起動前に /usr/doc/xawtv-3.74/Japan.xawtv を $(HOME)/.xawtv にコピーしておかないと 表示が乱れます。 このファイルはテキストエディタでのぞけば内容がわかると思いますが、 TV のチャンネルは関東の地上波に合っているので、 それ以外の環境で使う人は自分の環境用に書き換えなければなりません。

画面上端の動く模様について

TV画面が表示されるようになると、 画面の上の端にバーコードのような白黒模様がちらつくことに気づくでしょう。 これは、故障ではありません。 普通のTV受像機では画面からはみだしてしまう位置に、 デジタル信号が載っているのです。 この信号は、文字放送やその他の目的に使用されます。 レーザーディスクにも同様の信号が載っていますが、 こちらは画面のコマ数カウントで、頭出しに使用されます。 Windows 用のアプリケーションではこの部分をカットして表示していますが、 キャプチャーカードからの信号にはしっかり入っています。

現状での不具合

xawtv を操作して入力信号を TV,video と交互に切替えていると、 画面がおかしくなります。 どうも、TVとビデオの両方の同期信号を拾っているようです。 対策は、まだわかりません。 Windows では起きないので、入力切替で追加操作が必要なのか、 ドライバのパラメータが間違っているのでしょう。

2か国語放送を受信していると、なぜか外国語しか聞けません。 こちらも原因不明です。 Windows でも同じ症状が出ます。

動画記録

要約
  • ffmpeg, lame のソースを入手してコンパイル

設定手順

video for linux (v4lとも呼ばれる)のインターフェースを利用して 動画を記録するパッケージはいくつかあります。 その中から、私は ffmpeg を選択しました。 理由は、私が必要とするフォーマットをサポートしていたからです。

また lame も導入しました。 ffmpeg と lame を組み合わせると、DivX フォーマットで記録できるので、 Windows ユーザーに動画ファイルを渡せるからです。 lame は、ffmpeg よりも先にインストールしておき、 ffmpeg の configure 時に mp3 を有効にするオプションを指定する必要があります。

ffmpeg, lame はどちらもソースコードでしか入手できないので、 コンパイルする必要があります。

現状での不具合

なぜか Video CD 用の MPEG1 ファイルを作れません。

  • 352x240 ピクセル
  • 29.97 駒/秒
  • 全体ビットレート 1150kbps
  • オーディオビットレート 224kbps
  • オーディオチャンネル 2ch
  • ファイルフォーマット vcd

に指定しているんですが、 Windows 上のオーサリングソフトはフォーマットが違うと言います。

消費CPUパワー

動画記録に必要なCPUパワーを、 もっとも負荷の高いと思われる MPEG4 圧縮時に大雑把に観察しました。 xosview では、CPU を 9% 〜 43% 程度消費していると表示されます。 我が家ではまだ余裕がありそうですが、 クロック 1GHz 未満の CPU を利用すると厳しいかもしれません。

動画再生

要約
  • xine のソースを入手してコンパイル
  • xine 用 GUI のソースを入手してコンパイル
  • ついでに DVD video 再生用ソースを入手してコンパイル

設定手順

動画再生パッケージは、xine を選択しました。 既に使用している友人から、勧められたからです。 ライブラリを動かすのは簡単でした。 xine-lib の tarball を持ってきてコンパイルするだけです。

ところが、xine ライブラリを利用して X window に表示するアプリケーションで難儀しました。 いくつかある選択肢から私が選んだのは、gxine です。 この gxine は、比較的新しい gtk+ を必要とするので、 いろいろなソースコードを持ってきてコンパイルする羽目になりました。 結局、動画再生のために用意したパッケージは以下の数になりました。

  • xine-lib
  • gxine-0.3.3
  • atk-1.0.3
  • glib-2.0.7
  • gtk+-2.0.0
  • pango-1.0.5

atk より下は、Vine Linux にインストールされているライブラリと 同じ物でバージョンが違います。 古いバージョンを新しいもので上書きしてしまうと、 古いライブラリに依存しているアプリケーションが 動作しなくなる可能性があるので、 新しいものはローカルなディレクトリにインストールしました。

DVD の再生

せっかく xine をインストールしたので、DVD を再生してみました。 すると、再生できるものとできないものがあります。 御存じ CSS で暗号化されたものが、再生できないわけです。 ついでだから、libdvdcss-1.2.7 をインストールして、 CSS 暗号の DVD も再生できるようにしました。

念のため書いておきますが、 libdvdcss を使って CSS 暗号を解除しても DVD を再生するだけなら大丈夫です。 再生時にグラフィックカードのビデオ出力からプロテクトのかかっていない ビデオ信号が洩れていたり、 HDD 上に暗号解除した MPEG2 ファイルを記録したりすると違法です。

予期せぬおまけ

リージョンコードが2以外の DVD を再生できました。 リージョンコードは、著作権保護のための暗号化ではなく、 コンテンツ販売者が全世界で最大の売り上げを達成するため (もしくはそのために努力していると株主に言い訳するため) の仕組なので堂々と解除して良いです。

Windows Media Player で記録した音楽ファイルを 再生できるようになりました。 うちには、Giga Beat に記録するために圧縮した音楽データがあります。 DVD-RW にバックアップしてあったのですが、 これを Linux から聞くことができました。 もっとも、ディレクトリ名に日本語を使っているところは、 iso9660 ファイルシステムがユニコードを解釈できないのでアクセスできません。 このサイトの「音楽の国」コーナーを読んだ人は、 私が圧縮音楽を嫌っていることを知っていると思います。 嫌いな圧縮音楽を聞く気になったのは、 去年の年末から4カ月も入院していたためで、 病院にCDラックを持ち込むわけにも行かず苦肉の策です。

現状での不具合

gxine をフル画面表示にすると、 他のウィンドウやアイコンが消えず邪魔になる。

gxine で DVD の再生中にチャプター移動ができない。 メニュー画面からの操作はできる。

ファイルオープン用のダイアログを開こうとすると、 gxine 全体がフリーズしてしまう。 バージョン違いのライブラリを使い分けているからかな?

何かのはずみで、 gxine が勝手に DVD-ROM ドライブのリージョンコードを書き換えてしまう。 リージョンコードの書き換え回数は制限されているのに、 アプリケーションが勝手に書き換えるとそのうち変更不可能になってしまう。 そうなると再生前に書き換えしたい gxine は 書き換えに失敗したと言って止まるだろうし、 その他の正常なソフトを使おうと思っても、 リージョンコードが変な値で固定されたらどうしようもない。

感想

Linux で動画の記録再生を実行してみての感想を書きます。

同じハードを使用しても Windows より画質が悪い

画質劣化には、

  • 記録時
  • 再生時
  • フォーマット

の三つの要因があります。 フォーマットを等しくしても、 録画、再生どちらも Linux より Windows の方が質が良いです。 両方で記録したものを、両方で再生してみての結論です。 Linux では、市販の DVD 再生でもコーミングノイズが発生しました。

画質劣化の現象を記します。

  • コマ落ち
  • モスキートノイズ発生
  • ブロックノイズ発生
  • コーミングノイズ発生

推測になりますが、考えられる理由は次の通り。

  • ソフトの品質-1 CPU 能力を使いきるか
  • ソフトの品質-2 ノイズフィルタ等のノウハウが入っているか
  • MPEG2 フォーマットへの対応

Linux にはビデオ編集のアプリケーションが皆無

Linux には、ビデオ編集のアプリケーションがありません。 わたしが知らないだけで、 ネットワークのどこかにころがっているのかも知れませんが。 結局録画した後は、Windows にファイルを転送して編集することになります。

Linux でオーサリングできないフォーマットが多い

Linux では、MPEG2 のキャプチャーができません。 Video CD, Super Video CD を記録できません。 DVD Video のオーサリングができません。

その他

キャプチャーカード購入前にいろいろなサイトで情報を集めていたら、 NOVAC社が、 Linux でキャプチャーカードのモニターを募集していると聞いたので、 WEB サイトに書かれた通りにメールを送ってみました。 しかし、全く返事がきません。

2003年7月16日 初出

2003年8月14日 追記

リンク

Windows の設定と使用記


back button Linux ビデオ録画計画へ