Edited at

RaspberryPi 3B+ + PX-Q3U4 + EPGStation


環境


  • ハード


    • Raspberry Pi 3B+

    • PX-Q3U4

    • ICカードリーダ と B-CASカード



  • ソフト


    • Raspbian Buster Lite July 2019




memo

RasPiの初期設定とかはざっくり省略

とりあえず、動くところまで確認出来たから一旦公開します。


ドライバ導入


必要なパッケージの導入

$ sudo apt install raspberrypi-kernel-headers dkms git pcscd libpcsclite-dev libccid pcsc-tools


ドライバのインストール

$ git clone https://github.com/nns779/px4_drv.git

$ cd px4_drv
$ cd fwtool
$ make
$ wget http://plex-net.co.jp/plex/pxw3u4/pxw3u4_BDA_ver1x64.zip -O pxw3u4_BDA_ver1x64.zip
$ unzip -oj pxw3u4_BDA_ver1x64.zip pxw3u4_BDA_ver1x64/PXW3U4.sys
$ ./fwtool PXW3U4.sys it930x-firmware.bin
$ sudo mkdir -p /lib/firmware
$ sudo cp it930x-firmware.bin /lib/firmware/
$ cd ../
$ sudo cp -a ./ /usr/src/px4_drv-0.2.1
$ sudo dkms add px4_drv/0.2.1
$ sudo dkms install px4_drv/0.2.1


設定ファイルの書き換え


/etc/modules.

# ファイル名は  /etc/modules 

# 追記
px4_drv


/boot/cmdline.txt

# 追記

coherent_pool=4M
dwc_otg.host_rx_fifo_size=2048


/etc/modprobe.d/px4_drv.conf

options px4_drv xfer_packets=51 urb_max_packets=816 max_urbs=6 



再起動後、次のコマンドでドライバが読み込まれていることを確認

$  lsmod | grep px4

px4_drv 98304 0

PX-Q3U4を接続すると、/devにpx4video0~7が生えてくることを確認

$ ls /dev/ | grep px4

px4video0
px4video1
px4video2
px4video3
px4video4
px4video5
px4video6
px4video7


録画環境


必要なモジュールのインストール

$ sudo apt install cmake autoconf automake ffmpeg


B25ライブラリ

$ git clone https://github.com/stz2012/libarib25.git

$ cd libarib25
$ cmake .
$ make -j 4
$ sudo make install


recpt1の構築

$ git clone https://github.com/stz2012/recpt1.git

$ cd recpt1/recpt1
$ sed -i -e "/^char \*bsdev\[NUM_BSDEV\] = {$/a \ \ \ \ \"/dev/px4video1\",\n\ \ \ \ \"/dev/px4video0\",\n\ \ \ \ \"/dev/px4video4\",\n\ \ \ \ \"/dev/px4video5\"," pt1_dev.h
$ sed -i -e "/^char \*isdb_t_dev\[NUM_ISDB_T_DEV\] = {$/a \ \ \ \ \"/dev/px4video2\",\n\ \ \ \ \"/dev/px4video3\",\n\ \ \ \ \"/dev/px4video6\",\n\ \ \ \ \"/dev/px4video7\"," pt1_dev.h
$ ./autogen.sh
$ ./configure --enable-b25
$ make -j 4
$ sudo make install
$ cd /tmp
$ recpt1 --b25 --strip [チャンネル] 20 test.ts

録画したファイルがとりあえず再生出来ることを確認


Mirakurun

# curl -sL https://deb.nodesource.com/setup_10.x | bash -

$ sudo apt-get install -y nodejs
$ sudo npm install pm2 -g
$ sudo npm install mirakurun -g --unsafe-perm --production
$ sudo gpasswd -a $USER video
$ sudo mirakurun config tuners

エディタが立ち上がるので、全部消して次の内容に変更


/usr/local/etc/mirakurun/tuners.yml

- name: PX4-S1

types:
- BS
- CS
command: recpt1 --b25 --device /dev/px4video0 <channel> - -
isDisabled: false

- name: PX4-S2
types:
- BS
- CS
command: recpt1 --b25 --device /dev/px4video1 <channel> - -
isDisabled: false

- name: PX4-S3
types:
- BS
- CS
command: recpt1 --b25 --device /dev/px4video4 <channel> - -
isDisabled: false

- name: PX4-S4
types:
- BS
- CS
command: recpt1 --b25 --device /dev/px4video5 <channel> - -
isDisabled: false

- name: PX4-T1
types:
- GR
command: recpt1 --b25 --device /dev/px4video2 <channel> - -
isDisabled: false

- name: PX4-T2
types:
- GR
command: recpt1 --b25 --device /dev/px4video3 <channel> - -
isDisabled: false

- name: PX4-T3
types:
- GR
command: recpt1 --b25 --device /dev/px4video6 <channel> - -
isDisabled: false

- name: PX4-T4
types:
- GR
command: recpt1 --b25 --device /dev/px4video7 <channel> - -
isDisabled: false


$ sudo mirakurun restart

// チャンネルスキャン 時間が掛かるけど、とりあえず待つ
$ sudo curl -X PUT "http://localhost:40772/api/config/channels/scan"
$ sudo mirakurun restart
$ sudo npm install rivarun -g
// チャンネルスキャンした結果を確認
$ sudo rivarun --list | sed 's/},/},\n/g'


EPGStation

$ cd

$ git clone https://github.com/l3tnun/EPGStation.git
$ cd EPGStation
$ sudo npm install
$ sudo npm run build
$ cp config/config.sample.json config/config.json
$ cp config/operatorLogConfig.sample.json config/operatorLogConfig.json
$ cp config/serviceLogConfig.sample.json config/serviceLogConfig.json


~/EPGStation/config/config.json

    "ffmpeg": "/usr/bin/ffmpeg",

"ffprobe": "/usr/bin/ffprobe",
"recorded": "/path/to/",
"recordedTmp": "/path/to/",

$ sudo pm2 startup

$ sudo pm2 start dist/server/index.js --name "epgstation"
$ sudo pm2 save

ブラウザから http://host:8888 にアクセスして、EPGStationにアクセス出来ることを確認する。


参考にしたサイト