Ağda (webdav, sftp ...) ağır (çoğunlukla 1080p) videolar yayınlamaya çalıştığımda, ya başarısız oluyor ya da “önbellek dolu” mesajı alıyorum. Videolar oynatılmaya başlıyor, ancak rastgele duruyor (tekrar arabelleğe almak için) , Sanırım).
Bu yaygın bir sorun olduğunu biliyorum ve yapabileceğim tweaks biliyorum ( kıvırmak da).
Çevre:
RPi model B kullanıyorum ve 100M / b internet bağlantım var. Kodi 14.2 ve Kodi 15 (openelec 5.0.7, openelec 5.95.2) ile test yapıyorum.
Testler:
Şimdiye kadar, birçok ek seçenek arasında denedim:
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
--------------------------------------------------------------------------
Video sorunu mu var?
Hayır! SD karta kopyalanırsa sorunsuz çalışır.
RAM sorunu mu var?
RAM doluysa donanım sınırlamasını anlayabilirim, ancak video izlerken free -m
bana bunu verir:
total used free shared buffers
Mem: 373 236 137 4 34
-/+ buffers: 202 171
Swap: 0 0 0
Orada bol kullanılabilir ...
İlginç bir gerçek, @goldilocks'un fark ettiği gibi, tamponlar alışılmadık derecede düşüktür.
Ağ sorunu?
Aynı videoyu aynı anda oynatırken SFTP ile manuel olarak bir video dosyası indiriyorum, işe yarıyor. İndirme hızı: ~ 1.5MB / s. Yani ne ağ ne de şifre çözme bir darboğaz değildir.
Başka bir sorun mu var?
Hata ayıklama ve bildirimler hariç günlük dosyasındaki hatalar (video hata ayıklama, ffmpeg hata ayıklama ile):
ERROR: CCurlFile::FillBuffer - Failed: Timeout was reached
ERROR: OMXPlayerVideo: Got MSGQ_IS_ERROR(-1) Aborting
Tamam, bu nedenle kıvrılma video akışı için optimize edilmedi. Peki ya SFTP? Bir parça kek olmalı.
Yapılandırma sorunu mu yaşıyorsunuz?
Yukarıdaki son test (sdcard önbellek) ilginçtir. SD kartta () yaklaşık 150M (!) İndirdikten sonra videoyu oynatmaya başlar .kodi/temp/filecache000.cache
. İyi çalışmasına rağmen, başlamak için çok yavaş olduğu için uygun bir çözüm değildir.
Yapılandırmayı yok sayarak aynı miktarda RAM indirmeye çalışıyor gibi görünüyor advancedsettings.xml
. Kontrol ettim, dosya herhangi bir sorun olmadan yüklenir. Bu, test ettiğim bir şeyin örneği ( .kodi/userdata/advancedsettings.xml
):
<advancedsettings>
<network>
<buffermode>1</buffermode>
<cachemembuffersize>5242880</cachemembuffersize>
<readbufferfactor>4.0</readbufferfactor>
<curlclienttimeout>60</curlclienttimeout>
<curllowspeedtime>20</curllowspeedtime>
</network>
</advancedsettings>
Not: bu seçeneklerden bazıları kodi 17'de artık doğru değil, güncelleme için @ZacWolf yanıtına bakın
Yani, birinin bir fikri var mı? Burada ne yanlış olabilir? Çözüm ne olursa olsun, bu durumda normal kullanımın (RAM tamponu) neden başarısız olduğunu da bilmek istiyorum.
EDIT: Archlinux üzerinde test
Kodi veya openelec sorunu olup olmadığını belirlemek için Archlinux'a kodi yükledim. Aynı şey: HD videolar dalgalı, bu yüzden kodi'de bir hata gibi görünüyor. Daha çok bir protokol sorunu (SFTP ve WebDAV: http) gibi çünkü SSHFS ile testim harika çalışıyor. Ne yazık ki, openelec'e SSHFS kurmak önemsiz değil.
EDIT 2: Geçici bir çözüm
Buraya yazıyorum, çünkü doğrudan arabelleğe alma sorununu çözmüyor, ancak Archlinux'a bir yıldan fazla bir süredir kodi kurdum ve mükemmel çalışıyor. Openelec'ten daha az noob dostu, ancak ilgilenenler için:
- ARM için Archlinux'i yükleyin (çok kolay, sadece kılavuzu izleyin - rpi1 için, daha yakın zamanda, sadece platformu değiştirin);
- Kodi'yi yükleyin ( Archlinux wiki kılavuzunu izleyin - temel olarak
kodi-rbp
paketi yükleyin ); - Kodi hizmetinin başlangıçta kodi'yi otomatik olarak çalıştırmasını sağlayın
# systemctl enable kodi.service
:; - Sshfs yükleyin:
pacman -Suy sshfs
; - Çok faydalı kullanın Automounting sshfs ile
/etc/fstab
sizin uzak paylaşıyoruz.
Bitti. Frentely güncellemeyi unutmayın ( pacman -Suy
).
free
- bu nedenle mesajınızdaki ilginç bir şey, bu sayının nispeten küçük olmasıdır. Kodi'nin disk önbelleğini artırırsanız, hareket halindeyken bu sayı yaklaşık olarak eşleşecek şekilde artabilir / artabilir.