ここ 5年ほど我が家のアナログ放送 TV 録画の担当は、CPU: Pentium III 700MHz / RAM: 64MB → 320MB に増設 / HDD: 10GB と言う化石マシン (かつての職場で廃棄処分になった、2000年発売の某社製法人向けモデル)。キャプチャー・カードの対応云々以前の問題で、このまま地デジ時代の戦いに突入するのはスペック的に厳しいことは理解しつつ、対応を後回しするうちに (一部を除いて) アナログ放送終了の 07/24 が目前に迫った 7月上旬、「録画の地デジ対応はまだ?」と言う妻からのプレッシャーが、本格的に強まって来た。

僕自身最近は TV 番組を録画することが少なく、録画できない期間が多少発生しても特段不自由は感じなかったが、妻の要求とあれば仕方がない。Blu-ray レコーダーを買うと言う選択肢は当初から頭になかったので、同様にパワー不足に悩む仮想マシン (以下 VM) 親機としてサーバー機を新調し、これまでの VM 親機 Dell PowerEdge 830 (5年以上前のモデル) を、録画サーバーに用途変更することにした。

PowerEdge 830 を録画サーバーに仕立てるために施した主な改修は、次の通り。

  1. メモリ 4GB はそのまま。
  2. CPU を Pentium D 830 → Pentium D 950 (QPJT) に換装 (要 BIOS Ver.A04 以上)。
  3. VM 満載の HDD x4 を、新 VM 親機のデフォルト HDD (160GB) と交換。
  4. OS は Fedora 15 を採用。
  5. キャプチャー・カード アースソフト PT2を搭載。
  6. IC カード・リーダー NTT-ME SCR3310-NTTComを搭載。
  7. サウンド・カード 玄人志向 CMI8768-8CHPCIeを搭載。

"2." の恩恵は CPU の高速化と言うより省電力化 (130W → 95W) だが、真の狙いは Intel VT 対応にある。録画サーバー構築は実は欺瞞で、その背後に「(CPU の仮想化支援機能が必須な) KVM 環境の構築」と言う野望が隠されていたことを、妻は知らない。これで VMware ESXi、Xen、KVM と、無償で手に入る主要なハイパーバイザー型仮想化ソリューションがそろうことになった。

"4." は先日リリースされた CentOS 6.0 と迷ったが、普段「サーバーに GUI なんか要らねェ!」と言うスタンスで Linux を扱うことが圧倒的に多い反動で、デスクトップ環境が整った Linux を触ってみたくなり、同じ Red Hat 系の Fedora にした (オンボード・グラフィックス・チップが非力で、GNOME 3 は使用不可)。と言いつつ結局ほとんど SSH 経由で操作していることは気にしないし、メンテナンス継続期間が短いことも気にしないが、ネットワーク・インターフェイスが eth0 → em1 になっていたり、chkconfig → systemctl になっていたりと言う違いには、やや戸惑った。

"5." と "6." は、この手の DIY にはお約束の組み合わせのようだ。IC カード・リーダーはマシン背面の USB ポートに接続したが、そのままだと見た目が悪い上に邪魔なため、マシン背面の PCI カード・スロットの蓋に穴を開けて、ケース内部に収納。ケース内の気流に乗ってカード読み取り部に埃が詰まる恐れがあるので、カード読み取り部が風下になるように置いた。

PT2 を Linux で動かす方法は、先人の知恵をありがたく使わせていただいた。ドライバーは Fedora 15 のカーネルにマージされている DVB 版ではなく、キャラクター・デバイス版 pt1_drv を使い、録画ツール recpt1 と録画予約管理ツール epgrec を組み合わせることで、それほど手間をかけずに、そこそこ便利な録画システムのベースが完成。録画 (と言うか atd に録画関連コマンドを投げるスクリプト) をカスタマイズして、録画データを映像&音楽データ置き場である NAS の LinkStation LS-WHGL/R1 上に移動させるようにした。再生は主に、DLNA 経由の PlayStation 3 で行う。

アナログ放送時代は LinkStation に直接録画データを保存できたが、地デジ時代の巨大な録画データは、複数の番組を同時に録画したり (PT2 は 地デジ x2、BS/CS x2 で、最大 4ch 同時録画が可能)、他のマシンが LinkStation と激しく通信していたりすると、確実に具合が悪い。そこで録画サーバーはいったん自機の HDD に番組を録画し、サムネイル作成が終了した段階で LinkStation 上にデータをコピー。コピーが正常に完了したことを確認してからオリジナル・データを削除し、LinkStation 上のデータにシンボリック・リンクを張る、と言う動作にした。シンボリック・リンクは、録画済み番組を ASF でストリーミング配信する epgrec の機能を生かしておくためで (Apache で 要 FollowSymLinks)、同時に録画が終了した複数の番組データが一斉に LinkStation へコピーされないようランダムな待ち時間を設け、他のデータがコピー中の場合は、終わるまで待つようにしている。

録画完了直後に ffmpeg でサイズの大きい TS ファイルを問答無用で MP4 等にエンコードする (元の TS ファイルは削除) 録画モードも作ってみたが、複数のチャンネルが含まれる TS データの性質上、番組によっては映像や音声が「これじゃねーよ」と言うこともあり得るので、しばらく試験運用してみないと、危ない気がする。

最後の "7." は、OS インストール後に PowerEdge 830 にはオンボードの音源すらなかったことを思い出し、「せっかくデスクトップ環境を完備したのに、音が出ないのはマズいだろ」と、慌てて購入。Fedora 15 のデフォルト・ドライバーで認識 & 動作した。しかし落ち着いて考えてみると、コイツはあくまでも録画サーバーであって自身で動画を再生することはほとんどないので、あまり意味がなかったと言うオチ。これも妻には言わない方がよさそうだ。

まァ何はともあれ、TV 録画環境の整備が間に合ってめでたしめでたし。

Comments are closed.