MP4 หรือ WebM ควรส่งออกเป็นอะไร
เว็บขอไฟล์ MP4 แต่ไฟล์ที่มีเป็น WebM แบบนี้ต้องแปลงหรือแค่เปลี่ยนชื่อ
คำถามนี้จริง ๆ แล้วคือสองคำถาม
MP4 และ WebM คือคอนเทนเนอร์ คอนเทนเนอร์คือระบบจัดเก็บเอกสาร มันเก็บแทร็กหนึ่งแทร็กขึ้นไป บันทึกจังหวะเวลาของแต่ละแทร็ก เก็บดัชนีที่ทำให้โปรแกรมเล่นกระโดดไปยังตำแหน่งต่าง ๆ ได้ และพกเมตาดาต้าไว้ด้วย มันไม่ได้บีบอัดอะไรเลย การบีบอัดเป็นงานของโคเดก และสิ่งที่คอนเทนเนอร์พาไปคือบิตสตรีมที่เข้ารหัสแล้วนั้น
ดังนั้น "MP4 หรือ WebM" คือคำถามเรื่องการบรรจุหีบห่อ ส่วน "H.264, VP9 หรือ AV1" คือคำถามเรื่องการบีบอัด การสับสนระหว่างสองเรื่องนี้คือเหตุผลที่คนเข้ารหัสไฟล์ใหม่ทั้งที่แค่ต้องเปลี่ยนหีบห่อ และเสียคุณภาพไปหนึ่งรุ่นโดยไม่ได้อะไรกลับมา
ปกติแล้วข้างในแต่ละอันมีอะไร
| คุณสมบัติ | MP4 | WebM |
|---|---|---|
| ฟอร์แมตพื้นฐาน | รูปแบบไฟล์สื่อพื้นฐานของ ISO (ISO/IEC 14496-12) | โปรไฟล์หนึ่งของ Matroska |
| โคเดกวิดีโอที่ใช้กันทั่วไป | H.264, HEVC, AV1 | VP8, VP9, AV1 |
| โคเดกเสียงที่ใช้กันทั่วไป | AAC บางครั้งเป็น AC-3 หรือ FLAC | Opus, Vorbis |
| ลักษณะการอนุญาตสิทธิ์ | มักใช้โคเดกที่มีสิทธิบัตร | ออกแบบโดยยึดโคเดกที่ปลอดค่าลิขสิทธิ์ |
| ที่ที่มันเป็นตัวเลือกปลอดภัย | มือถือ โปรแกรมเล่นบนเดสก์ท็อป ซอฟต์แวร์ตัดต่อ แพลตฟอร์มโซเชียล | บนเว็บ โดยเฉพาะเมื่อใช้กับ VP9 หรือ AV1 |
ทั้งสองรายการไม่ใช่กฎตายตัว คอนเทนเนอร์แทบไม่ผูกกับโคเดกใด และทั้งคู่พา AV1 ไปได้ สิ่งที่ต่างกันคือซอฟต์แวร์ที่ปลายทางพร้อมจะรับอะไร
แต่ละอันเล่นได้จริงที่ไหนบ้าง
MP4 ที่บรรจุ H.264 และ AAC คือสิ่งที่ใกล้เคียงไฟล์วิดีโอสากลที่สุด มันเล่นได้บนมือถือ บนโทรทัศน์ ในซอฟต์แวร์ตัดต่อ ในแอปแชต และเป็นสิ่งที่ฟอร์มอัปโหลดหมายถึงเวลาที่เขียนว่า "วิดีโอ" ความครองตลาดของมันคือเหตุผลที่ตัวเข้ารหัสระดับฮาร์ดแวร์สำหรับ H.264 มีอยู่ในอุปกรณ์แทบทุกชิ้นที่วางขายมาสิบห้าปีหลัง ซึ่งสำคัญต่ออายุแบตเตอรีพอ ๆ กับต่อความเข้ากันได้
WebM ถูกสร้างมาเพื่อเว็บ ด้วยโคเดกที่ไม่มีภาระค่าลิขสิทธิ์สำหรับการสตรีม เบราว์เซอร์รองรับมันได้ดี แต่ซอฟต์แวร์นอกเบราว์เซอร์เชื่อถือได้น้อยกว่า เครื่องมือตัดต่อบางตัว โทรทัศน์บางรุ่น และแกลเลอรีในมือถือบางตัวจะเปิดมันไม่ได้ และเพื่อนร่วมงานที่ดับเบิลคลิกไฟล์อาจไม่เห็นอะไรเลย
การรีมักซ์เทียบกับการเข้ารหัสใหม่
ถ้าโคเดกที่อยู่ในไฟล์ของคุณเป็นที่ยอมรับของปลายทางอยู่แล้ว การเปลี่ยนคอนเทนเนอร์คือการรีมักซ์ คือคัดลอกเฟรมที่เข้ารหัสแล้วข้ามไปโดยไม่เปลี่ยนแปลง แล้วเขียนแค่หีบห่อขึ้นใหม่ มันเร็ว ไม่สูญเสียข้อมูล และภาพเหมือนเดิมทุกบิต แต่ถ้าโคเดกไม่เป็นที่ยอมรับ เช่น ต้องใส่ VP9 ลงใน MP4 สำหรับโปรแกรมเล่นที่อ่านได้แต่ H.264 เฟรมทั้งหมดต้องถูกถอดรหัสแล้วเข้ารหัสใหม่ ซึ่งกินเวลาจริงและแลกด้วยคุณภาพหนึ่งรุ่น
นี่คือเหตุผลที่คำถามแรกที่มีประโยชน์คือ "ข้างในเป็นโคเดกอะไร" ไม่ใช่ "นามสกุลไฟล์คืออะไร" เครื่องมือวิดีโอของ FileSlimmer จะตรวจสอบแทร็กก่อน แล้วเลือกรีมักซ์แทนการเข้ารหัสใหม่ทุกครั้งที่ปลายทางยอมรับได้
อย่าลืมแทร็กเสียง
การสลับคอนเทนเนอร์โดยไม่สนใจเสียงจะให้ไฟล์ที่เงียบสนิทบนโปรแกรมเล่นที่ไม่รองรับ ตามธรรมเนียมแล้ว MP4 พา AAC ส่วน WebM พา Opus หรือ Vorbis การใส่ Opus ลงใน MP4 นั้นถูกต้องตามข้อกำหนดแต่ซอฟต์แวร์จำนวนมากในโลกจริงไม่รองรับ การแปลงเป็น MP4 อย่างซื่อตรงจึงมักหมายถึงการเข้ารหัสเสียงเป็น AAC ไปด้วย
ถ้าคลิปไม่มีเสียงเลย ให้ระบุไว้ให้ชัดในไฟล์ที่คุณส่งออก โปรแกรมเล่นบางตัวจะค้างเมื่อคาดหวังแทร็กที่ไม่มีอยู่
รายการตัดสินใจสั้น ๆ
- ส่งไฟล์ให้คน ให้แพลตฟอร์ม หรือให้ฟอร์มอัปโหลด ใช้ MP4 ที่มี H.264 และ AAC
- เสิร์ฟไฟล์เองจากหน้าเว็บของคุณไปยังเบราว์เซอร์ ใช้ WebM ที่มี VP9 หรือใช้ AV1 ในคอนเทนเนอร์ใดก็ได้ พร้อมสำรองเป็น MP4 หากผู้ชมของคุณกว้าง
- ตั้งใจตัดต่อทีหลัง ให้เก็บต้นฉบับคุณภาพสูงสุดที่มีไว้ ในคอนเทนเนอร์ใดก็ตามที่มันมาแต่แรก
- ผิดแค่คอนเทนเนอร์และโคเดกถูกอยู่แล้ว ให้รีมักซ์ อย่าเข้ารหัสใหม่
- ไม่แน่ใจว่าข้างในมีอะไร ให้ตรวจโคเดกก่อนตัดสินใจ เพราะคำตอบชี้ว่าเรื่องนี้จะกินเวลาคุณไม่กี่วินาทีหรือกินเป็นชั่วโมง
ข้อจำกัดที่ควรรู้
การเข้ารหัสวิดีโอในเบราว์เซอร์ขึ้นอยู่กับสิ่งที่อุปกรณ์เปิดให้ใช้ ตัวเข้ารหัสระดับฮาร์ดแวร์ผูกกับฟอร์แมตเฉพาะ เครื่องหนึ่งอาจเข้ารหัส H.264 ได้เร็วแต่เข้ารหัส VP9 ช้า หรือปฏิเสธโคเดกหนึ่งไปเลย การรองรับยังต่างกันระหว่างเบราว์เซอร์บนเครื่องเดียวกัน และระหว่างเบราว์เซอร์หนึ่งกับเบราว์เซอร์เดียวกันบนมือถือ การแปลงที่ใช้เวลาไม่กี่วินาทีบนโน้ตบุ๊กอาจใช้เวลานานกว่านั้นมากบนมือถือที่กำลังจัดการความร้อนของตัวเองไปด้วย
การเลือกคอนเทนเนอร์กู้ไฟล์ที่ใหญ่เพราะเนื้อหาของมันเองไม่ได้ คลิปยาว ๆ ที่ความละเอียดสูงและมีการเคลื่อนไหวมาก ก็ใหญ่ในทุกคอนเทนเนอร์ ความละเอียด บิตเรต และความยาวคือสิ่งที่ตัดสินเรื่องนี้ และการเปลี่ยนหีบห่อไม่ได้เปลี่ยนสามอย่างนั้นเลย
เครื่องมือสำหรับเรื่องนี้
แหล่งอ้างอิง
- ISO/IEC 14496-12 — ISO base media file format
- The WebM Project — container guidelines
- ITU-T H.264 — Advanced Video Coding
- MDN — Media container formats and codec support