サーバー

録画環境の Mirakurun への移行計画 1:epgrec UNA 改造編

投稿日:2017/03/25 更新日:

前回に引き続き Mirakurun への移行忘備録。
今回は epgrec UNA を Mirakurun に対応させる。

 

元の epgrec UNA の動作

視聴, 録画, EPG更新時に do-record.sh から recpt1 を呼び出しているので、
基本的には do-record.sh の recpt1 関連行を Rivarun に対応させれば良い。

この中で少し複雑なのは(リアルタイム)視聴。
元のepgrec UNAは、httpサーバー機能追加版の recpt1 を使って実現している。
リアルタイム視聴したい局を選択すると、
当該チャンネルをターゲットとして recpt1 を httpサーバーとして動作させ、
このサーバーを指すASXファイルを出力する。
視聴後に「視聴停止」ボタンを押す必要があるのは、
このサーバー動作している recpt1 を止めて、チューナーを解放するためだ。
 

Mirakurun 対応

対応箇所は大きく分けて以下の4つ

  • Rivarun のインストール
  • do-record.sh: recpt1 を rivarun に
  • リアルタイム視聴関連
  • BSチャンネル名の変更

Rivarun のインストール

※ あとで実際に Mirakurun を動作させる時にそちらで書き直します。
 

recpt1 → rivarun

Rivarun は recpt1 と同じように扱えるようにしてあるので変更は少ない。
do-record.sh 内の RECORDER を /usr/bin/rivarun にして
各モードのコマンドオプションを以下のように変える。
(MODE==0 は sid 指定が不要)

Google Adsense

リアルタイム視聴関連

(私の環境は verが少し古いので変わっているかもしれないが)
do-record.sh の 14 行目 if [ ${OUTPUT} = '-' ]; then
リアルタイム時に recpt1 を httpサーバーとして読んでいるので、
そこから else までを if [ 1 ]; then とでもしてしまう。

次に config.php の REALVIEW_HTTP_PORT を 8888 から
Mirakurun の TCP port番号に変更する。
(デフォルトは 40772)

次は templates/index.html の 758行目あたり。
不要な「視聴停止」ボタン消す。

 

次は watch.php の 219行目あたりで

 

あとは同じく watch.php 291行目 で出力ASXファイルを Mirakurun 用に修正する。

 

BSチャンネル名変更

epgrec で BS1_0 のようにしているチャンネル名を
Mirakurun では BS01_0 のような形式にする(チャンネル桁数を2桁に)。
PHPは詳しくないので泥臭い方法かもしれないが以下のようにした。
(watch.php 56行目から)

 

その他

元々動いていたのだから問題ないはずだが、
以下のようにしないと上手く動かなかったため変更した。
(collie.php/206行目, sheepdog/159行目)

 

3月末に Mirakurun に完全移行してしばらく実地テストしたらソースを公開してみようかな。
(Mirakurun と epgrec の共存というのがあまり需要がなさそうだけれど)

Google Adsense

Google Adsense

-サーバー
-, ,

Copyright© P-Life, 2017 All Rights Reserved.