PT3とPLEX PX-Q3PE4を使用したTV録画サーバーを作成します。
カードリーダ
カードリーダの動作に必要なパッケージをインストールし、動作確認まで行います。
$ sudo apt-get -y install pcscd pcsc-tools libpcsclite-dev
$ pcsc_scan
B-CASカードを挿した状態で以下が表示されれば成功
Japanese Chijou Digital B-CAS Card (pay TV)
Ctrl+C で抜けます。
開発環境構築
ツールやドライバのビルドに必要なパッケージをインストールします。
$ sudo apt-get -y install autoconf build-essential cmake curl git libssl-dev libtool libboost-all-dev pkg-config yasm
録画機能設定
arib25ライブラリ
放送データの復号を行うarib25ライブラリをインストールします。
$ mkdir ~/git
$ cd ~/git
$ git clone https://github.com/stz2012/libarib25.git
$ cd libarib25/
$ cmake .
$ make
$ sudo make install
$ sudo /sbin/ldconfig
PT3ドライバ
Gitでソースコードをダウンロードするので、専用のgitディレクトリを作成し、そこで作業します。
ドライバのビルドはdkmsコマンドを使用します。
$ cd ~/git
$ git clone https://github.com/m-tsudo/pt3.git
$ cd pt3
$ sudo apt install dkms
$ sudo bash ./dkms.install
デフォルトのearth-pt3ドライバと競合するため、/etc/modprobe.d/blacklist.confファイル末尾に下記を追記します。
$ sudo nano /etc/modprobe.d/blacklist.conf
blacklist earth-pt3
再起動します。
$ sudo reboot
再起動後、ドライバモジュールがロードされているかを確認します。
$ lsmod | grep pt3
pt3_drv 42151 0
PT3のデバイスファイルが作成されていることを確認します。
$ ls -l /dev/pt3*
crw-rw-rw- 1 root video 249, 0 8月 30 18:45 /dev/pt3video0
crw-rw-rw- 1 root video 249, 1 8月 30 18:45 /dev/pt3video1
crw-rw-rw- 1 root video 249, 2 8月 30 18:45 /dev/pt3video2
crw-rw-rw- 1 root video 249, 3 8月 30 18:45 /dev/pt3video3
recpt1コマンド
録画コマンドのrecpt1コマンドをインストールします。
ホームディレクトリにsrcディレクトリを作成し、その下で作業します。
$ mkdir ~/src
$ cd ~/src
$ wget http://hg.honeyplanet.jp/pt1/archive/tip.tar.bz2
$ tar xvjf tip.tar.bz2
$ cd pt1-17b4f7b5dccb/recpt1/
$ sed -i".org" 's/pt1video/pt3video/g' pt1_dev.h
$ ./autogen.sh
$ ./configure --enable-b25
$ make
$ sudo make install
録画テスト
recpt1コマンドで実際に録画出来る事を確認します。
$ recpt1 --b25 --strip 24 10 ~/pt3ch24.ts
PLEX社製TVチューナーの非公式Linuxドライバインストール
$ sudo apt-get install unzip dkms
ドライバインストール
ドライバのソースコードを取得します。
$ cd ~/git
$ git clone https://github.com/nns779/px4_drv
Windows用ファームウェアをLinux用に変換します。変換ツールがソースコードに含まれているので、ツールをビルドして実行します。
$ cd px4_drv/fwtool/
$ make
$ wget http://plex-net.co.jp/plex/pxw3u4/pxw3u4_BDA_ver1x64.zip
$ unzip pxw3u4_BDA_ver1x64.zip
$ sudo ./fwtool pxw3u4_BDA_ver1x64/PXW3U4.sys it930x-firmware.bin
$ sudo cp -p it930x-firmware.bin /lib/firmware/
$ cd ..
dkms用のスクリプト、”dkms.install”を作成して実行します。
$ nano dkms.install
スクリプトの内容は以下の通りです。
. ./dkms.conf
cp -a `pwd` /usr/src/$PACKAGE_NAME-$PACKAGE_VERSION
dkms add -m $PACKAGE_NAME -v $PACKAGE_VERSION
dkms build -m $PACKAGE_NAME -v $PACKAGE_VERSION
dkms install -m $PACKAGE_NAME -v $PACKAGE_VERSION
スクリプトを実行してドライバをインストールします。
$ sudo bash dkms.install
再起動します。
$ sudo reboot
再起動後、PX-Q3PE4のデバイスファイルが作成されていることを確認します。
$ ls -l /dev/px4*
crw-rw-r-- 1 root video 248, 0 1月 23 21:32 /dev/px4video0
crw-rw-r-- 1 root video 248, 1 1月 23 21:32 /dev/px4video1
crw-rw-r-- 1 root video 248, 2 1月 23 21:32 /dev/px4video2
crw-rw-r-- 1 root video 248, 3 1月 23 21:32 /dev/px4video3
crw-rw-r-- 1 root video 248, 0 1月 23 21:32 /dev/px4video4
crw-rw-r-- 1 root video 248, 1 1月 23 21:32 /dev/px4video5
crw-rw-r-- 1 root video 248, 2 1月 23 21:32 /dev/px4video6
crw-rw-r-- 1 root video 248, 3 1月 23 21:32 /dev/px4video7
録画コマンドインストール
録画コマンドとしてSTZ版のrecpt1をインストールします。
$ cd ~/git
$ git clone https://github.com/stz2012/recpt1.git
$ cd recpt1/recpt1
Makefile.inファイルを編集してPX-Q3PE4用に変更します。
$ nano Makefile.in
コマンド名の後ろに”_px4”を付けます。
変更前) ※7行目以降
TARGET = recpt1
TARGET2 = recpt1ctl
TARGET3 = checksignal
変更後)
TARGET = recpt1_px4
TARGET2 = recpt1ctl_px4
TARGET3 = checksignal_px4
makeを実行してインストールします。
$ aclocal -I .
$ autoheader
$ autoconf
$ ./configure --enable-b25
$ make
$ sudo make install
録画テスト
recpt1_px4コマンドで実際に録画出来る事を確認します。
$ recpt1_px4 --b25 --strip 24 10 ~/pxch24.ts