This is an old revision of the document!
Table of Contents
録画サーバ
hardware
- Raspberry Pi 4
- KTV-FSUSB2
- KTV-FSPCIE
software
| 使用ソフト | 機能 | |
|---|---|---|
| フロントエンド | EPGStation | GUI,WEBUI,予約管理 |
| バックエンド | mirakurun | APIサーバ(RESTインターフェース),チューナー,チャンネル管理 |
| 録画プログラム | recfsusb2n | チューナ機器からデータを読み出すコマンド |
フロントエンドには,Chinachuというのもあるが,EPGStationの方が開発が活発のようなのでEPGstationを選んだ
mirakurunはrecfsusb2nを呼び出して,テレビのデータを取り出す。EPGStationはmirakurunのAPIを用いて,データを取得する。テレビのストリーミングのデータすら,APIで取得し,フロントエンドのEPGStationはrecfsusb2nを呼び出すことはないようだ。
OS のインストール
recfsusb2n のインストール
http://ksmksks.hateblo.jp/entry/2015/09/20/205550 の方法を実施した
sudo apt-get install git libboost-all-dev gcc make git clone https://github.com/sh0/recfsusb2n mkdir patch cd patch/ unzip recfsusb2n_http_patch2.zip mv * ../recfsusb2n/src/ cd ../recfsusb2n/src/ vi Makefile
- 11行目:“CXXFLAGS =“の”-march=native“を削除
- 13行目:”CFLAGS =“の”-march=native“を削除
- 15行目:“#LIBS“の”#“を消してコメントアウトを外し,boost_thread-mt」の「-mt」を消す
- 16行目:頭に”#“を付けて”#LIBS“としてコメントアウト.
make cp recfsusb2n /usr/local/bin/
動作確認の例
UHF27chを40秒間、test.tsにB25復号しながら記録
recfsusb2n -bv 27 40 test.ts
mirakurunのインストール
https://qiita.com/tatsuya_info/items/3583182ac104a4958eac にある内容に従って,以下をやった
sudo curl -sL https://deb.nodesource.com/setup_12.x | sudo bash - sudo apt-get install -y nodejs sudo npm install pm2 -g sudo npm install mirakurun -g --unsafe-perm --production sudo mirakurun config tuners
すべて消して,以下を書き込む
- name: KTV-FSPCIE
types:
- GR
command: /usr/local/bin/recfsusb2n --b25 <channel> - -
isDisabled: false
- name: KTV-FSUSB2N
types:
- GR
command: /usr/local/bin/recfsusb2n --b25 <channel> - -
isDisabled: false
(この記述で,二台のチューナーを同時に使える)
さらに
sudo mirakurun config channels
で,以下を記述する
- name: NHKEテレ type: GR channel: '22' - name: TVQ九州放送 type: GR channel: '26' - name: NHK総合 type: GR channel: '27' - name: RKB毎日放送 type: GR channel: '30' - name: KBCテレビ type: GR channel: '31' - name: FBS福岡放送 type: GR channel: '32' - name: テレビ西日本 type: GR channel: '34'
上記の処理で /usr/local/etc/mirakurun/* に設定ファイルが書き込まれる。
sudo mirakurun restart
で起動する。起動しない場合には /usr/local/var/log/ 以下の mirakurun.* にログがでているので確認する。
curl -X PUT "http://localhost:40772/api/config/channels/scan"
でチャンネルスキャンする。 ここで,/usr/local/etc/mirakurun/channels.yml に結果が書き込まれる
スキャンの結果を確認するには,
sudo mirakurun restart sudo npm install rivarun -g sudo rivarun --list | sed 's/},/},\n/g'
で確認できる
EPGStation
sudo gpasswd -a $USER video
git clone https://github.com/l3tnun/EPGStation.git cd EPGStation npm install --unsafe-perm sqlite3 npm install diskusage npm install 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
vi ~/EPGStation/config/config.json
"ffmpeg": "/usr/bin/ffmpeg",
"ffprobe": "/usr/bin/ffprobe",
"recorded": "/path/to/",
"recordedTmp": "/path/to/",
pm2 startup pm2 start dist/server/index.js --name "epgstation" pm2 save
以上で設定が済んだら,
http://192.168.1.140:8888/
でアクセスして動作するか確認する。
エラー
/usr/local/var/log/mirakurun.stderr.log に以下のエラーが出ていた
2020-03-10T12:49:11.779+09:00 warn: TSFilter is overflowing the buffer...
それで,
npm update -g core-js set-value npm
を実行した
エラー
再起動時にスタートしない問題
pm2 startup
を実行すると,
[PM2] To setup the Startup Script, copy/paste the following command: sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi
と出たので,
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi
を実行した
