VLC HEVC (H.265) ไม่เล่น: คู่มือแก้ไขฉบับเต็ม

ปัญหารูปแบบและโคเดก อัปเดตล่าสุด: ใช้ได้กับ: All platforms · VLC 3.0.x · 4K HEVC content

วิดีโอ HEVC (H.265) — มาตรฐานสำหรับ 4K iPhone และกล้องสมัยใหม่ — บางครั้งปฏิเสธการเล่นใน VLC: จอดำ ไม่มีภาพ หรือข้อผิดพลาด รูปแบบมักเกี่ยวข้องกับฮาร์ดแวร์: VLC พึ่งพาตัวถอดรหัส HEVC ของ GPU ของคุณ และถ้าเส้นทางไดรเวอร์ล้มเหลว การเล่น HEVC ก็พังขณะที่ H.264 ยังทำงานต่อ คู่มือนี้แก้เส้นทางตัวถอดรหัสก่อน จากนั้นจึงแก้สาเหตุระดับคอนฟิกที่หายาก วิธีที่ 1–2 ครอบคลุมกรณีส่วนใหญ่

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

  • การถอดรหัส HEVC ของ GPU ล้มเหลว (ไดรเวอร์หรือความสามารถ) — GPU เก่าไม่มีการถอดรหัส HEVC ตัวใหม่กว่าล้มเหลวผ่านไดรเวอร์ที่มีบั๊ก
  • ปิดการเร่งความเร็วฮาร์ดแวร์ — เมื่อ hwaccel ปิด HEVC 4K ถูกถอดรหัสโดย CPU CPU ที่อ่อนแอจะทิ้งเฟรมหรือไม่แสดงภาพ
  • ปัญหาเส้นทาง HEVC 10-bit (Main10) — HEVC 10-bit ต้องการตัวถอดรหัสที่มีความสามารถ บั๊กบางตัวจัดการผิดขณะที่ 8-bit ทำงานได้
  • การตรวจจับ demuxer ผิด — HEVC ในคอนเทนเนอร์แปลก ๆ (TS MKV ที่มีธงประหลาด) อาจสับสน parser ของ VLC
  • VLC เวอร์ชันเก่ามาก — บิลด์ก่อน 3.0 มีการรองรับ HEVC บางส่วน

วิธีแก้ไข

วิธี 1อัปเดต VLC เป็นเวอร์ชันล่าสุด

รับการแก้บั๊กและแพตช์ความปลอดภัยจากทางการ (เวอร์ชันเสถียรปัจจุบัน: 3.0.23)

  1. ใน VLC ไปที่ Help > Check for Updates

    VLC เทียบเวอร์ชันของคุณกับเวอร์ชันล่าสุด

  2. ถ้ามีอัปเดต ให้ดาวน์โหลดจากหน้าทางการ videolan.org

    ตัวติดตั้งใหม่ถูกดาวน์โหลดแล้ว

  3. ติดตั้งทับเวอร์ชันปัจจุบัน (การตั้งค่าจะถูกเก็บไว้) แล้วเปิดใหม่

    VLC ทำงานด้วยเวอร์ชันใหม่

หมายเหตุVLC 3.0.23 เป็นอัปเดตครั้งที่ 24 ของสาย 3.0 และรวมการแก้ไข demuxer กับความเสถียรไว้จำนวนมาก — ปัญหา "เล่นไม่ได้" หลายอย่างถูกแก้ไปแล้วในเวอร์ชันนี้

วิธี 2ตรวจว่า GPU ของคุณถอดรหัส HEVC ได้จริงหรือไม่

บอกคุณว่าปัญหาคือความสามารถของฮาร์ดแวร์หรือไม่

  1. เปิดไฟล์แล้วตรวจ เครื่องมือ > ข้อมูลสื่อ > ตัวอ่าน-ลงรหัส: บรรทัด "Decoder" แสดงตัวถอดรหัสที่ใช้

    คุณเห็นตัวถอดรหัสที่ทำงาน

  2. ถ้ามันแสดงตัวถอดรหัสฮาร์ดแวร์ (D3D11VA, VDA, VAAPI) แสดงว่าการถอดรหัส HEVC ด้วยฮาร์ดแวร์ทำงานอยู่ จอดำจึงหมายถึงบั๊กไดรเวอร์

    ทราบเส้นทางการถอดรหัส

  3. ถ้ามันแสดง FFmpeg ถอดรหัสด้วยซอฟต์แวร์และ CPU ถูกดึงเต็ม แสดงว่า GPU/ไดรเวอร์ของคุณถอดรหัส HEVC ไม่ได้ — อัปเดตไดรเวอร์ หรือยอมรับการถอดรหัส CPU ด้วยวิธีแก้ด้านล่าง

    ประเมินความสามารถ

หมายเหตุอ้างอิง: Intel HD 4000 และรุ่นเก่ากว่า GPU AMD ก่อนปี 2014 ส่วนใหญ่ และ GPU NVIDIA ก่อนปี 2014 ถอดรหัส HEVC ด้วยฮาร์ดแวร์ไม่ได้

วิธี 3ปิดการถอดรหัสด้วยการเร่งความเร็วฮาร์ดแวร์

แก้ปัญหาจอดำ/จอเขียว ภาพแตกเป็นบล็อก และภาพกระตุกได้ในกรณีส่วนใหญ่

  1. เปิด VLC แล้วไปที่ Tools > Preferences (หรือกด Ctrl+P บน Windows/Linux และ Cmd+, บน macOS)

    หน้าต่าง Preferences จะเปิดขึ้น

  2. คลิกแท็บ Input / Codecs ทางด้านซ้าย

    ระบบจะแสดงการตั้งค่าที่เกี่ยวข้องกับ codec

  3. มองหา "Hardware-accelerated decoding" แล้วตั้งค่าเป็น Disable

    ช่องดรอปดาวน์จะแสดงคำว่า "Disable"

  4. คลิก Save แล้วปิดและเปิด VLC ใหม่ทั้งหมด (ปิดทุกหน้าต่างของ VLC ไม่ใช่แค่หน้าต่างวิดีโอ)

    VLC เริ่มทำงานใหม่โดยใช้การถอดรหัสด้วยซอฟต์แวร์

  5. เล่นไฟล์ที่มีปัญหาอีกครั้ง

    ถ้าปัญหาหายไป ต้นเหตุคือตัวถอดรหัสของ GPU

หมายเหตุสำหรับ HEVC hwaccel ควรเปิดด้วยไดรเวอร์ที่ทำงานได้ ถ้าการถอดรหัสฮาร์ดแวร์ไม่พร้อม ให้ปิดไว้และพึ่งพา CPU — ดูวิธีแก้ขั้นสูง

วิธี 4อัปเดตไดรเวอร์การ์ดจอ

แก้ปัญหาจอดำ ภาพเพี้ยนเป็นสีเขียว และการแครชที่เกิดจากบั๊กของไดรเวอร์

  1. กด Win+X แล้วเปิด Device Manager (หรือ System Settings > Displays บน macOS)

    รายการอุปกรณ์จะเปิดขึ้น

  2. ขยาย "Display adapters" แล้วจดรุ่น GPU ของคุณไว้ (NVIDIA, AMD หรือ Intel)

    ระบุ GPU ของคุณได้แล้ว

  3. ดาวน์โหลดไดรเวอร์ตัวใหม่สุดจากเว็บไซต์ผู้ผลิต GPU (nvidia.com, amd.com หรือ intel.com) — หรือใช้ Windows Update

    ชุดไดรเวอร์พร้อมใช้งาน

  4. ติดตั้ง รีสตาร์ตเครื่อง แล้วลอง VLC อีกครั้ง

    ระบบทำงานด้วยไดรเวอร์ตัวใหม่

หมายเหตุโน้ตบุ๊กแบบ OEM บางครั้งบล็อกไดรเวอร์จากผู้ผลิต GPU ในกรณีนั้นให้ใช้หน้าดาวน์โหลดไดรเวอร์ของผู้ผลิตโน้ตบุ๊กแทน

วิธี 5เปลี่ยนโมดูลเอาต์พุตวิดีโอเป็น OpenGL (แก้ความผิดพลาดการเรนเดอร์ HEVC 10-bit)

แก้ปัญหาจอดำและความผิดพลาดของการเรนเดอร์บนชุด GPU บางรุ่น

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

    การตั้งค่าวิดีโอจะเปิดขึ้น

  2. ตั้งค่า "Output" เป็น OpenGL (แก้ความผิดพลาดการเรนเดอร์ HEVC 10-bit)

    โมดูลเอาต์พุตเปลี่ยนแล้ว

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

    VLC เริ่มทำงานใหม่

  4. เปิดไฟล์อีกครั้งแล้วดูภาพที่ได้

    ตอนนี้วิดีโอควรแสดงผลได้อย่างถูกต้อง

หมายเหตุถ้าโมดูลใหม่ใช้งานได้ ก็ใช้ต่อไปได้เลย GPU และไดรเวอร์แต่ละรุ่นทำงานต่างกัน ดังนั้นการลองเปลี่ยนดูจึงเป็นวิธีที่เร็วที่สุดในการหาเอาต์พุตที่เสถียร

วิธี 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เปิดการถอดรหัส HEVC ด้วย CPU (ซอฟต์แวร์) อย่างถูกต้อง

เล่น HEVC บนเครื่องที่ไม่มีการถอดรหัส GPU

  1. เครื่องมือ > &ปรับแต่ง > ส่วนนำเข้า / Codecs > "Hardware-accelerated decoding" > Disable

    บังคับถอดรหัส CPU

  2. เปิด "Drop frames on late pictures" เพื่อรักษาเสียงให้ลื่นไหลบน CPU ที่อ่อนแอ

    ทิ้งเฟรมแทนที่จะค้าง

  3. สำหรับ HEVC 4K บน CPU เก่า ให้ลดขนาดหน้าต่างหรือไม่ต้องใช้ตัวกรองวิดีโอ "Sharpen" — เพียงยอมรับภาระ CPU หรือดูในหน้าต่างเล็ก

    การเล่นเสถียร

หมายเหตุCPU ระดับกลางสมัยใหม่ (Ryzen 5 / Core i5 รุ่น 2018+) ถอดรหัส 4K HEVC ด้วยซอฟต์แวร์ได้ดีพอสำหรับ 24–30 fps 4K60 อาจยังทิ้งเฟรม

วิธี 2ทำ remux ไฟล์ HEVC-in-TS

แก้ความล้มเหลว HEVC ที่เกี่ยวกับคอนเทนเนอร์

  1. รัน: ffmpeg -i input.ts -c copy -map 0 output.mp4

    สตรีม HEVC ถูก remux เข้า MP4

  2. เล่น MP4 ใน VLC

    ไฟล์ที่ remux แล้วเล่นได้

หมายเหตุไม่สูญเสียคุณภาพ — สตรีมถูกคัดลอก เปลี่ยนเฉพาะคอนเทนเนอร์

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

  • รักษาไดรเวอร์ GPU ให้ทันสมัย — บั๊กการถอดรหัส HEVC ถูกแพตช์ในเวอร์ชันไดรเวอร์
  • ก่อนซื้อ/ดาวน์โหลดเนื้อหา 4K ให้ตรวจการรองรับการถอดรหัส HEVC ของ GPU ของคุณ (NVDEC/Intel Quick Sync/AMD VCN)
  • เลือก MP4/MKV ที่มีธง HEVC ที่สะอาดสำหรับความเข้ากันได้สูงสุด

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

VLC รองรับ HEVC หรือไม่?
รองรับ — VLC 3.0 เล่น HEVC/H.265 ด้วยซอฟต์แวร์และฮาร์ดแวร์ ถ้าของคุณไม่ได้ ลิงก์ที่ล้มเหลวมักเป็นตัวถอดรหัสหรือไดรเวอร์ GPU ไม่ใช่ตัว VLC เอง
ทำไม HEVC เล่นในตัวเล่นอื่นแต่ไม่เล่นใน VLC?
ตัวเล่นอื่นอาจถอยกลับไปเส้นทางตัวถอดรหัสอื่น (เช่น Media Foundation) อย่างเงียบ ๆ ใน VLC ให้แน่ใจว่าการเร่งความเร็วฮาร์ดแวร์เปิดด้วยไดรเวอร์ที่อัปเดตแล้ว หรือบังคับถอดรหัสซอฟต์แวร์
VLC รองรับ HEVC 10-bit หรือไม่?
รองรับ ด้วยตัวถอดรหัสที่รองรับ Main10 ปัญหา 10-bit มักมาจากไดรเวอร์ GPU — อัปเดตมัน หรือใช้การถอดรหัสซอฟต์แวร์
ฉันต้องติดตั้งแพ็ก HEVC บน Windows สำหรับ VLC หรือไม่?
ไม่ VLC รวมตัวถอดรหัส HEVC ของตัวเองมาให้แล้ว ส่วนขยาย HEVC จาก Windows Store จำเป็นเฉพาะแอปที่ใช้ Media Foundation
VLC เล่น AV1 ได้หรือไม่?
ได้ — VLC 3.0 เล่น AV1 ด้วยซอฟต์แวร์ (และผ่านฮาร์ดแวร์ที่รองรับ) dav1d (ตัวถอดรหัส AV1 ใหม่โดย VideoLAN) อยู่ในแผนงานสำหรับ 4.0

สรุป

อัปเดต VLC เป็นเวอร์ชันล่าสุด — รับการแก้บั๊กและแพตช์ความปลอดภัยจากทางการ (เวอร์ชันเสถียรปัจจุบัน: 3.0.23). 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.