Amatsuによるハードディスクレコーディングシステムが稼働し始めたが、どうもしっくりこない。
MRTGでCPUのロードアベレージを見てみると、想定外に負荷が高い。ロードアベレージとCPU負荷は必ずしもイコールではないが、重い処理をさせているのは間違いない。ソフトウェアエンコードタイプのキャプチャボードなので、これは当初から織り込み済みではある。しかしこれは外向きのネットワークサーバにとって決して好ましくない。
で、対応策を考えた。
ハードウェアエンコードタイプのキャプチャカードはLinuxでの動作実績が少ないのが常識だったのだが、ここに来て状況が変わってきていることが判った。玄人志向「CX23416GYC-STVLP」がどうやらLinuxで動作するようだ。ドライバ(ivtvドライバ)はVine系最新のVine Linux 3.1にマージされている。
Amatsuはカーネル2.6のFedora Core 2なので、ドライバの開発元
ぱ研からソース一式を入手し、ビルドして使う必要がある。キャプチャカードは有楽町ビックカメラで入手。1枚だけしか残ってなかった。あぶないあぶない。
1.ドライバのビルド&インストール
ドライバ自体はソースtarボールを展開してmake、make installするだけ。別途カードの製造元yuanからファームウェアをダウンロードして展開しておく必要があるが、特に引っ掛かるところはない。ドライバを入れれば
#cat /dev/video0 > test.mpg
等でキャプチャ自体は可能になる(但し画像は『砂嵐』)。
2.カーネルの入れ換え
ドライバを入れた時点でデバイスとしては一応動作するのだが、Mythtvでのカード認識に「セグメンテーション違反」で失敗する。これは、実際には使い物にならない、ということ。これはFedora Core 2のカーネルのスタックサイズが4kBに固定されていることが原因。Fedora Core 2のカーネルメンテナーがパッチを当てた上でカーネルをビルドしているらしく、そのままではスタックサイズを変更できない(From ぱ研)。
そのため、スタックサイズを16kBに設定したカスタムカーネルを
Linuxantから入手し、ビルド&インストール。バージョンは2.6.6を選択。完全にカーネルを入れ替えるのでPPTP-VPNに必要なMPPEパッチも改めて当てた。
3.Mythtvでの動作
カーネルを入れ替えると前述のセグメンテーション違反エラーが発生しなくなる。Mythtvで使うことができるようになったのだが、
物凄く画質がいい!元々ゴーストリデューサと3DY/C分離回路搭載の画質重視の製品で、見た感じだとMelchiorに挿してあるカノープス製「MTVX2004」に匹敵する綺麗さ。カード自体は13,000円程していて元が掛かっているのだが、正直値段分以上の効果はある。まぁその分ハードディスクの領域の減りは早いが……。
MRTGで確認したが、録画時のCPU負荷はほぼゼロ。Mythwebを用いたネットワーク経由での録画予約も当然設定可能。斯くして最強のキャプチャサーバ、ここに完成である。