VLC จอเขียว: สาเหตุและ 5 วิธีแก้แบบเร็ว
ภาพสีเขียวทึบ (บางครั้งเป็นสีชมพูหรือม่วง) ที่มาแทนวิดีโอของคุณ เป็นหนึ่งในปัญหาที่เป็นเอกลักษณ์ของ VLC ต่างจากอาการจอดำ อาการจอเขียวหมายความว่าเฟรมวิดีโอถูกถอดรหัสอยู่ — แต่ได้ฟอร์แมตสีที่ผิด ตัวเรนเดอร์จึงวาดข้อมูลขยะออกมา สาเหตุแทบทุกครั้งคือตัวถอดรหัสวิดีโอด้วยฮาร์ดแวร์ส่งฟอร์แมตพิกเซลที่ไม่รองรับออกมา หรือโมดูลเอาต์พุตวิดีโอจัดการมันได้ไม่ดี นี่คือปัญหาในชั้นการเรนเดอร์ ไม่ใช่ไฟล์เสียหาย วิธีแก้ด้านล่างเรียงตามความน่าจะเป็น และในกรณีส่วนใหญ่แก้ได้ในเวลาไม่ถึงห้านาที
ทำไมจึงเกิดเหตุการณ์นี้?
- การถอดรหัสด้วย DXVA / D3D11VA ที่ฟอร์แมตพิกเซลไม่เข้ากัน — ตัวถอดรหัสของ GPU ส่งฟอร์แมต NV12 หรือ P010 ออกมา ไดรเวอร์เก่าหรือโมดูลเอาต์พุตบางตัวแปลงมันไม่ได้ จึงเกิดเฟรมสีเขียว
- ความขัดแย้งของโมดูลเอาต์พุตวิดีโอ — Direct3D11 บน Windows และ VDPAU/VA-API บน Linux เป็นผู้ต้องสงสัยหลัก
- บั๊กของไดรเวอร์ GPU กับ codec บางตัว — HEVC 10-bit และ VP9 เป็นตัวกระตุ้นที่พบบ่อยที่สุด
- คอนฟิกของ VLC เสียหายและยังเลือกเอาต์พุตตัวเก่าค้างไว้ — โมดูลที่ไม่มีอยู่ในระบบของคุณอีกแล้ว
วิธีแก้ไข
วิธี 1ปิดการถอดรหัสด้วยการเร่งความเร็วฮาร์ดแวร์
แก้ปัญหาจอดำ/จอเขียว ภาพแตกเป็นบล็อก และภาพกระตุกได้ในกรณีส่วนใหญ่
เปิด VLC แล้วไปที่ Tools > Preferences (หรือกด Ctrl+P บน Windows/Linux และ Cmd+, บน macOS)
หน้าต่าง Preferences จะเปิดขึ้น
คลิกแท็บ Input / Codecs ทางด้านซ้าย
ระบบจะแสดงการตั้งค่าที่เกี่ยวข้องกับ codec
มองหา "Hardware-accelerated decoding" แล้วตั้งค่าเป็น Disable
ช่องดรอปดาวน์จะแสดงคำว่า "Disable"
คลิก Save แล้วปิดและเปิด VLC ใหม่ทั้งหมด (ปิดทุกหน้าต่างของ VLC ไม่ใช่แค่หน้าต่างวิดีโอ)
VLC เริ่มทำงานใหม่โดยใช้การถอดรหัสด้วยซอฟต์แวร์
เล่นไฟล์ที่มีปัญหาอีกครั้ง
ถ้าปัญหาหายไป ต้นเหตุคือตัวถอดรหัสของ GPU
วิธี 2เปลี่ยนโมดูลเอาต์พุตวิดีโอเป็น OpenGL (บน Windows) หรือโมดูลอื่นบน Linux (VDPAU → OpenGL)
แก้ปัญหาจอดำและความผิดพลาดของการเรนเดอร์บนชุด GPU บางรุ่น
ไปที่ Tools > Preferences > Video
การตั้งค่าวิดีโอจะเปิดขึ้น
ตั้งค่า "Output" เป็น OpenGL (บน Windows) หรือโมดูลอื่นบน Linux (VDPAU → OpenGL)
โมดูลเอาต์พุตเปลี่ยนแล้ว
คลิก Save แล้วเปิด VLC ใหม่
VLC เริ่มทำงานใหม่
เปิดไฟล์อีกครั้งแล้วดูภาพที่ได้
ตอนนี้วิดีโอควรแสดงผลได้อย่างถูกต้อง
วิธี 3อัปเดตไดรเวอร์การ์ดจอ
แก้ปัญหาจอดำ ภาพเพี้ยนเป็นสีเขียว และการแครชที่เกิดจากบั๊กของไดรเวอร์
กด Win+X แล้วเปิด Device Manager (หรือ System Settings > Displays บน macOS)
รายการอุปกรณ์จะเปิดขึ้น
ขยาย "Display adapters" แล้วจดรุ่น GPU ของคุณไว้ (NVIDIA, AMD หรือ Intel)
ระบุ GPU ของคุณได้แล้ว
ดาวน์โหลดไดรเวอร์ตัวใหม่สุดจากเว็บไซต์ผู้ผลิต GPU (nvidia.com, amd.com หรือ intel.com) — หรือใช้ Windows Update
ชุดไดรเวอร์พร้อมใช้งาน
ติดตั้ง รีสตาร์ตเครื่อง แล้วลอง VLC อีกครั้ง
ระบบทำงานด้วยไดรเวอร์ตัวใหม่
วิธี 4รีเซ็ตการตั้งค่าของ VLC กลับเป็นค่าเริ่มต้น
ล้างการตั้งค่าที่เสียหายซึ่งทำให้โปรแกรมแครช จอดำ และเกิดปัญหาเสียง
ปิด VLC ให้สมบูรณ์
ไม่มีโปรเซสของ VLC ทำงานอยู่
เปิด Command Prompt (Win+R → cmd) หรือเทอร์มินัล
พร้อมใช้บรรทัดคำสั่ง
รันคำสั่ง
vlc --reset-config(Windows/Linux) — บน macOS ให้ลบ~/Library/Preferences/org.videolan.vlcแทนการตั้งค่าของ VLC กลับไปเป็นค่าเริ่มต้น
เปิด VLC แล้วตั้งค่าใหม่เฉพาะรายการที่คุณจำเป็นต้องใช้จริง
VLC เริ่มทำงานด้วยการตั้งค่าที่สะอาด
วิธี 5อัปเดต VLC เป็นเวอร์ชันล่าสุด
รับการแก้บั๊กและแพตช์ความปลอดภัยจากทางการ (เวอร์ชันเสถียรปัจจุบัน: 3.0.23)
ใน VLC ไปที่ Help > Check for Updates
VLC เทียบเวอร์ชันของคุณกับเวอร์ชันล่าสุด
ถ้ามีอัปเดต ให้ดาวน์โหลดจากหน้าทางการ videolan.org
ตัวติดตั้งใหม่ถูกดาวน์โหลดแล้ว
ติดตั้งทับเวอร์ชันปัจจุบัน (การตั้งค่าจะถูกเก็บไว้) แล้วเปิดใหม่
VLC ทำงานด้วยเวอร์ชันใหม่
การแก้ไขขั้นสูง
วิธี 1บังคับใช้ฟอร์แมตสีที่ต้องการ (Linux)
แก้อาการจอเขียวบนระบบ Linux ที่ใช้ VA-API/VDPAU
ปิด VLC แล้วเปิดไฟล์คอนฟิกของ VLC:
~/.config/vlc/vlcrcไฟล์คอนฟิกเปิดขึ้นมา
หาส่วน avcodec แล้วเพิ่มบรรทัด
avcodec-hw=none(หรือค่าแทนที่vdpau-versionถ้ามีอยู่)การถอดรหัสด้วยฮาร์ดแวร์ถูกปิดในระดับคอนฟิก
เปิด VLC แล้วทดสอบ
วิดีโอแสดงผลในโหมดซอฟต์แวร์
วิธีป้องกันในอนาคต
- อัปเดตไดรเวอร์ GPU อย่างสม่ำเสมอ — เฟรมสีเขียว/ชมพูมักถูกแก้ในไดรเวอร์รุ่นใหม่
- หลังอัปเดต VLC ให้ตรวจว่าการถอดรหัสด้วยฮาร์ดแวร์ยังใช้งานได้ เพราะเวอร์ชันใหม่บางครั้งเปลี่ยนค่าเริ่มต้น
- เก็บ VLC เวอร์ชันพอร์เทเบิลไว้ชุดหนึ่งเพื่อเทียบผลแบบ A/B กับปัญหาคอนฟิกได้ทันที
คำถามที่พบบ่อย
ทำไมวิดีโอของฉันเป็นสีเขียวใน VLC แต่ปกติดีในโปรแกรมอื่น?
จอเขียวเฉพาะเวลาเต็มหน้าจอ?
จอเขียวเป็นสัญญาณว่า GPU เสียหรือไม่?
อาการจอเขียวเกิดกับฟอร์แมตเฉพาะบางตัวหรือไม่?
สรุป
ปิดการถอดรหัสด้วยการเร่งความเร็วฮาร์ดแวร์ — แก้ปัญหาจอดำ/จอเขียว ภาพแตกเป็นบล็อก และภาพกระตุกได้ในกรณีส่วนใหญ่. 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.