RaspberryPi で録画サーバを構築する(1)

準備するもの
チューナー
PLEX USB 接続ドングル型地上デジタル TV チューナー PX-S1UD V2.0 https://www.amazon.co.jp/gp/product/B0141NFWSG/ ¥4,840
IC カードリーダー
SCM IC カードリーダー/ライター SCR3310/v2.0 https://www.amazon.co.jp/dp/B0085H4YZC ¥1,380(中古)
B-CAS カード
古い HDD レコーダーから拝借
チューナーの接続
チューナーのドライバをインストールする。
$ wget http://plex-net.co.jp/plex/px-s1ud/PX-S1UD_driver_Ver.1.0.1.zip
$ unzip PX-S1UD_driver_Ver.1.0.1.zip
$ sudo cp PX-S1UD_driver_Ver.1.0.1/x64/amd64/isdbt_rio.inp /lib/firmware/
カードリーダ/B-CAS の接続
カードリーダのドライバーをインストールする。
$ sudo apt-get install build-essential git
$ sudo apt-get install pcscd libpcsclite-dev libccid pcsc-tools
カードリーダに B-CAS カードのチップが上向きになるように接続し、RaspberryPi に USB 接続する。 緑のランプが 5 秒間くらい点灯した後に消えるが、この動きで特に問題ないらしい。
接続を確認する。
$ lsusb
...
Bus 001 Device 009: ID 04e6:5116 SCM Microsystems, Inc. SCR331-LC1 / SCR3310 SmartCard Reader
Bus 001 Device 011: ID 3275:0080 VidzMedia Pte Ltd
...
$ sudo pcsc_scan
Using reader plug'n play mechanism
Scanning present readers...
0: SCM Microsystems Inc. SCR 3310 [CCID Interface] 00 00
...中略
Japanese Chijou Digital B-CAS Card (pay TV)
(Ctrl+C で終了)
B-CAS デコード用ライブラリのインストール
日本の地デジ放送は暗号化された状態で配信されているため、そのまま受信して保存すると再生や複製の際に問題が起こる。そこで、B-CAS カードの情報を使って受信と同時に復号するのが望ましい。これを実現するライブラリが libarib25 である。 このライブラリをコンパイルする際、cmake と g++が必要なので sudo apt-get install cmake g++でインストールしておく。
$ sudo apt-get install cmake g++
$ wget https://github.com/stz2012/libarib25/archive/master.zip -O libarib25.zip
$ unzip libarib25.zip
$ rm libarib25.zip
$ cd libarib25-master
$ cmake .
$ make
$ sudo make install
録画用コマンドのインストール
GUI の録画ソフトを動かす前に、CUI の録画コマンドが必要なので録画コマンド recdvb をインストールする。
$ cd ~
$ sudo apt-get install dh-autoreconf
$ wget http://www13.plala.or.jp/sat/recdvb/recdvb-1.3.2.tgz
$ tar xvzf recdvb-1.3.2.tgz
$ cd recdvb-1.3.2
$ ./autogen.sh
$ ./configure --enable-b25
字幕やデータ放送のデータが不要な場合は
$ make
字幕やデータ放送のデータが必要な場合は
$ EXTRA_SID=1 make
$ sudo make install
動作確認
物理チャンネル "24" を 10 秒間録画する。
- 保存先:/home/pi/test/
- ファイル名:test.m2ts
// 録画開始
$ recdvb --b25 --strip 24 10 /home/pi/test/test.m2ts
// 録画終了
$ dmesg -w
(Ctrl+C で終了)