kodiのmatrixでは、pvrの新機能としてtv視聴のタイムシフト、キャッチアップが追加された。
タイムシフトは、今観ている位置から前後にシフトして視聴できる機能。
キャッチアップは、見逃した放送などを後追いで観る機能...だと思う。
キャッチアップに関しては今ひとつピンときていない。
全録みたいなものだろうか?
ただ、そうであるなら自分の求めているものとは少し違うのだが...。

これら機能は、以前にブログでも少し触れた。
そのときは、pvr.iptvsimpleで実装されているので使ってみた程度のこと。
そこから先に進まなかったのはラズパイ3でmatrixを使えないため。
現環境で使えないなら急ぐ必要はない。
なので、気持ちとしては机の端っこに置いたまま。
いつでも引っ張り出せるように...。

そして、あれから今。
既にラズパイ4で対応されている。
そしてラズパイ3対応も近いのではないか。
ということで、久々にこれら新機能を弄ってみた。

まずはタイムシフト機能から。
と言っても、まだラズパイ3では叶わないのでwindowsで試みることにする。
ちなみに、これらを実装するアドオンはpvr.epgtest
以前より、matrix用のpvrアドオンとしてチマチマと作っているもの。
とりあずは、これに実装してみる。

その前に、inputstream.ffmpegdirectアドオンをインストール。
タイムシフト機能を使う場合にはpvrアドオンが直接入力ストリームを扱わない。
別途、このインプットストリームアドオンを仲介することで機能を実現することになる。

そして、いよいよ実装...。
時間が掛るだろうと覚悟していたが、簡単なコードを書くだけで実現できそうである。
そりゃそうだよな、新機能とまで謳ってるだけに労を課せることはないだろう。
ということで問題も無く実装を終えた。

 

いざ使ってみる。
感想としては、思っていた以上にレスポンスも良く、視聴時のパフォーマンスに大きな変化はない。
感覚的には、ラズパイ等の低いスペックでも十分に使えそうだ。

ただ、タイムシフトバッファを保存するディレクトリ指定に気をつける必要がある。
タイムシフトの幅がデフォルトで1時間とされている。
inputstream.ffmpegdirectの説明では、一分間で約130Mb使用されるとのこと。
windowsマシンだとシステムドライブに割り当てられたとしても、まずは大丈夫だろうと思う。
しかし、ラズパイだと一気に空き容量が食い潰される危険性がある。
ちなみに、自身が使用するsdカードの容量はtvサーバー、kodiクライアント共に8ギガである。
それこそ、あっという間に無くなってしまう。
そもそもsdカードに本バッファ領域を設けないほうが無難だろう。
sdカードに対してガリガリとデータを書き込み、消去を繰り返すのは良くないだろう。
その上にシステムも含んでいれば尚更。
ラズパイなら、タイムシフトバッファ用に安いusbメモリを使うのはどうだろうか。


ともかく、これで準備は出来た。
後はラズパイでmatrixが使えるようになるのを待つだけである。

その日の夜、tvで映画を観ていたのだが最後のクライマックス手前で寝落ちしてしまった。
意識が戻った時にはエンドロール...やっちまった!
やっぱタイムシフト、必要だよな。