Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> ซอฟต์แวร์

แก้ VLC ล่าช้าเมื่อ Seek ไป Timestamp ใหม่

VLC playback delay on seek (กระโดดไป timestamp อื่น)

อัปเดต: 13 พฤศจิกายน 2567

ปัญหาที่เผชิญค่อนข้างไร้เดียงสาแต่อึ้ง ไฟล์ออดิโอ/วิดีโอเล่นปกติใน VLC แต่กับไฟล์ออดิโอ เมื่อกระโดดไป timestamp อื่น มีการเล่นล่าช้า ประมาณ 1 วินาที และการเล่น jitter เล็กน้อยหลังจุดที่ต้องการ กระโดดจาก 0:34 ไป 1:22 VLC เริ่มเล่น แล้วคิดใหม่ กลับไป 1:21 เกิดกับผม

ไม่รู้ว่าทำไมปัญหานี้เกิดขึ้นอย่างกะทันหัน ไม่เคยเจอกับ VLC มาก่อน แต่ตอนนี้มีใน Kubuntu 22.04 บน Slimbook Executive ด้วยปัญหาหลายอย่างกับเครื่องนี้ ไม่ว่าจะ kernel updates ที่ buggy หรือ bugs กับ Plasma desktop ผมไม่แปลกใจถ้า VLC เป็นเหยื่ออีกตัว โชคดีแก้ได้ง่าย มาแสดงวิธี

แก้ VLC ล่าช้าเมื่อ Seek ไป Timestamp ใหม่

วิธีแก้

ต้องเปลี่ยนค่า caching สำหรับ Input / Codecs คล้ายปัญหา prefetch value กับ Samba share streaming เปิด VLC preferences คลิก All ในช่องค้นหา พิมพ์ caching (หรือคล้ายๆ) ในผลลัพธ์ sidebar เลือก Advanced > Input / Codecs ด้านขวาเลื่อนลงส่วนที่เรียกว่า Advanced (มีหลาย Advanced)

รายการแรกคือ File caching (ms) ค่าเริ่มต้นของผมคือ 1000ms (1วินาที) ตรงกับ jitter/jump ตอน seek ไม่แน่ใจทำไมเกิดขึ้นทันใดนั่นเป็นเรื่องอื่น - ให้ผู้พัฒนา code, player, desktop environment และ distro ไปแก้ใน QA ของพวกเขา

ผมลองปรับค่า ลด caching จาก 1000ms เป็น 100ms ให้ผลที่ต้องการ ไม่มี delay/jump แล้ว หรือถ้ามีก็ไม่สังเกต รู้ว่าอาจทำให้เล่นไฟล์จาก network มีปัญหา แต่ตอนนี้ยังไม่เจอ side effects VLC ทำงานได้ดีแล้ว

แก้ VLC ล่าช้าเมื่อ Seek ไป Timestamp ใหม่

สรุป

ปีนี้น่าจะไม่ใช่ปีของ Linux desktop และน่าจะไม่มีวัน เป็นอย่างนั้น ตราบใดที่ซอฟต์แวร์พัฒนาเพื่อเป้าหมายสูงสุดของตัวมันเอง ไม่สนใจ core functionality คือ ให้ผู้ใช้สิ่งที่ต้องการ แทนที่จะเป็นของเล่นสำหรับคนเขียนโค้ด ผู้ใช้ปลายทางจะเสี่ยงเสมอ ความสุ่ม ความรับผิดชอบศูนย์ นั่นคือซอฟต์แวร์ วิศวกรสร้างสะพาน ผิดไป ติดคุก โปรแกรมเมอร์เขียนโค้ด ผิดไป ไม่มีใครสน สามารถโทษ VLC ได้ แต่มันไม่เกิดใน Windows

แต่ đừng ให้ความผิดหวังของผมทำลายวันของคุณ บทความนี้เขียนจากภูเขาปัญหาใน Linux desktop stack ที่เกิดขึ้นในไม่กี่เดือนที่ผ่านมา ปัญหาเล็กๆ นี้ ไร้เหตุผล ไม่เคยเห็นมาก่อน ต้องเป็นบั๊กไร้ประโยชน์ มี workaround ที่มีประโยชน์ ดูแลตัวเองนะ

Cheers.