ruspberry pie へのEPG station の導入

【RaspberryPi】PX-S1UDを使用する - uepon日々の備忘録を参考に

ruspberry pie へのEPG station の導入 (-1) ssh を通しておくと便利。sudo raspi-config
(0) sudo apt-get update (1)Card reader のインストール

sudo apt install -y pcscd libpcsclite-dev libccid pcsc-tools

チェック

pcsc_scan

Japanese Chijou Digital B-CAS Card (pay TV) とかでたらOK

(2)チューナーのドライバのインストール 使っているのは、ebetter社の DTV02A-1T1S-U PC用チューナー - e-better 特定の場所に移動させる。 以下も参考に RaspberryPi 3B+ + PX-Q3U4 + EPGStation - Qiita

GitHub - nns779/px4_drv: Unofficial Linux driver for PLEX PX4/PX5/PX-MLT series ISDB-T/S receivers (not V4L-DVB)

 cd /home/pi
 #sudo gpasswd -a $USER video
 wget http://katsunoki.kilo.jp/e-better/download_file/201905-DTV02-1T1S-U.zip
 unzip 201905-DTV02-1T1S-U.zip

``` git clone https://github.com/nns779/px4_drv.git cd px4_drv/fwtool make cp /home/pi/DTV02-1T1S-U/Driver/x64/ISDB2056.sys . ./fwtool ISDB2056.sys it930x-firmware.bin sudo cp it930x-firmware.bin /lib/firmware/ cd ../




sudo apt-get install dkms
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

カーネルモジュールロードの確認

modprobe px4_drv lsmod | grep -e ^px4_drv

px4_drv 81920 0

となればOK.

デバイスノチェック

ls /dev/isdb6*

となればOK

(3)arib25ライブラリのインストール

[https://www.digital-den.jp/simplelife/archives/5062:title]

sudo apt-get install cmake git clone https://github.com/stz2012/libarib25.git cd libarib25/ cmake . make sudo make install sudo sh -c "echo /usr/local/lib64 > /etc/ld.so.conf.d/usr-local-lib.conf" sudo ldconfig

(3)recpt1のインストール

[https://trap.jp/post/1089/:title]

[https://github.com/stz2012/recpt1:title]

sudo apt-get install automake cd recpt1/recpt1 git clone https://github.com/stz2012/recpt1.git cd recpt1/recpt1 ./autogen.sh ./configure --enable-b25 make sudo make install

チェック
以下でBS3をとれる。

recpt1 --b25 --strip BS03_1 5 ch18.ts --device /dev/isdb2056video0

--b25 --strip は暗号解除, チャンネル名 出力ファイル名 --device デバイス名  

 (4')外付け ハードディスクの自動マウント   
 *これは必ずしもやる必要はない   
PARTUUIDの確認。外付HDをusbポートにさして  


[https://note.com/hitoshiarakawa/n/nac4a012e1b61]
(a)partuuidの確認

pi@raspberrypi:/media $ sudo blkid /dev/mmcblk0p1: LABEL_FATBOOT="boot" LABEL="boot" UUID="AE82-4BC1" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="64bc185d-02" /dev/mmcblk0p2: LABEL="rootfs" UUID="6d2ff93e-eacd-415c-96d5-4611ad21e05f" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="64bc185d-03" /dev/sda1: LABEL="HD-ADU3" BLOCK_SIZE="512" UUID="24CA644DCA641D74" TYPE="ntfs" PARTUUID="c22a43c9-b05f-4d67-8828-a6fdf13eb43a"

(b) /etc/fstab に追記  
PARTUUID(上で調べたもの)とファイルシステム(ntfs)とmountポイントは適当にかえる  

PARTUUID=bae903cc-01 /media/ext_hdd ntfs defaults,nofail 0 0

(c)mount ポイントの確保   
sudo mkdir /media/ext_hdd  

(d) 確認 df コマンドで、ハードディスクとマウントポイントの関係がでればOK. 

df
/dev/sda1: LABEL="HD-ADU3" BLOCK_SIZE="512" UUID="24CA644DCA641D74" TYPE="ntfs" PARTUUID="f21d43c9-b05f-4267-8828-a6fdf13eb42b"

(4)mirakurun のインストール
4-1)Node.js のインストール
mirakurun はNode.jsを使う
[https://qiita.com/ww24/items/0adc36c013511524da80:title]
node というパtケージをインストールしてはまった…

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

sudo apt-get install -y nodejs npm

sudo npm install pm2 -g sudo npm install mirakurun -g --unsafe --production

(5)EPG station のインストール
バージョンが古いと怒られたならnコマンドをいれて調整する。
ffmpeg もインストールしておく   

sudo apt-get install ffmpeg

[https://www.web-dev-qa-db-ja.com/ja/node.js/nodejs%E3%82%92%E6%9C%80%E6%96%B0%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%AB%E3%82%A2%E3%83%83%E3%83%97%E3%82%B0%E3%83%AC%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B/1065714518/:title]

sudo npm install n -g
sudo n stable
sudo n 14.17.0
sudo n

nでEPG station 用の14.17.10 を選ぶ。
npm -v でバージョンがでる

途中でsqlite3でつまるので、先にいいれる。バージョンも調整。
suをすると怒られる。

npm install sqlite3@5.0.2

vueで怒られた場合は手動でいれる
sudo しないとこっちはダメ…

sudo npm install -g @vue/cli

heap が足りない場合
1024Bでフリーズ、512MBでヒープ不足なので、
微妙なところを選んだ。

export NODE_OPTIONS="--max-old-space-size=752"




git clone https://github.com/l3tnun/EPGStation.git cd EPGStation npm run all-install npm run build

suをしないのがポイント。

設定ファイルのコピー

cp config/config.yml.template config/config.yml cp config/operatorLogConfig.sample.yml config/operatorLogConfig.yml cp config/epgUpdaterLogConfig.sample.yml config/epgUpdaterLogConfig.yml cp config/serviceLogConfig.sample.yml config/serviceLogConfig.yml cp config/enc.js.template config/enc.js


うまくいけば、
(5)ネットワーク周りの設定
とりあえずアップデート

sudo apt update sudo apt upgrade

ubutu の ファイアーウォールをいれる

sudo apt install ufw sudo vi /etc/default/ufw

ip6=noに変更

sshの許可

sudo ufw allow from 192.168.0.0/24 to any port 22 proto tcp

EPGstationのポートの許可

sudo ufw allow 8888/tcp

Mirakurunのポートの許可

sudo ufw allow 40772/tcp sudo ufw enable sudo utw status

#ディスク関連
ディスクの確認

[https://www.neko6.info/archives/481:title]

sudo fdisk -l

マウントの例

sudo mount /dev/sdb1 /media/pi/HD-ADU3

ファイルシステムをみるには

mount

とかでてファイルシステムfuseblkを確認
/dev/sdb1 on /media/pi/HD-ADU3 type fuseblk (rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)

マウントをログアウトしても継続されるのためには
/etc/fstab  に sdb5 や /mnt/ やext4は直す。

/dev/sdb5 /mnt/diskA ext4 defaults 0 0

等を書いておく。
https://www.neko6.info/archives/481
設定ファイル

/EPGStation/configの config.yml のあれでOK. recorded: - name: recorded #path: '%ROOT%/recorded' path: '/media/pi/HD-ADU3 '

と変更

(10)起動
#手動起動。
mirakurun の起動

sudo mirakurun start

http://xxx.xxx.xxx.xxx:40772/

設定ファイル:
/usr/local/mirakurun/tuners.yml
に
  • name: ISDBT2056 types:
    • BS
    • CS
    • GR command: recpt1 --b25 --strip --device /dev/isdb2056video0 - - isDisabled: false
する。
また、channels.yml とかく。
  • name: TOKYO MX type: GR channel: '16'
  • name: NHK総合 type: GR channel: '27'
  • name: フジテレビ type: GR channel: '21'
  • name: テレビ東京 type: GR channel: '23'
  • name: テレビ東京携帯 type: GR channel: '23' serviceID: '1456'

確認

npm start

http://xxx.xxx.xxx.xxx:8888 でアクセスできる。


v1からの移行


[https://github.com/l3tnun/EPGStation/blob/master/doc/v1migrate.md:title]

色々めんどい。 とりあえず、SDcard からEPGStationを
ハードディスクにコピーして実行。
EPGStation v1 の最新化。
バックアップ

$ git pull $ git checkout v1 $ npm install --no-save $ npm run build

データベース更新のため再起動

$ npm start

この辺でバグがでてもとりあえず、以下のコマンドでバックアップとれた

npm run backup FILENAME

そして、conf/conf.xxx  の
 ffmpeg と ffprob と recorded とthumbnail の項目のパスを適切に治す。

そして、バックアップをver2にもってきて以下のコマンドで移行。

$ rm -rf data $ git checkout data $ rm -f config/*.json

けしとかないと、check DB が無限につづくことがあるので注意。
そして、

npm run v1migrate FILENAME

でビデオの録画記録が移行できる。

(7)su のパスワードを付与
ruspberry pie では、suのパスワードがついてないので、付けといたほうが良い。
バグがあると直せなくなって詰む。

(8)ハードディスクの自動マウント
外付けハードディスクの自動マウントするとsda とsdb とかが
自動的に変更になって、ubutunが緊急モードでしか再起動できなくなるので注意。

(9)ポートを変更した時に、ファイアーウォールを開け忘れないと見れないので注意。
(10)恒久化

$ sudo npm install pm2 -g $ sudo pm2 startup ubuntu $ pm2 start dist/index.js --name "epgstation" $ pm2 save

pm2 list で確認できる。