2009年06月08日

Debian lenny によるTV録画マシン設定手順

前に書いたように、Debian Etchで構築していたTV録画マシンのハードディスクがクラッシュして、使えなくなってしまいました。クラッシュしたHDDは500GBのSATAのもので、OSをインストールした50GBの第1パーティションと、録画データを格納する450GBの第2パーティションに分けていました。ハードディスクのクラッシュは何台も経験していますが、たいていはパーティションテーブルの破壊であり、これは比較的簡単に修復可能です。しかし今回は、ハードディスクそのものにアクセスできなくなってしまったようです。このHDDはあとでゆっくりデータのサルベージにトライするとして、新しいHDDを調達して、TV録画マシンを再構築することにします。今回もDebianを使おうと思いますが、現在のDebianはDebian/GNU Linux 5.0 (lenny)にバージョンアップしています。(EtchとかLennyというのは、Debianのメインバージョンにつけられたニックネームです)Debian Etchの時代はドライバのインストールを別途行うなど、結構手間がかかりましたが、今回はどうでしょうか。再構築の様子を、メモとしてここに記録しておくことにします。

まず、ハードウェアは以下のとおりです:
ベアボーン:AOPEN EZ945-P Intel945G+ICH7
CPU: Core2Duo 1.8GHz; メモリ: 2GB
チューナキャプチャカード:玄人志向 CX23416GYC-STVLP

マシン再構築の手順としては:
(1) ハードディスクの交換
(2) Debian lennyのインストール
(3) チューナキャプチャカードのドライバのインストール
(4) チューナキャプチャカードのファームウェアのインストール
(5) 録画用コマンドの準備
というような流れになります。

(1) ハードディスクの交換
今まではOS+データに500GBのものを使っていました。現在では1TBや1.5TBのものがありますが、ディスククラッシュを経験した直後とあっては、容量が大きいほどデータ消失のショックも大きいので、なかなか大容量のHDDに手を出す気が起きません。結局従来と同じ500GBのものを入手することにしました。秋葉原のショップ「フェイス」で、5000円を切るものがあるのを見つけ、さっそくネットで購入、3日ほどで届きました。メモリもそうですが、HDDもかなり安くなりましたね。
                          フェイスインターネットショップ(faith-go.co.jp)

(2) Debian lennyのインストール
Debianのサイトから、インストール用のCDイメージをダウンロードしてCDに焼き、これでPCを起動してDebian/GNU Linux 5.0 (lenny)をインストールします。このインストーライメージは200MB弱と小さく、インストールはほとんどがネットを通じて行われます。インストール項目としては、デスクトップ環境とファイルサーバを指定しました。
実は、いつものことですが、インストールについては問題がいくつか発生し、未だに解決できていないこともあるのですが、それについては別途述べます。

(3) チューナキャプチャカードのドライバのインストール
Debianがインストールできた時点で、dmesgでログを見てみると、CX23416GYC-STVLPを使用する上で懸案だったドライバsaa717xが自動的に読み込まれています。以前はこれを自らインストールして設定しなおす必要があったのですが、Debian lennyではその必要がなくなったようです。
もともと、チューナキャプチャカードのドライバとしてはivtvというものがあるのですが、日本で多く出回っていたカードはサポートされていませんでした。玄人志向のCX23416GYC-STVLPやIO-DATAのGP-MVPといったカードでは、MPEG-IIエンコーダとしてConexant社のCX23416が、ビデオエンコーダとしてPhilips社のSAA7173が使われていました。これらの解析およびドライバ作成が、「linuxwiki@ぱ研」というサイトに集った有志たちによって2003年ごろから開始されました。そこでの成果はivtvプロジェクトへ反映され、それはそのままLinuxカーネルのメインラインに採用されました。
前回のDebian Etchでは、ivtvのバージョンは0.2ぐらいだったと記憶していますが、今回のDebian lennyでは、カーネル2.6.26、ivtv1.3が採用されています。ivtv1.3で初めてsaa717xが正式に採用され、カーネル2.6.26で初めてivtv1.3が採用されたようです。かくして、「linuxwiki@ぱ研」の有志の皆さんの長年の努力がLinuxカーネルのメインラインに反映されたということで、とても喜ばしいことです。

(4) チューナキャプチャカードのファームウェアのインストール
ドライバについては自動的にインストールされましたが、ファームウェアについては、dmesgのログで「ファームウェアありませんよ」というメッセージが出ており、自分でインストールする必要があります。
今回注意すべき点としては2点あります:
 − ファームウェアのバージョンがサイズでチェックされていること
 − ファームウェアのインストール先が /usr/lib/hotplug/firmware に変更されていること(以前は /lib/modules)
以前のivtvバージョンでは、Win用ファームウェアアーカイブからファームウェアを取り出し/lib/modulesにコピーするスクリプトがあったのですが、ファームウェアのバージョンも格納場所も変わってしまったので、端的には以下のことをやればOKです:
  HcwFalcn.romという376836バイトのファームウェアを、
  /usr/lib/hotplug/firmwareに、
  v4l-cx2341x-enc.fwという名前でコピーする
この後マシンを再起動して、dmesgでファームウェアが読み込まれていることを確認したら、
  cat /dev/video > test.mpg
として数秒録画してcontrol+cで終了させ、できたtest.mpgを見てみます。砂嵐のような画像であれば一安心です。

(5) 録画用コマンドの準備
録画用コマンドには、「linuxwiki@ぱ研」がリリースしていた、record-v4l2_v060406.plというperlスクリプトを使用していました。そこで今回もそれを「linuxwiki@ぱ研」から入手し、使ってみます。
このスクリプトは、Video/Frequencies、Video/IVTV、Config/Inifilesという3つのperlモジュールを必要とします。後の2つはDebian lennyの公式パッケージがあるので簡単にインストールできますが、Video/Frequenciesモジュールは公式パッケージがないようです。非公式パッケージを探すか、perlモジュールそのものをインストールする必要があります。
ここでrecord-v4l2コマンドを実行すると、さらにエラーが出て録画できません。そのエラーメッセージを調べると、同じく「ぱ研」さんで、「エラーを出すところ3行をコメントアウト」というアドバイスが出ていました。これを試すと、無事録画することができました。
私は、録画ソースとしてカードのチューナは使っておらず、全てケーブルテレビのセットトップボックスの出力をS-Videoから入力したものを録画しています。したがって、record-v4l2コマンドはこんな感じになります:
  ./record-v4l2_v060406.pl --inputname "S-Video 1" -t 3600 --directory-format "" --output test.mpg
これをファイルに書いて、atコマンドで時間指定すれば、その時間から3600秒間録画されることになります。

以上、3日間ぐらい試行錯誤した内容を踏まえて、結果的にこうしたらよいということをまとめました。このあと、録画した動画を編集したり視聴したりするのに、さらにツール等の整備が必要ですが、それについては別途書くことにします。


posted by beverlyglen2190 at 17:52 | Comment(0) | テクノロジー | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。