Raspberry Pi 3 Model B+でEPGStation v2がインストール出来たので、あらためてOSのインストールからEPGStationを動して録画サーバとして使えるようになるまでの手順を覚え書き。USBチューナーはPX-S1UDやPX-Q1UD、PX-BCUDを想定してるけど、他のUSBチューナーでも別途ドライバや録画コマンドをインストールして、Mirakurunのチューナー設定を行えば使える。
- スタートメニューを右クリック→ファイル名を指定して実行
- 名前に「ssh pi@raspberrypi」を入力して、OK
- 初回のみ、Are you sure you want to continue connecting (yes/no)?が出たら、yesを入力
- pi@raspberrypi's password:が出たら、raspberryを入力
英国標準時のままだとEPGStationの予約録画に失敗するので、日本標準時に変更する
sudo raspi-config nonint do_change_timezone Asia/Tokyo
RAM容量が少ないRaspberry Piの場合、EPGStationをインストールする際にnpm run buildでエラーになるので、スワップ容量を2GBに増やす
sudo sed -i -e 's/^CONF_SWAPSIZE=100$/CONF_SWAPSIZE=2048/' /etc/dphys-swapfile
sudo service dphys-swapfile restart
パッケージの更新
パッケージ一覧リストの更新、インストール済みパッケージの更新、不要パッケージの削除を行う
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get autoremove -y
USBチューナーのPX-S1UDやPX-Q1UDを使う場合はファームウェアが必要なのでインストールしてから再起動する(PX-BCUDを使う場合は必要ない)
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/x86/i386/isdbt_rio.inp /lib/firmware/
sudo reboot
Node.jsのインストール
MirakurunとEPGStationの動作に必要となるNode.jsをインストールする
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
arib-b25-stream-testのインストール
B-CASカードでスクランブル解除を行うためのデコーダーをインストールする
sudo apt-get install -y libpcsclite-dev pcscd
sudo npm install arib-b25-stream-test -g --unsafe-perm
Mirakurunのインストール
Mirakurun起動時に呼び出されるdvb-fe-toolが含まれているdvb-toolsと、Mirakurunをサービス起動するために必要なPM2と、PM2で動作するMirakurunのログローテートが行うためのpm2-logrotateをインストールしてから、Mirakurunをインストールする
sudo apt-get install -y dvb-tools
sudo npm install pm2 -g
sudo pm2 install pm2-logrotate
sudo npm install mirakurun@3.8.0 -g --unsafe-perm --production
- Mirakurun 3.9.0-beta系はエラーが出てインストールに失敗するので、3.8.0を指定してインストールしている
Mirakurunのチャンネルスキャン
「-> no signal. [Error: no available tuners]」が表示される場合は再度やり直すか、Webブラウザで http://raspberrypi:40772 を開き、Mirakurun UIのStatusタブが開かれたら、StatusのTunerDevice Streamsが0になるまで待ってから再度行う
curl -X PUT "http://localhost:40772/api/config/channels/scan?type=GR&setDisabledOnAdd=false&refresh=true"
sudo mirakurun restart
BS/110度CSのチャンネルスキャンは下記のように行う
curl -X PUT "http://localhost:40772/api/config/channels/scan?type=BS&setDisabledOnAdd=false&refresh=true"
curl -X PUT "http://localhost:40772/api/config/channels/scan?type=CS&setDisabledOnAdd=false&refresh=true"
sudo mirakurun restart
- DVBデバイスとして認識されるUSBチューナーの場合、Mirakurunのチューナー設定はインストール時に自動的に行われている
- CATV(C13~C63)のチャンネルスキャンには対応していないので注意
EPGStationのインストール
RAM容量が少ないRaspberry Piの場合、npm run buildでエラーとなるので、スワップ容量を2GBに増やした上で、Node.jsの最大メモリ容量に2GBを指定する
sudo apt-get install -y git ffmpeg
git clone https://github.com/l3tnun/EPGStation.git
cd EPGStation
npm run all-install
NODE_OPTIONS="--max-old-space-size=2048" npm run build
EPGStationの設定
サンプルの設定ファイルをコピーして、設定ファイルを作成した後、パッケージでインストールしたFFmpegを使うためにffmpegとffprobeのパスを書き換える
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
sed -i -e 's/^ffmpeg: \/usr\/local\/bin\/ffmpeg$/ffmpeg: \/usr\/bin\/ffmpeg/' config/config.yml
sed -i -e 's/^ffprobe: \/usr\/local\/bin\/ffprobe$/ffprobe: \/usr\/bin\/ffprobe/' config/config.yml
EPGStationの起動とサービス登録
現在のユーザーでPM2の自動起動が行われるように設定した上で、EPGStationをサービスとして起動し、次回から自動起動するように現在の状態を保存する
sudo pm2 startup -u $USER --hp $HOME
pm2 start dist/index.js --name "epgstation"
pm2 save
cd ..