Setiap kali saya mencoba melakukan streaming video berat (kebanyakan 1080p) melalui jaringan (webdav, sftp ...), itu gagal atau saya mendapat pesan "cache penuh" dll. Video mulai diputar, tetapi berhenti secara acak (untuk buffer lagi , Saya tebak).
Saya tahu ini adalah masalah umum dan saya tahu tweak yang bisa saya lakukan ( meringkuk juga).
Lingkungan:
Saya menggunakan model RPi B dan saya memiliki koneksi internet 100M / b. Saya telah menguji dengan Kodi 14.2 dan Kodi 15 (openelec 5.0.7, openelec 5.95.2).
Tes:
Sejauh ini, di antara banyak opsi tambahan, inilah yang saya coba:
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
--------------------------------------------------------------------------
Masalah video?
Nggak. Jika disalin pada kartu sd, itu berjalan dengan lancar.
Masalah RAM?
Saya akan mengerti batasan perangkat keras jika RAM penuh, tetapi, saat menonton video, free -m
berikan saya ini:
total used free shared buffers
Mem: 373 236 137 4 34
-/+ buffers: 202 171
Swap: 0 0 0
Sepertinya ada banyak tersedia ...
Fakta menarik, seperti @goldilocks perhatikan, buffer sangat rendah.
Masalah jaringan?
Jika saya mengunduh file video secara manual dengan SFTP, sambil memutar file yang sama ini pada saat yang sama, ia berfungsi. Kecepatan unduh: ~ 1.5MB / s. Jadi, bukan jaringan, atau dekripsi adalah hambatan.
Masalah lain?
Kesalahan dalam file log (dengan debug video, debug ffmpeg), kecuali debug dan pemberitahuan:
ERROR: CCurlFile::FillBuffer - Failed: Timeout was reached
ERROR: OMXPlayerVideo: Got MSGQ_IS_ERROR(-1) Aborting
OK, jadi curl tidak dioptimalkan untuk streaming video. Tapi bagaimana dengan SFTP? Itu harus sepotong kue.
Masalah konfigurasi?
Tes terakhir di atas (sdcard cache) menarik. Itu mulai memutar video, setelah memuat sekitar 150M (!) Pada sdcard ( .kodi/temp/filecache000.cache
). Meskipun berjalan dengan baik, ini bukan solusi yang layak karena terlalu lambat untuk memulai.
Tampaknya mencoba mengunduh jumlah RAM yang sama, mengabaikan konfigurasi di advancedsettings.xml
. Saya memeriksa, file dimuat tanpa masalah. Ini adalah contoh dari sesuatu yang saya uji ( .kodi/userdata/advancedsettings.xml
):
<advancedsettings>
<network>
<buffermode>1</buffermode>
<cachemembuffersize>5242880</cachemembuffersize>
<readbufferfactor>4.0</readbufferfactor>
<curlclienttimeout>60</curlclienttimeout>
<curllowspeedtime>20</curllowspeedtime>
</network>
</advancedsettings>
Catatan: beberapa opsi ini tidak lagi benar di kodi 17, lihat jawaban @ZacWolf untuk pembaruan
Jadi, ada yang punya ide? Apa yang salah di sini? Apa pun solusinya, saya juga ingin tahu mengapa penggunaan normal (RAM buffer) gagal dalam kasus ini.
EDIT: Tes di Archlinux
Saya menginstal kodi di Archlinux, untuk menentukan apakah itu masalah kodi atau openelec. Itu sama: video HD berombak, jadi sepertinya ada bug di kodi. Ini lebih seperti masalah protokol (SFTP dan WebDAV: http) karena pengujian saya dengan SSHFS bekerja sangat baik. Sayangnya, tidak mudah untuk menginstal SSHFS di openelec.
EDIT 2: Solusi
Saya menulis di sini, karena tidak secara langsung mengatasi masalah buffering, tetapi saya telah menginstal kodi di Archlinux selama lebih dari satu tahun sekarang, dan itu berfungsi dengan sangat baik. Ini lebih ramah-noob daripada openelec, tetapi bagi mereka yang tertarik:
- Instal Archlinux untuk ARM (sangat mudah, cukup ikuti panduan - ini untuk rpi1, untuk yang lebih baru, cukup ubah platform);
- Instal Kodi ( ikuti panduan wiki Archlinux - pada dasarnya, instal
kodi-rbp
paket); - Mengaktifkan layanan kodi untuk secara otomatis menjalankan kodi pada startup:
# systemctl enable kodi.service
; - Instal SSHFS:
pacman -Suy sshfs
; - Gunakan sangat berguna SSHFS automounting dengan
/etc/fstab
me-mount share jauh Anda.
Selesai Jangan lupa untuk memperbarui frenquently ( pacman -Suy
).
free
- jadi sesuatu yang menarik dalam posting Anda adalah kenyataan bahwa jumlah ini relatif kecil. Jika Anda meningkatkan cache ke-disk Kodi, angka itu dapat / harus meningkat saat beraksi untuk mencocokkannya.