PT3とChinachuを使ったTVの視聴および録画環境を構築した
新調したサーバについては、まだTVの録画環境を構築していなかった。というのも、以前までPT2を使って録画していたが、新しいサーバのマザーボードにはPCI(exでない)のソケットが無かったからだ。時の流れは非情だ。
今期から響け!ユーフォニアムが放送されるわけだが、僕としてはこれは録画しておきたいと思った[1]ため、急遽PT3を購入し、視聴および録画できる環境を整えようと思ったわけである。
旧サーバでは、ホストOSがWindows Serverだったため、EpgDataCap_Bonを使って録画し、また別のPCから視聴できるようにSpinelをかませたりなどしていたが、今回はホストOSがDebian Wheezyである。Linux上での当該環境の構築は初めてであったため、メモも兼ねて記録を残しておく。
ところで、本来はホストOSの環境を汚さないためにゲストOSに環境を作ってPCIパススルーを...としたかったところだが、CPUがIntel VT-dに対応していなかったので断念した。やっぱりCore i5にしておけば良かったと今は後悔している。
なお、この記事は研究目的のために公開される。筆者は内容の正確性について保証せず、かつ本記事を参照したことによって起こるすべての結果について責任を負わない。
環境
- OS: Debian Wheezy
- チューナー: アースソフト PT3
- カードリーダー: NTTコミュニケーションズ SCR3310-NTTCom
手順
具体的には以下のソフトウェアを導入することで環境が構築できる。
- PCカードリーダデーモン (pcscd)および関連ライブラリ
- Linux用PT3ドライバ
- arib25
- recpt1 (録画ソフトウェア)
- Chinachu (EPG閲覧および予約+Webストリーミング用UI)
作業にあたって、pcscdの導入~arib25の導入については大まかに[2] 、一部[3]を参考にしながら行い、後述する途中に発生する問題への対処に[4]を参照した。Chinachuに関しては、公式のドキュメントである[5]を参考にした。
基本的に[2:1]と[5:1]に沿うことで完了できるはずだが、僕の環境下で問題が起こった点とそれに対する対処、およびあえて手順に沿わなかった部分に関して記録する。
SCR3310を認識しない問題への対処
pcscdを導入後、
$ pcsc_scan
を行っても
Waiting for the first reader...
のまま止まってしまった。これは関連するライブラリであるlibccidのバージョン1.4.6~1.4.7において、NTTCom版SCR3310が、対応するインターフェースのリストから抜けてしまっている不具合によるものであるらしい[4:1]。
[4:2]に書かれている/etc/libccid_Info.plist
を編集して当該デバイスの情報を追加する方法で対処できた。おそらくlibccidをwheezy-backportsから持ってくることでも解決できると考えられる。
なお、最初はSCR3310のドライバを追加でインストールする必要があるかと思い、SCR3310のOEM元からドライバをダウンロードして導入してみたが、この必要は無かったように思う。
earth-pt1の/etc/modprobe.d/blacklist.confへの追加
[2:2]ではドライバのソースをcloneし、make; make install
するだけとされているが、[3:1]では、echo "blacklist earth-pt1" >> /etc/modprobe.d/blacklist.conf
とする操作を行っている。
ググったらPT1用のドライバがカーネルに標準実装されているものと競合してハマるらしいと書かれている記事が散見されたため、念のために[3:2]で行っているとおり、blacklist.confに追加しておくことにした。
yasmのバージョンの問題
Chinachuのインストール中、おそらくlibx264のコンパイル中にyasmのバージョンが足りない(1.2以上が必要であるが、1.1しか入っていない)とのエラーが発生して終了した。wheezy-backportsには十分なバージョンのyasmがあるため、これを導入することで解決した。
感想
苦労して数時間費やすだろうと考えていたが、意外と簡単に終わってしまった。具体的には、PT3へサーバに取り付け始めたのが18時15分ごろ。19時15頃までの間でrecpt1は動くようになった。その後寿司を食べに出かけ、帰宅したのが24時頃であるが、25時にはChinachuが動くようになった。
これはWeb上に文献が豊富だったことに加え、Chinachuが非常に良くできたソフトウェアであることのおかげであると思う。Chinachuのインストーラーは大変親切で、ディストリビューションが提供しないソフトウェアのソースを取得してビルドまで行い、OS全体の環境を汚さないように配置してくれる。当然、Chinachuそれ自身も素晴らしいもので、UIは洗練されているし、特にWeb経由で番組をストリーミング再生できるのは良い。正直なところ、今回はとりあえず録画予約だけできれば良く、他のPCからの視聴は後回しにしようと思っていたが、Chinachuによって視聴環境も一瞬で構築されてしまった。素晴らしい時代に生きているものだ。開発者の方々に圧倒的感謝をするしかない。