環境を構築し直したので、まとめてみる。今回はUbuntu 16.04 LTSを使った。気が向いたらDebian 9(Stretch)でやる予定。
PT3、PX-S1UD V2.0、PX-BCUD、KTV-FSMINIの4つをセットアップした。PT3はDVBドライバを使う。
カーネルにドライバが組み込まれているので、特に設定しなくても認識される。偶数がBS/CS、奇数が地上波と交互になる。
$ ls /dev/dvb/ adapter0 adapter1 adapter2 adapter3
アンテナに電源供給が必要な場合、chardev版ドライバを導入した方がいい。今回は取り上げない。
何もしなくても認識されるが、ファームウェアを入れないと動作しない。
$ ls /dev/dvb/ adapter0 adapter1 adapter2 adapter3 adapter4
ファームウェアをダウンロードして、インストールする。モジュールをロードし直すと有効になる。
$ 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/ $ sudo modprobe -r smsusb $ sudo modprobe smsusb
adapterの番号を変更するには次のようにする。複数ある場合は「,」で区切る。認識できるadapterの数は8つまでなので、0~7の番号が指定できる(Linux 4.10以降は16個なので0~15)。
$ sudo modprobe -r smsdvb $ sudo modprobe smsdvb adapter_nr=4
他のDVBデバイスと区別するため、起動時に番号を固定する。他にDVBデバイスがない場合は必要ない。
$ sudo sh -c 'echo "options smsdvb adapter_nr=4" > /etc/modprobe.d/smsdvb.conf'
LinuxカーネルにPX-BCUDのドライバが組み込まれるのは4.7以上で、標準のカーネル(4.4)ではドライバが組み込まれていない。HWEカーネルを導入する。
$ uname -r 4.4.0-83-generic $ sudo apt install linux-generic-hwe-16.04 $ sudo reboot $ uname -r 4.8.0-58-generic $ ls /dev/dvb/ adapter0 adapter1 adapter2 adapter3 adapter4 adapter5
adapter番号の指定
$ sudo modprobe -r em28xx-dvb $ sudo modprobe em28xx-dvb adapter_nr=5 $ sudo sh -c 'echo "options em28xx-dvb adapter_nr=5" > /etc/modprobe.d/em28xx_dvb.conf'
KTV-FSMINIはドライバではなくコマンドを利用する。KTVWikiにあるrecfsusb2iをダウンロードして、ビルドする。
$ sudo apt install p7zip-full $ 7z x recfsusb2i-20160220.7z -orecfsusb2i $ cd recfsusb2i/src/ $ make $ sudo install recfsusb2i /usr/local/bin/
DVBデバイスをチューニングするにはdvbv5-zapが必要になる。dvbv5-zapはdvb-toolsに含まれている。
$ sudo apt install dvb-tools
チューニングに必要な設定をダウンロード
$ sudo apt install git $ cd /usr/local $ sudo git clone https://github.com/Chinachu/dvbconf-for-isdb.git
パッケージのインストール
$ sudo apt install pcscd libpcsclite1 libpcsclite-dev libccid pcsc-tools
動作確認
$ pcsc_scan | grep B-CAS Japanese Chijou Digital B-CAS Card (pay TV) ^C
最後に現在も販売されているチューナーを挙げておく。
Chinachuの実行ユーザー作成(既存のユーザーにする場合は不要)
$ sudo adduser chinachu
Chinachuの実行ユーザーをsudoグループに所属させる
$ sudo adduser chinachu sudo
Chinachuの実行ユーザーに切り替え
$ sudo -i -u chinachu
Node.jsをインストール
$ curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - $ sudo apt install -y nodejs $ sudo npm -g i npm@latest # NPMを更新する
PM2とMirakurunをインストール
$ sudo npm install pm2 -g $ sudo npm install mirakurun -g --unsafe --production
arib-b25-stream-testをインストール
$ sudo npm install arib-b25-stream-test -g --unsafe
Mirakurunの設定
$ sudo mirakurun config server
Mirakurunのチューナー設定
$ sudo mirakurun config tuners
設定ファイルやadapterの番号を間違えないように気を付けて編集する
Mirakurunのチャンネル設定
$ sudo mirakurun config channels
BS/CSのチャンネルだけ登録する
チャンネルスキャンで地上波のチャンネルを設定する
$ sudo mirakurun restart $ curl -X PUT "http://localhost:40772/api/config/channels/scan" $ sudo mirakurun restart
Chinachuのダウンロードとインストール
$ sudo apt install git $ git clone git://github.com/kanreisa/Chinachu.git ~/chinachu $ cd ~/chinachu/ u$ ./chinachu installer Chinachu Installer Menu: [!] These are installed under all /home/chinachu/chinachu/... [!] Recommend the Auto installation. 1) Auto (full) 3) Node.js Environment 5) ffmpeg 2) submodule 4) Node.js Modules what do you install? > 1
設定
$ cp config.sample.json config.json $ vi config.json
実行ユーザーを指定する
"uid": "chinachu",
別のマシンからアクセスされるIPアドレスを指定する
"wuiOpenHost": "192.168.60.10",
空の予約ルールを作成
$ echo [] > rules.json
動作チェック
$ ./chinachu service wui execute ^C $ ./chinachu update
サービスを登録
$ sudo pm2 start processes.json $ sudo pm2 save
以上でインストールは完了。
ドライバはなるべく標準ドライバで対応して手間を省いた。チャンネル設定はBS/CSの設定が決まっていて、地上波はチャンネルスキャンできるので手間取らなかった。以前に比べて簡単になったものの、まだ手間がかかるように思う。
takaaki 7月 19th, 2017
Posted In: ハードウェア