帰ってきたEMWUI

テーマ:

ラズパイに載せるTVサーバーは、
EPGStation、それともLinux版EDCB...

Linux版EDCBが出現して以来、どちらを使うのか決めかねている。
今日はこっち、明日はあっちのような具合である。
さて、何れを使うのがベストなのか?

微妙なバランスのもと決めかねていた究極の選択。
しかし、この問題もとうとう決着のときがきた。

先日、Linux版EDCBでもようやくEMWUIが使えるようになったのだ。
EMWUIとはLegacy WebUIをもとに扱いよくしたインターフェースが特徴である。
この間まで不具合によりLinux版ではEMWUIが使用出来なかったのだが、解決したようだ。
Legacy UIの素気なくとっつきの悪いものと比べ使い易くデザインされている。
ただ、慣れてしまえば使い勝手は変らないのだが...

あぁ、EMWUIって不要なんだぁ。

いやいや、ちょっと待った!
EMWUIのapiに必要な機能を追加すれば、たちまちその用途は無限となる。
Web APIなので、外部アプリからも簡単に呼び出せるので都合がよい。

試しに自身の環境でいろいろとやってみた。
ちなみに、サーバーはラズパイにLinux版EDCB
クライアントはラズパイにKodiのpvrアドオンを使用。

まず簡単なところから
Web APIとは無関係だが、EMWUIでは録画ライブラリにサムネイルが作成される。
EDCBのHTTPサーバーを介して簡単にアクセスが可能である。
これを使用すれば、EDCBの録画終了時イベントを利用してサムネイルを作成する必要はなくなる。
ただ、作成されるタイミングがEMWUIを開けたときとなる。
pvrアドオンにサムネイル取り込みを実装してみたのだが、リアルタイム性に欠くので使えないかもしれない。

次に、ライブ視聴のストリームを加工してみる。
Kodiは地デジ音声のデュアルモノは非対応である。
よって、当該音声を使用の番組では主音声と副音声が混ってしまう。
そこで、Web APIでデュアルモノを2チャンネルに分割するものを用意してみる。

EMWUIにもリモート視聴機能があるので、そこから必要なコードを抜き出す。
SrvPipeを開いて読み込むだけのシンプルなもの。
ただ、そこにデュアルモノ対応するためにtsreadexを挟むだけ。
luaの記述に慣れないため時間は掛ったが問題無く分離できた。
Kodi上でも2チャンネルと認識されている。
ただ、tsreadexのオプション設定には気を付ける必要がある。


最後に任意タイミングのエンコード実行である。
EPGStationにあって、EDCBに欠けていた唯一の機能である。
EDCBでも用意されたイベントでスクリプトを実行させることは可能だ。
しかし、エンコード開始ボタンのようなものは存在しなかった。

この機能の実装も、Web apiに記述すれば叶いそうだ。
既に録画終了イベントで実行させるluaのエンコードスクリプトがある。
これを流用すれば、少しの修正でほぼそのまま使えた。
Kodiのコンテキストメニューに「エンコード」項目を用意して実行させる。


さて、これでLinux版EDCBを何のためらいもなく使用することができる。
扱いやすいうえに、使い勝手がよい。
それでいて開発はいま尚アクティブなのだ。

天秤にのせられたEDCBとEPGStation。
大きくEDCBに傾いた。

追記
Linux版EDCBにも対応したEMWUI。
READMEに従えば簡単にインストールできる。
確かに一通りの動作は確認できたのだが、唯一リモート視聴で躓いた。
Lagacy UIでも同様にダメだった。
調べると、クリアな変数xcoderに実行ファイル名を与える際、先頭に「|」が入っている。
何か意味ありげなのだが、取り除いてやると問題なく視聴できる。

そもそも公にされているソースなので、ミスなら気付かず放置されるとは考え難い。
設定等、こちらで何かひと手間必要なのだろうか...