เสียง VLC แตก: วิธีแก้เสียงรบกวน เสียงแตกพร่า และความเพี้ยน

ปัญหาเสียง อัปเดตล่าสุด: ใช้ได้กับ: Windows / macOS / Linux · VLC 3.0.x

เสียงรบกวนและเสียงแตกพร่าใน VLC อาจเกิดตลอดเวลาหรือเป็นช่วงๆ — ตอนเริ่มเล่น ระหว่างฉากที่ภาพเคลื่อนไหวมาก หรือสุ่ม ในฐานะอาการนี้มาจากท่อส่งเสียงที่สูญหรือจับจังหวะตัวอย่างเสียง (samples) ผิด และมีสามกลุ่มสาเหตุหลัก: โมดูลเอาต์พุตผิด, การจัดการอัตราแน sample rate ผิด, และปัญหาระดับระบบเช่น ความหน่วง DPC หรือ Bluetooth วิธีแก้ด้านล่างเรียงจากที่พบบ่อยสุด (2 นาที) ไปจนถึงการตรวจสอบระบบเชิงลึก

ทำไมจึงเกิดเหตุการณ์นี้?

  • โมดูลเอาต์พุตไม่ตรงกับเซิร์ฟเวอร์เสียง — บน Linux การส่งข้อมูล ALSA เข้าเซสชัน PipeWire/PulseAudio (หรือกลับกัน) จะทำให้เกิดเสียงรบกวน
  • อัตราแน sample rate ไม่ตรงกัน — เนื้อหาที่ 44.1 kHz เล่นผ่านเส้นทางที่รองรับเฉพาะ 48 kHz โดยไม่มีการ resampling ที่ถูกต้อง จะก่อให้เกิดความเพี้ยนเป็นช่วงๆ
  • บัฟเฟอร์ Underrun — บัฟเฟอร์เสียงเล็กเกินไปสำหรับภาระของระบบ เสียงจะกระตุกเมื่อเธรดพลาดกำหนดเวลาของมัน
  • ความหน่วง DPC / การแทรกแซงของไดรเวอร์ — ไดรเวอร์ Wi-Fi หรือชิปเซ็ตที่มีบั๊กผูกขาด CPU ทำให้เธรดเสียงขาดแคลน
  • แทร็กเสียงเสียหาย — ไฟล์บางไฟล์มาสเตอร์มาพร้อมการตัดคลิป (clipping) หรือมีส่วนที่เสียหาย

วิธีแก้ไข

วิธี 1เปลี่ยนโมดูลเอาต์พุตเสียงเป็น โมดูลอื่น (ลองทีละตัว: DirectSound, WaveOut และบน Linux ให้เทียบ PulseAudio กับ ALSA)

แก้ปัญหาไม่มีเสียง เสียงแตก และปัญหาเสียงผ่าน HDMI

  1. ไปที่ Tools > Preferences > Audio

    การตั้งค่าเสียงจะเปิดขึ้น

  2. ตั้งค่า "Output" เป็น โมดูลอื่น (ลองทีละตัว: DirectSound, WaveOut และบน Linux ให้เทียบ PulseAudio กับ ALSA)

    โมดูลเสียงเปลี่ยนแล้ว

  3. คลิก Save เปิด VLC ใหม่ แล้วเล่นไฟล์

    ระบบเสียงเริ่มต้นใหม่ด้วยโมดูลตัวใหม่

หมายเหตุโมดูลเอาต์พุตแต่ละตัวคุยกับสแตกเสียงของระบบปฏิบัติการด้วยวิธีที่ต่างกัน การสลับโมดูลจึงเป็นวิธีที่เร็วที่สุดในการแยกแยะว่าเส้นทางเสียงส่วนใดเสีย

วิธี 2ตรวจสอบไฟล์ก่อน (เป็นที่ไฟล์หรือที่โปรแกรมเล่น?)

ใช้เวลา 30 วินาทีเพื่อไม่ต้องตามหาผี

  1. เล่นไฟล์อื่นที่คุณรู้ว่าเสียงปกติดู

    คุณได้การเล่นอ้างอิง

  2. ถ้าเสียงแตกตามไฟล์ใดไฟล์หนึ่งเพียงไฟล์เดียว ให้ตรวจสอบ codec เสียงของมัน (เครื่องมือ > ข้อมูลสื่อ > ตัวอ่าน-ลงรหัส)

    คุณรู้ codec และบิตเรต

  3. ถ้าไฟล์เสียหาย ให้ encode ใหม่หรือ remux ไฟล์

    ไฟล์ถูกซ่อมแซมหรือถูกตัดออก

หมายเหตุเสียงบิตเรตต่ำ (96 kbps) มักแตกเมื่อใช้ลำโพงดีๆ ส่วนเสียง FLAC/DTS บิตเรตสูงที่แตกชี้ไปที่สาเหตุอื่น

วิธี 3เพิ่มบัฟเฟอร์เสียง (Windows)

แก้เสียงแตกจากบัฟเฟอร์ Underrun

  1. เปิดการตั้งค่าอุปกรณ์เสียง Windows: Settings > System > Sound > อุปกรณ์ของคุณ > Properties

    คุณสมบัติของอุปกรณ์เปิดขึ้น

  2. แท็บ Advanced: ปรับ "Default format" ให้ตรงกับอัตราแน sample rate ของไฟล์ (ถ้ารู้) และเปิด "Audio enhancements: Off" — เอฟเฟกต์เสริมเป็นต้นเหตุคลาสสิกของเสียงแตก

    ปิดเอฟเฟกต์เสริมแล้ว

  3. ลองตัวเลือก "Exclusive mode" เพื่อทดสอบ แล้วคืนค่ากลับ

    คุณแยกสาเหตุระหว่างเอฟเฟกต์เสริมกับ resampling

หมายเหตุWindows "audio enhancements" (เช่น loudness equalization) มักทำให้เกิดเสียงรบกวนและความหน่วง การปิดมันแก้ปัญหาหลายกรณีทันที

วิธี 4แก้ความไม่ตรงกันของ PipeWire/PulseAudio บน Linux

ยุติเสียงรบกวนที่พบบ่อยสุดบน Linux

  1. ตรวจสอบเซิร์ฟเวอร์เสียงของคุณ: pactl info | grep "Server Name" (PipeWire จะรายงานว่า "PulseAudio (on PipeWire)")

    คุณรู้เซิร์ฟเวอร์ที่ทำงานอยู่

  2. ใน VLC ตั้ง เสียง > เอาต์พุต > "PulseAudio" (ห้ามใช้ raw ALSA ภายใต้ PipeWire)

    VLC สื่อสารกับเลเยอร์เข้ากันได้

  3. ถ้าเสียงยังแตก ให้เพิ่ม default-fragments/default-fragment-size-msec ใน pipewire.conf (เช่น 4 × 25 ms)

    ขยายบัฟเฟอร์ของเซิร์ฟเวอร์แล้ว

หมายเหตุการตรวจสอบอย่างเร็ว: รัน speaker-test -c 2 — ถ้ามันก็แตกด้วย แสดงว่าปัญหาอยู่ระดับระบบ ไม่ใช่ VLC

วิธี 5เปิดใช้งาน "Drop frames on late pictures"

แก้อาการกระตุกจากการให้ความสำคัญกับเสียงในไฟล์ 4K และไฟล์บิตเรตสูง

  1. ไปที่ Tools > Preferences > Input / Codecs

    การตั้งค่าอินพุตจะเปิดขึ้น

  2. เปิดใช้งาน "Drop frames on late pictures"

    VLC จะข้ามเฟรมวิดีโอที่มาช้า

  3. บันทึก เปิดโปรแกรมใหม่ แล้วเล่นไฟล์

    การเล่นยังคงตรงกับเสียง

หมายเหตุวิธีนี้ทำให้วิดีโอข้ามไปหนึ่งเฟรมแทนที่จะค้าง — แทบสังเกตไม่ได้ที่ 24–60 fps แต่ทำให้เสียงลื่นไหลสมบูรณ์

วิธี 6รีเซ็ตการตั้งค่าของ VLC กลับเป็นค่าเริ่มต้น

ล้างการตั้งค่าที่เสียหายซึ่งทำให้โปรแกรมแครช จอดำ และเกิดปัญหาเสียง

  1. ปิด VLC ให้สมบูรณ์

    ไม่มีโปรเซสของ VLC ทำงานอยู่

  2. เปิด Command Prompt (Win+R → cmd) หรือเทอร์มินัล

    พร้อมใช้บรรทัดคำสั่ง

  3. รันคำสั่ง vlc --reset-config (Windows/Linux) — บน macOS ให้ลบ ~/Library/Preferences/org.videolan.vlc แทน

    การตั้งค่าของ VLC กลับไปเป็นค่าเริ่มต้น

  4. เปิด VLC แล้วตั้งค่าใหม่เฉพาะรายการที่คุณจำเป็นต้องใช้จริง

    VLC เริ่มทำงานด้วยการตั้งค่าที่สะอาด

หมายเหตุวิธีนี้จะลบการตั้งค่าที่คุณปรับแต่งไว้ทั้งหมด (รวมถึงปุ่มลัดและสกิน) หากต้องการสำรองไว้ ให้ส่งออกค่าคอนฟิกก่อนที่ Tools > Preferences > All > Interface

การแก้ไขขั้นสูง

วิธี 1วัดความหน่วง DPC (Windows)

หาการขาดแคลนเสียงระดับไดรเวอร์

  1. ดาวน์โหลดและรันเครื่องมือฟรี "LatencyMon" ในฐานะผู้ดูแลระบบ

    LatencyMon เริ่มวัด

  2. เล่นเสียงใน VLC ประมาณ 3–5 นาทีขณะที่ LatencyMon ทำงาน

    บันทึกความหน่วง DPC/ISR แล้ว

  3. ถ้ามันรายงานไดรเวอร์ที่มีปัญหา (มักเป็นไดรเวอร์ Wi-Fi, เครือข่าย หรือชิปเซ็ต) ให้อัปเดตหรือถอนการติดตั้ง

    เปลี่ยนไดรเวอร์ที่กินทรัพยากรแล้ว

หมายเหตุความหน่วง DPC สูงเป็นสาเหตุแฝงของเสียงรบกวนที่ปรากฏเฉพาะตอนมีภาระ — ตัวการคลาสสิกคือ Killer NIC และไดรเวอร์เสียง Realtek เก่า

วิธีป้องกันในอนาคต

  • รักษาไดรเวอร์เสียงและชิปเซ็ตให้เป็นปัจจุบัน พวกมันครอบคลุมวิธีแก้เสียงแตกส่วนใหญ่
  • บน Linux คงอยู่บน PipeWire พร้อมเลเยอร์เข้ากันได้ PulseAudio และโมดูล PulseAudio ของ VLC
  • ถ้าใช้ Bluetooth ให้เลือกโปรไฟล์ความหน่วงต่ำ aptX/AAC สำหรับเพลง

คำถามที่พบบ่อย

ทำไม VLC ถึงแตกเฉพาะตอนเริ่มเล่น?
โดยปกติเป็นการแย่งกันของบัฟเฟอร์/การเริ่มต้นอุปกรณ์ สลับโมดูลเอาต์พุตเสียงหรืออัปเดตไดรเวอร์เสียงมักแก้ได้
เสียงแตกทำลายลำโพงของฉันไหม?
เสียงแตกปกติไม่ทำลาย แต่ความเพี้ยนจาก clipping ที่ดังต่อเนื่องอาจเป็นได้ที่ระดับเสียงสูง แก้ท่อส่งเสียงมากกว่าลดเสียงลง
การเร่งความเร็วด้วยฮาร์ดแวร์ทำให้เสียง VLC แตกไหม?
โดยอ้อม — การถอดรหัส GPU สามารถเพิ่มภาระ DPC/IRQ จนเธรดเสียงขาดแคลน ลองปิดการเร่งความเร็วด้วยฮาร์ดแวร์ดู
VLC แตกเฉพาะไฟล์ FLAC — ทำไม?
FLAC ไม่สูญเสียคุณภาพแต่ใช้ CPU ถอดรหัสหนัก ถ้าบัฟเฟอร์ Underrun ตอนมีภาระ คุณจะได้ยินเสียงแตก เพิ่มบัฟเฟอร์หรือปิด hwaccel สำหรับวิดีโอที่เล่นคู่กัน

สรุป

เปลี่ยนโมดูลเอาต์พุตเสียงเป็น โมดูลอื่น (ลองทีละตัว: DirectSound, WaveOut และบน Linux ให้เทียบ PulseAudio กับ ALSA) — แก้ปัญหาไม่มีเสียง เสียงแตก และปัญหาเสียงผ่าน HDMI. If it does not help, work through the remaining fixes in order: each targets a different layer of the problem. Most users resolve this issue by fix 3 at the latest. Keep VLC updated (current stable: 3.0.23) and revisit this guide when a new VLC version ships.