TV をみる

Raspberry Pi でテレビを見ます。

 今回使うのは、KEIAN の USB 地デジチューナーと、NTT の IC カードリーダです。どちらも古いものですが、以前、複数台購入しています。

SCR3310-NTTCom
KTV-FSUSB2/V3

カードリーダのライブラリのインストール

 pcsclite をインストールします。

$ sudo apt-get install -y libpcsclite-dev pcsc-tools pcscd

 B-CAS カードを挿入して、認識させておいてください。

$ pcsc_scan | grep 'B-CAS Card’
Japanese Chijou Digital B-CAS Card (pay TV)

libarib25 のインストール

 github から clone してコンパイルします。

$ git clone https://github.com/stz2012/libarib25.git
$ mkdir libarib25/build && cd libarib25/build
$ cmake && make -j4
$ sudo make install

recfsusb2i のインストール

 配布サイトからソースをダウンロードしてコンパイルします。こちらは、各自調べてインストールしてください。配布サイトはまだ生きているようです。

recfsusb2i を使って vlc でテレビを見る

 video グループからアクセスできるように、/etc/udev/rule.d/99-local.rules を作成します。(すでに存在していれば、追加してください。)次の一行です。

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0511", ATTRS{idProduct}=="0046", MODE="0664", GROUP="video"

 再起動したら、つないで確認します。

$ lsusb
:
Bus 001 Device 010: ID 0511:0046 N’Able (DataBook) Technologies, Inc.
:

 見るだけなら、保存する必要はないので、ストレージへ負担をかけることもないだろうと思います。そのために、名前付きパイプを利用し、あとで ramdisk(tmpfs) を作成します。

$ mkfifo /tmp/tmp.ts
$ (vlc /tmp/tmp.ts > /dev/null 2>&1)&
$ recfsusb2i 13 0 /tmp/tmp.ts

 もし、vlc で再生が開始されなければ、 vlc の再生ボタンをクリックしてください。また、ワンセグが再生されるなら、vlc のメニューで、「再生」→「プログラム」で切り替えられます。

 recfsusb2i の最初の引数はチャンネル番号で、二番目の数字は録画時間です。録画時間を 0 にすれば、ctrl+C でブレークするまで受信します。

/tmp を tmpfsにする

 /tmp を tmpfs(ramdisk) にするには、/etc/fstab に次の行を追加します。

tmpfs /tmp tmpfs defaults,size=300m,noatime,mode=1777 0 0

 再起動すれば /tmp に 300MB の tmpfs が割り当てられます。

tcl/tk でフロントエンドを書く

 いちいちコマンドラインから見るのが面倒なので、また、tcl/tk でフロントエンドを作りました。

こちらからどうぞ。

Raspberry Pi

Posted by sirius