บทช่วยสอนนี้จะค่อนข้างแปลก ประวัติเบื้องหลังคือ ไม่กี่วันมา ผมสร้างคลิปเพราะดี้ของเรื่อง Risitas y las paelleras ซึ่งโด่งดังจากเสียงหัวเราะบ้าคลั่งของนักแสดงนำ Risitas เหมือนเดิม ผมอัปโหลดไป YouTube แต่ตั้งแต่ตัดสินใจว่าจะใช้ซับไตเติลอะไร จนกระทั่งวิดีโอพร้อมออนไลน์ มีการเดินทางที่ยาวนานและโค้งโค้ง
ในคู่มือนี้ ผมอยากนำเสนอปัญหาทั่วไปหลายประการที่คุณอาจเจอเมื่อสร้างสื่อของตัวเอง โดยเฉพาะเรื่องซับไตเติลและการอัปโหลดไปยังพอร์ทัลแชร์สื่อ โดยเฉพาะ YouTube รวมถึงวิธีแก้ไข ตามผมมา
เรื่องราวเบื้องหลัง
ซอฟต์แวร์ตัดต่อวิดีโอที่ผมเลือกคือ Kdenlive เริ่มใช้ตอนสร้างคลิป Frankenstein ที่บ้าคลั่งที่สุด และมันเป็นเพื่อนร่วมทางที่ภักดีมาตลอด ปกติผมเรนเดอร์ไฟล์เป็นคอนเทนเนอร์ WebM ด้วยวิดีโอโค덱 VP8 และเสียง Vorbis เพราะ Google ชอบรูปแบบนี้ ผมไม่มีปัญหากับคลิปประมาณ 40 ตัวที่อัปโหลดไป 7-8 ปีมา
อย่างไรก็ตาม หลังจบโปรเจกต์ Risitas & Linux ผมเจอปัญหา ไฟล์วิดีโอและไฟล์ซับไตเติลยังแยกจากกัน และผมต้องหาวิธีรวมเข้าด้วยกัน บทความเดิมของผมเกี่ยวกับซับไตเติลกล่าวถึง Avidemux และ Handbrake ทั้งคู่เป็นตัวเลือกที่ถูกต้อง
แต่ผมไม่ค่อยพอใจกับเอาต์พุตจากทั้งสอง ตัวใดตัวหนึ่งมีบางอย่างผิดปกติเล็กน้อย Avidemux จัดการวิดีโอโค덱ไม่ดี ส่วน Handbrake ข้ามบรรทัดซับไตเติลบางบรรทัด และฟอนต์น่าเกลียด แก้ได้ แต่นี่ไม่ใช่หัวข้อวันนี้
ดังนั้น ผมตัดสินใจใช้ VideoLAN (VLC) เพื่อฝังซับไตเติลลงวิดีโอ มีหลายวิธีทำ สามารถใช้ Media > Convert/Save แต่ตัวนี้ไม่มีทุกอย่างที่เราต้องการ ควรใช้ Media > Stream ซึ่งมีวิซาร์ดที่สมบูรณ์กว่า และยังมีสรุปตัวเลือกการแปลงรูปแบบที่แก้ไขได้ ซึ่งเราจำเป็นต้องใช้ — ดูบทช่วยสอนซับไตเติลของผมได้
ข้อผิดพลาด!
กระบวนการฝังซับไตเติลไม่ได้ง่าย คุณน่าจะเจอปัญหาหลายอย่าง คู่มือนี้ควรช่วยให้คุณแก้ไขได้ เพื่อโฟกัสที่งานแทนการเสียเวลาแก้บั๊กแปลกๆ ไปเรื่อยๆ
ไม่มีสตรีมที่เล่นได้
คุณอาจเลือกการตั้งค่าอาต์พุตผิด ลองตรวจสอบว่าคุณเลือกวิดีโอและเสียงโค덱ที่ถูกต้อง จำไว้ว่าโปรแกรมเล่นสื่อบางตัวอาจไม่มีโค덱ครบ ตรวจสอบบนระบบที่คุณต้องการให้คลิปเหล่านี้เล่น
ซับไตเติลทับซ้อนสองชั้น
สิ่งนี้อาจเกิดขึ้นหากคุณติ๊กกล่อง "Use a subtitle file" ในขั้นตอนแรกของวิซาร์ดสตรีมมิ่ง ให้เลือกไฟล์ที่ต้องการและคลิก Stream โดยไม่ติ๊กกล่องนั้น
ไม่มีเอาต์พุตซับไตเติล
สิ่งนี้อาจเกิดจากสองเหตุผลหลัก หนึ่ง คุณเลือก encapsulation format ผิด ตรวจสอบให้แน่ใจว่าซับไตเติลถูกทำเครื่องหมายถูกต้องบนหน้าโปรไฟล์เมื่อคุณแก้ไขก่อนดำเนินการต่อ หากรูปแบบไม่รองรับซับไตเติล อาจไม่ทำงาน
สอง คุณอาจปล่อยให้ subtitle codec render เปิดอยู่ในเอาต์พุตสุดท้าย คุณไม่ต้องการสิ่งนี้ คุณเพียงต้องการทับซับไตเติลลงวิดีโอ โปรดตรวจสอบสตริงเอาต์พุตสตรีมที่สร้างขึ้น และลบตัวเลือกที่อ่านว่า scodec=<something> ก่อนคลิกปุ่ม Stream
โค덱หายไป + วิธีแก้
นี่เป็นบั๊กทั่วไปจากวิธีการนำโค덱ทดลองไปใช้ คุณน่าจะเจอหากเลือกโปรไฟล์: Video - H.264 + AAC (MP4) ไฟล์จะเรนเดอร์เสร็จ และหากคุณเลือกซับไตเติล จะถูกทับด้วย แต่ไม่มีเสียง อย่างไรก็ตาม เราสามารถแก้ได้ด้วยแฮ็ก
แฮ็กหนึ่งคือ เริ่ม VLC จากบรรทัดคำสั่งด้วยออปชัน --sout-ffmpeg-strict=-2 (อาจทำงาน) อีกวิธีที่มั่นใจกว่าคือ นำวิดีโอที่ไม่มีเสียงแต่มีซับไตเติลทับอยู่ เรนเดอร์ใหม่ผ่าน Kdenlive ด้วยวิดีโอต้นฉบับที่เรนเดอร์โดยไม่มีซับไตเติลเป็นแหล่งเสียง ดูซับซ้อน รายละเอียด:
- ย้ายคลิปที่มีอยู่ (ซึ่งมีเสียง) จากวิดีโอไปเป็นเสียง ลบส่วนที่เหลือ
- หรือใช้ไฟล์ WebM ที่เรนเดอร์แล้วเป็นแหล่งเสียง
- เพิ่มคลิปใหม่ — ตัวที่เราสร้างมีซับไตเติลฝังอยู่ และไม่มีเสียง
- วางคลิปเป็นวิดีโอใหม่
- เรนเดอร์เป็น WebM อีกครั้ง
การใช้โค덱เสียงประเภทอื่นน่าจะทำงาน (เช่น MP3) และคุณจะได้โปรเจกต์สมบูรณ์พร้อมวิดีโอ เสียง และซับไตเติล หากพอใจว่าไม่หายอะไร สามารถอัปโหลดไป YouTube ได้ แต่แล้ว...
YouTube Video Manager & รูปแบบไม่รู้จัก
หากพยายามอัปโหลดคลิปที่ไม่ใช่ WebM (เช่น MP4) อาจเจอข้อผิดพลาดไม่ระบุว่าคลิปไม่ตรงตามข้อกำหนดรูปแบบสื่อ ผมไม่แน่ใจว่า VLC สร้างไฟล์ที่ไม่ compliant กับ YouTube ยังไง แต่วิธีแก้ง่าย ใช้ Kdenlive สร้างวิดีโอใหม่ และควรได้ไฟล์ที่มีเมตาฟิลด์และสิ่งต่างๆ ที่ YouTube ชอบ กลับไปที่เรื่องราวเดิมและ 40 กว่าคลิปที่สร้างผ่าน Kdenlive แบบนี้
P.S. หากคลิปของคุณมีเสียงถูกต้อง แค่เรนเดอร์ใหม่ผ่าน Kdenlive หากไม่มี ให้ทำทริกวิดีโอ/เสียงเหมือนเดิม ปิดเสียงคลิปตามต้องการ ในที่สุด มันเหมือนการทับoverlay แต่คุณใช้แหล่งวิดีโอจากคลิปหนึ่งและเสียงจากอีกคลิปสำหรับเรนเดอร์สุดท้าย เสร็จสิ้น
อ่านเพิ่มเติม
ผมไม่อยากซ้ำหรือสแปมลิงก์เกินไป ผมมีคลิป VLC เยอะมากในส่วน Software & Security คุณอาจอยากดู บทความ VLC & Subtitles ก่อนหน้ามีลิงก์ไปยังบทช่วยสอนเกี่ยวข้องครึ่งโหลหรือมากกว่า ครอบคลุมหัวข้อเพิ่มเติม เช่น สตรีมมิ่ง ล็อกกิ้ง การหมุนวิดีโอ การเข้าถึงไฟล์ระยะไกล และอื่นๆ มั่นใจว่าคุณใช้เครื่องมือค้นหาเก่งๆ
สรุป
หวังว่าคู่มือนี้จะช่วยได้ ครอบคลุมมากพอสมควร พยายามทำให้เป็นลำดับและเรียบง่าย และแก้ไขหลุมลึกให้มากที่สุดเท่าที่จะเป็นไปได้สำหรับสตรีมเมอร์และคนรักซับไตเติลที่อาจเจอขณะทำงานกับ VLC มันเกี่ยวกับคอนเทนเนอร์และโค덥 แต่มันยังเกี่ยวกับข้อเท็จจริงที่ว่าไม่มีมาตรฐานในโลกสื่อ และเมื่อคุณเปลี่ยนจากรูปแบบหนึ่งไปอีกรูปแบบ บางครั้งคุณอาจเจอ corner cases
หากคุณเจอข้อผิดพลาดหนึ่งสองสาม เคล็ดลับและทริกที่นี่ควรช่วยแก้ไขบางส่วนได้ รวมถึงสตรีมที่เล่นไม่ได้ ซับไตเติลหายหรือซ้ำ โค덱หายไป และวิธีแก้ Kdenlive ที่ซับซ้อน ข้อผิดพลาดอัปโหลด YouTube ตัวเลือกบรรทัดคำสั่ง VLC ที่ซ่อนอยู่ และอีกเพิ่มเติม มากพอสำหรับบทความเดียวใช่ไหม โชคดีที่ทั้งหมดเป็นสิ่งดีๆ ดูแลตัวเองนะ เด็กๆ ของอินเทอร์เน็ต และหากมีคำขอเพิ่มเติมว่าบทความ VLC ถัดไปควรครอบคลุมอะไร ส่งอีเมลมาได้เลย
ขอแสดงความนับถือ