ทุกครั้งที่ฉันพยายามสตรีมวิดีโอหนัก ๆ (ส่วนใหญ่ 1080p) ผ่านเครือข่าย (webdav, sftp ... ) มันจะล้มเหลวหรือฉันได้รับข้อความ“ แคชเต็ม” ฯลฯ วิดีโอเริ่มเล่น แต่สุ่มหยุด (เพื่อบัฟเฟอร์อีกครั้ง , ฉันคิดว่า).
ฉันรู้ว่านี่เป็นปัญหาที่พบบ่อยและฉันรู้ว่าการปรับแต่งที่ฉันสามารถทำได้ ( ขดเกินไป)
สิ่งแวดล้อม:
ฉันใช้ 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
--------------------------------------------------------------------------
ปัญหาวิดีโอ
Nope หากคัดลอกลงในการ์ด 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 / s ดังนั้นหรือเครือข่ายหรือการถอดรหัสเป็นคอขวด
ปัญหาอื่น ๆ
ข้อผิดพลาดใน logfile (ที่มีการดีบักวิดีโอ, ffmpeg debug) ยกเว้นการดีบักและการแจ้งเตือน:
ERROR: CCurlFile::FillBuffer - Failed: Timeout was reached
ERROR: OMXPlayerVideo: Got MSGQ_IS_ERROR(-1) Aborting
ตกลงดังนั้นขดไม่ได้รับการปรับให้เหมาะสมสำหรับการสตรีมวิดีโอ แต่ SFTP ล่ะ มันควรจะเป็นเค้กชิ้นหนึ่ง
ปัญหาการกำหนดค่า?
การทดสอบล่าสุดข้างต้น (แคช sdcard) เป็นสิ่งที่น่าสนใจ มันเริ่มเล่นวิดีโอหลังจาก dowloading ประมาณ 150M (!) บน sdcard ( .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 buffer) จึงล้มเหลวในกรณีนี้
แก้ไข: ทดสอบบน Archlinux
ฉันติดตั้ง kodi บน Archlinux เพื่อตรวจสอบว่าเป็นปัญหาของ kodi หรือ openelec เหมือนกัน: วิดีโอ HD ขาด ๆ หาย ๆ ดังนั้นจึงดูเหมือนว่าจะเป็นข้อบกพร่องในโคดี มันเหมือนปัญหาโปรโตคอลมากกว่า (SFTP และ WebDAV: http) เพราะการทดสอบของฉันกับ SSHFS นั้นใช้งานได้ดีมาก น่าเสียดายที่การติดตั้ง SSHFS บน openelec นั้นไม่สำคัญ
แก้ไข 2: วิธีแก้ปัญหา
ฉันเขียนที่นี่เพราะมันไม่ได้แก้ไขปัญหาบัฟเฟอร์โดยตรง แต่ฉันได้ติดตั้ง Kodi บน Archlinux มานานกว่าหนึ่งปีแล้วและมันทำงานได้ดีอย่างสมบูรณ์ มันน้อย noob มิตรกว่า openelec แต่สำหรับผู้ที่สนใจ:
- ติดตั้ง Archlinux สำหรับ ARM (ง่ายมากเพียงทำตามคำแนะนำ - สำหรับ rpi1 สำหรับอันที่เพิ่งจะเปลี่ยนแพลตฟอร์ม);
- ติดตั้ง Kodi ( ทำตามคำแนะนำของ Archlinux wiki - โดยพื้นฐานแล้วติดตั้ง
kodi-rbp
แพ็คเกจ); - เปิดใช้งานบริการ kodi เพื่อเรียกใช้ kodi โดยอัตโนมัติเมื่อเริ่มต้น:
# systemctl enable kodi.service
; - ติดตั้ง SSHFS:
pacman -Suy sshfs
; - ใช้ประโยชน์มากSSHFS automountingกับ
/etc/fstab
ที่จะติดหุ้นที่ห่างไกลของคุณ
เสร็จสิ้น อย่าลืมอัปเดต frenquently ( pacman -Suy
)
free
- ดังนั้นสิ่งที่น่าสนใจในการโพสต์ของคุณคือความจริงที่ว่าจำนวนนี้มีขนาดค่อนข้างเล็ก หากคุณเพิ่มแคชของดิสก์ของ Kodi หมายเลขนั้นสามารถ / ควรเพิ่มขึ้นในขณะที่การดำเนินการเพื่อให้ตรงกับมัน