ネットワーク(webdav、sftp ...)経由で重い(主に1080p)ビデオをストリーミングしようとするたびに、失敗するか、「キャッシュがいっぱいです」などのメッセージが表示されます。 、 私は推測する)。
これは一般的な問題であり、私ができる微調整(カールも)を知っています。
環境:
RPiモデルBを使用しており、100M / bのインターネット接続を使用しています。私はKodi 14.2とKodi 15(openelec 5.0.7、openelec 5.95.2)でテストしてきました。
テスト:
これまでのところ、多くの追加オプションの中で、これは私が試したものです:
Cache\Protocol | Webdav | SFTP (local and internet)
--------------------------------------------------------------------------
No cache | not loading | loads quickly, no error, stops frequently
--------------------------------------------------------------------------
(5mb cache) | not loading | slow to load, cache error, stops randomly
--------------------------------------------------------------------------
(25mb cache) | not loading | very slow to load, cache error, stops randomly
--------------------------------------------------------------------------
sdcard cache | not loading | incredibly slow to load, no error, fine
--------------------------------------------------------------------------
ビデオの問題?
いいえ。sdカードにコピーすればスムーズに動きます。
RAMの問題?
RAMがいっぱいであればハードウェアの制限は理解できますが、ビデオを見free -m
ているときに次のようになります。
total used free shared buffers
Mem: 373 236 137 4 34
-/+ buffers: 202 171
Swap: 0 0 0
たくさんあるようです...
興味深い事実、@ goldilocksが気づいたように、バッファは異常に低いです。
ネットワークの問題?
SFTPを使用して手動でビデオファイルをダウンロードしているときに、この非常に同じファイルを同時に再生している場合、それは機能します。ダウンロード速度:〜1.5MB /秒。したがって、ネットワークも復号もボトルネックになります。
その他の問題?
ログファイルのエラー(ビデオデバッグ、ffmpegデバッグを使用)、デバッグと通知を除く:
ERROR: CCurlFile::FillBuffer - Failed: Timeout was reached
ERROR: OMXPlayerVideo: Got MSGQ_IS_ERROR(-1) Aborting
はい、カールはビデオストリーミング用に最適化されていません。しかし、SFTPはどうでしょうか?それは簡単なことです。
構成の問題?
上記の最後のテスト(SDカードキャッシュ)は興味深いものです。SDカード()に約150M(!)をダウンロードした後、ビデオの再生を開始し.kodi/temp/filecache000.cache
ます。うまく動作しますが、開始するには遅すぎるため、実行可能なソリューションではありません。
の構成を無視して、同じ量のRAMをダウンロードしようとするようですadvancedsettings.xml
。チェックしたところ、ファイルは問題なく読み込まれています。これは私がテストしたものの例です(.kodi/userdata/advancedsettings.xml
):
<advancedsettings>
<network>
<buffermode>1</buffermode>
<cachemembuffersize>5242880</cachemembuffersize>
<readbufferfactor>4.0</readbufferfactor>
<curlclienttimeout>60</curlclienttimeout>
<curllowspeedtime>20</curllowspeedtime>
</network>
</advancedsettings>
注:これらのオプションの一部は、kodi 17では正しくありません。更新については@ZacWolfの回答を参照してください
だから、誰かが何か考えを持っていますか?ここで何が悪いのでしょうか?解決策が何であれ、この場合に通常の使用(RAMバッファー)が失敗する理由も知りたいです。
編集:Archlinuxでテストする
ArchLinuxにkodiをインストールして、それがkodiかopenelecの問題かを判断しました。それは同じです:HDビデオは途切れ途切れなので、kodiのバグのようです。SSHFSを使用したテストがうまく機能するため、プロトコルの問題(SFTPおよびWebDAV:http)に似ています。残念ながら、openelecにSSHFSをインストールするのは簡単ではありません。
編集2:回避策
バッファリングの問題に直接対処していないため、ここに書きましたが、karchをArchlinuxに1年以上インストールしており、完全に正常に動作しています。それはopenelecよりnoobフレンドリーではありませんが、興味がある人のために:
- ARM向けのArchlinuxをインストールします(非常に簡単です。ガイドに従ってください。rpi1を対象としています。最近のものは、プラットフォームを変更するだけです)。
- Kodiをインストールします(Archlinux wikiガイドに従ってください -基本的に、
kodi-rbp
パッケージをインストールします); - 起動時にkodiサービスが自動的にkodiを実行できるようにし
# systemctl enable kodi.service
ます。 - SSHFSをインストールします
pacman -Suy sshfs
。 - で非常に便利なSSHFS自動マウントを使用して
/etc/fstab
、遠くの共有をマウントします。
できました。頻繁に更新することを忘れないでください(pacman -Suy
)。
free
です。投稿で興味深いのは、この数値が比較的小さいことです。Kodiのディスクへのキャッシュを増やすと、動作中にほぼ一致するようにその数が増える可能性があります。