kodiのnexusをラズパイ環境で快適に使うため奮闘してはや数ヶ月。
まったく成果無し。
頼りにしていたkodiのgraysky版なのだが、更新すれど問題が解決しない。
ブログに記すことも無くなり、放置状態だったのだが...
ひと月ほど前の更新で、依存するffmpegのバージョンが上った。

きたか!

早速試してみた。
長らく問題だったメモリーリークが解決している!
使えるのか?

結論を急ぐのは早い。
録画再生で問題が発生。
再生やシークに問題は無い。
ただ、再生停止後に位置を憶えているはずが、再開すると頭からの再生になる。
pvrの問題か?
念のため直接ファイルを再生してみても同様である。
どうもffmpegの問題だと思われるのだが...
流石にこれでは使えない。

それではと、ffmpegのバージョン違いを試そうと思ったのだがビルドでエラーが出てしまう。
あ〜、ぬか喜びだったのか;

いろいろと試してみたが、手掛かりなし。
結局は余計なファイルや設定でSDカードを汚しただけとなった。
仕方なくバックアップしていたもので上書きしようとしたのだが、チョット待て。
PCのダウンロードフォルダにLibreELECのイメージファイルがあったはず。
まったくの思いつきなのだが、少し古い11.0.0を試すことにした。

LibreELECだが、Matrixの時には散々だったのを憶えている。
大きな修正があったためとは言え、リリースが遅れに遅れ。
ようやくリリースされたものも、いまひとつ。
そんなことから、Nexusでは一度も試すことはなかったのだが...

とにかく、LibreELECはimageをロードするだけなので手間はいらない。
あとは日本語設定を入れるだけ。
まずは問題だった録画ファイルの再生を試してみる。
予想外に問題なく処理される。

これなら、pvrも問題無く機能するかもしれん。

期待を抱いて試したが...
しかし、これが想像以上だった。
今まで問題だった事は全て解消されている。
それどころか、プラスアルファな事も幾つかあった。

まず、pvr使用時のCPU負荷がLeia並みに低くなっている。
Matrix以降、番組表画面では相当な負荷が掛っていたのが嘘のようである。
当然だが、TV視聴や録画再生でも同様に抑えられている。
MMALが有効になっているのではと、疑いたくなる程である。

また、起動時のメモリの使用率が低くなっている。
kodi専用ということで、必要なものだけしか入っていないということだろうか。
この件に関しては、OSもカスタマイズされていると考えればもっともかもしれない。

ついでに、これまで使えずに諦めていたgameランチャが使用できるようだ。
そうなればlibretroとはおさらばである。

とにかく、LibreELECは使い易くカスタマイズされている。
GUI上から必要な設定は変更できるのも便利である。
ネットワークはもとより、ssh、smb、ntp等サービスの設定も可能である。

つらつらと良い事ばかり記してきたが、デメリットも存在する。

上記様にLibreELECをimageから読み込んだのであればゴリゴリと弄れない。
現在使用しているmatrixでは、ffmpegに字幕用モジュールを有効にしている。
しかしながら、なじみのないLibreELEC環境では手軽にコンパイルとはいかない。
そもそも、そんなことをするための設計は、なされていないのかもしれない。
ただし、ffmpegの最新ではlibaribcaptionが取り込まれたらしい。
そうなると、いずれは簡単に機能追加できるのではなかろうか。

弄るのに苦労するとなればrtlラジオを使うにも難儀しそうだ。
ただ、TV同様に使えなければ困る機能のひとつである。
このあたりは、設定と準備をする際にはブログで紹介したい。

あとはipアドレスの名前解決ができないようだ。
ソースからビルドしたものでは、Avahiにより名前の後ろにlocalを付けるだけでよかったのだが。
ダメなものは仕方ない、tvサーバーもipアドレスで設定するしかない。

気付いた長所短所は以上である。

しかし、ラズパイのLibreELECは何故これ程快適にNexusをカスタマイズできたのか?
実のところLibreELECのラズパイ3版はarmv7の32bitらしい。
その旨を調べてみた。
結果、「何故、64bitにする必要があるのか?」との事。
この一言で目から鱗が...。

Nexusに変ってから、当然64bitだろうと疑いなく環境を構築していた。
しかし、それが間違いであると気付かされた。

成程な。
所詮はラズパイ3なのだ。

追伸.
そういう事でpvr.epgtestをLibreELEC11.0.0で使用する場合は以下通りに変更下さい。

pvr.epgtest.pi.v7a.so → pvr.epgtest.so