Ubuntu 18.04 + mirakurun + EPGStation 構築 設定編

前回の流れからQSVのffmpegセットアップを続けようかと思ってたんだけど、よくよく思い返すとmirakurunやEPGStationの設定でも多少のはまりがあったので、その辺りを先にまとめておく。QSVのffmpegやcomskip等は、録画サーバにおいてオプション的な位置付けで、あってもなくても録画サーバそのものは動作する訳だし。mirakurunとEPGStationのインストールが終わった段階で、両者の設定を済ませて、軽く録画処理を動かしておく方が切り分け的にも安全。

早速mirakurunの設定からだが、私は以前からmirakurunを多段で使用している。PT3を複数のサーバに分けておけば、何らかの事情でサーバが落ちても他のサーバでmirakurunを動かせば録画可能となる。以前はrivarunを中継する形で多段を実現していたんだけど、いつの間にか正式に多段対応してくれたので、今回はその設定を使ってみる。1号機をepg1というサーバ、2号機をepg2として、2号機はとりあえずmirakurunさえ動いていればよい。設定ファイルは/usr/local/etc/mirakurun配下のymlファイルたち。2号機のtuners.ymlは以下。

- name: PT3-S1
  types:
    - BS
    - CS
  command: recpt1 --device /dev/pt3video0 --lnb 15 <channel> - -
  decoder: arib-b25-stream-test
  isDisabled: false

- name: PT3-S2
  types:
    - BS
    - CS
  command: recpt1 --device /dev/pt3video1 --lnb 15 <channel> - -
  decoder: arib-b25-stream-test
  isDisabled: false

- name: PT3-T1
  types:
    - GR
  command: recpt1 --device /dev/pt3video2 <channel> - -
  decoder: arib-b25-stream-test
  isDisabled: false

- name: PT3-T2
  types:
    - GR
  command: recpt1 --device /dev/pt3video3 <channel> - -
  decoder: arib-b25-stream-test
  isDisabled: false

ごくごく普通の設定ですね。2機の地上波チューナーと2機のBSチューナーをそれぞれ記述しておくだけ。続いて1号機のtuners.ymlを用意する。こちらも同様に2機の地上波チューナーと2機のBSチューナーに加えて、2機のリモート地上波チューナーと2機のリモートBSチューナーを設定しておく。ポイントはremoteMirakurunPortを明記することで、これを忘れるとまったく動作しない。How Toページでは省略されているため、パラメータの存在にすら気付かず、かなりの期間悩むことになった。

- name: PT3-S1
  types:
    - BS
    - CS
  command: recpt1 --device /dev/pt3video0 --lnb 15 <channel> - -
  decoder: arib-b25-stream-test
  isDisabled: false

- name: PT3-S2
  types:
    - BS
    - CS
  command: recpt1 --device /dev/pt3video1 --lnb 15 <channel> - -
  decoder: arib-b25-stream-test
  isDisabled: false

- name: PT3-S3
  types:
    - BS
    - CS
  remoteMirakurunHost: epg2
  remoteMirakurunPort: 40772
  remoteMirakurunDecoder: true
  isDisabled: false

- name: PT3-S4
  types:
    - BS
    - CS
  remoteMirakurunHost: epg2
  remoteMirakurunPort: 40772
  remoteMirakurunDecoder: true
  isDisabled: false

- name: PT3-T1
  types:
    - GR
  command: recpt1 --device /dev/pt3video2 <channel> - -
  decoder: arib-b25-stream-test
  isDisabled: false

- name: PT3-T2
  types:
    - GR
  command: recpt1 --device /dev/pt3video3 <channel> - -
  decoder: arib-b25-stream-test
  isDisabled: false

- name: PT3-T3
  types:
    - GR
  remoteMirakurunHost: epg2
  remoteMirakurunPort: 40772
  remoteMirakurunDecoder: true
  isDisabled: false

- name: PT3-T4
  types:
    - GR
  remoteMirakurunHost: epg2
  remoteMirakurunPort: 40772
  remoteMirakurunDecoder: true
  isDisabled: false

続いてchannels.ymlの修正。経緯はよくわからないんだけど、地上波のMXがchannel: 16となっているのを20に直さないと動かない。あとはBSのチャンネル再編に合わせた修正。詳しいことはよくわかっていないけど、BSプレミアムやBSジャパン辺りがうまく動作していなかったので、ぐぐりながら直してみた。最後にBS12やディズニーのDLifeなど、もともと設定のなかったチャンネルを追加する。DLifeチャンネルとか子供が喜びそうな番組多そうだしw 具体的には以下を参考にして下さい。

- name: MX
  type: GR
  channel: '20'
    :
- name: NHK BS Premium
  type: BS
  channel: BS03_1
  serviceId: 103

- name: NHK BS Premium (Sub)
  type: BS
  channel: BS03_1
  serviceId: 104
    :
- name: BS JAPAN
  type: BS
  channel: BS01_2
  serviceId: 171
    :
- name: BS12
  type: BS
  channel: BS09_2
  serviceId: 222

- name: DLife
  type: BS
  channel: BS23_2
  serviceId: 258

これでmirakurunが動き出したので、いよいよEPGStationを動かしてみる。うちは既にMySQLサーバが動いているので、そこにEPGStation用のDBを用意した。もし、ローカルでDBを動かす場合は以下のように準備する。個人的な好みでmariadb-serverになっているけど、別にMySQLサーバでも問題はないです。

apt install -y mariadb-server
mysql -uroot
create database epgstation;
create user epgstation@localhost identified by 'epgstation';
grant all on epgstation.* to epgstation@localhost;
quit

EPGStation側はMySQLの設定さえ正しく入れておけば、とりあえずは動くはず。上記の通りにDBを設定したのならMySQL向けの変更すら不要。あとでいじることになるのは、recorded変数による録画先ディレクトリやencode配列中のコマンドなど。圧縮処理をQSV化したり、comskipでチャプター付けたりするなら、事後処理をスクリプト化する必要がある。次回はffmpegとcomskipを設定して録画後の事後処理も設定に加えていく。リアルタイムエンコードまで行けるかな。

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)