HTML5 กับไฟล์มัลติมีเดีย และปัญหาสิทธิบัตร

โจทย์ล่าสุดมีอยู่ว่า ต้องทำเว็บสำหรับเล่นไฟล์เสียง mp3 และ m4a โดยเงื่อนไขสำคัญ คือจะต้องสามารถเปิดฟังได้จากอุปกรณ์จากค่าย iOS ซึ่งมันไม่สนับสนุน Flash Player เป็นพื้นฐาน

เกริ่นนำ: ในตอนแรกที่เริ่มดำเนินการ ใช้บริการ Google Audio Player ในการ Embed ไฟล์ mp3 ซึ่งเป็นการทำงานผ่าน Flash Player เท่านั้น แต่การทำงานนั้นสะดวกมาก ไม่ต้องดาวน์โหลดไฟล์ libraries อะไรเพิ่มเติม สามารถฟังได้จากทุกเบราว์เซอร์ในคอมพิวเตอร์ (ที่ติดตั้ง Flash Player)

<embed type="application/x-shockwave-flash" src="http://www.google.com/reader/ui/3523697345-audio-player.swf" quality="best" flashvars="audioUrl=MP3LINK" width="640" height="27"></embed>

เอา url path ของไฟล์ mp3 มาใส่ในตำแหน่ง MP3LINK ก็ใช้งานได้ทันที

แต่ข้อด้อยของการใช้บริการ Embed จาก Google Audio Player คือ เป็น Flash Player อย่างที่กล่าวไปแล้วข้างต้น ทำให้เกิดปัญหาฟังไม่ได้จากอุปกรณ์ในตระกูล iOS ทั้งหมด ซึ่งได้รับความนิยมเพิ่มมากขึ้น ทำให้ต้องมองหาหนทางอื่นในการเปิดฟังไฟล์ดังกล่าวแทน

อย่างที่ทราบกันดีว่าเบราว์เซอร์ที่อยู่ใน iOS นั้นคือ Safari นั้นสนับสนุน HTML5 อย่างเต็มกำลัง ถึงขนาดแอปเปิ้ลสร้างหน้าเว็บเพจสำหรับโปรโมท HTML5 ไว้ในเว็บของตัวเองด้วย

ซึ่งการใช้งานแท็ก audio ของ HTML5 นั้นไม่ยากเลย เผลอๆ จำนวนโค้ดที่ใช้ อาจจะน้อยกว่าการ Embed ด้วย Flash Player อีกต่างหาก โดยโค้ดพื้นฐานของ <audio> จะอยู่ในลักษณะนี้

<audio controls="controls">
  <source src="audio-file.ogg" type="audio/ogg">
  <source src="audio-file.mp3" type="audio/mpeg">
  Your browser does not support the audio element.
</audio>

แต่ปัญหาไม่ได้จบแค่นั้น เพราะความขัดแย้งเกี่ยวกับประเภทของไฟล์มัลติมีเดียที่อยู่เบื้องหลัง HTML5 มันมีแอบซ่อนอยู่ นั่นคือระบบฟอร์แมตของไฟล์ที่ยังหาข้อสรุปไม่ได้

ถ้าสังเกตจากตัวอย่างในคำสั่ง <audio> ข้างต้น จะพบว่ามีการกำหนดไฟล์เสียงเอาไว้ 2 แบบคือ .ogg และ .mp3 ซึ่งเหตุผลที่จะต้องมีไฟล์ให้เบราว์เซอร์เลือกใช้ เพราะปัญหาฟอร์แมตที่กล่าวไปข้างต้นนั่นเอง ไฟล์ .ogg อยู่ในฝั่งของ WebM และ .mp3 อยู่ในค่ายของ MPEG *

ปัญหาก็คือฟอร์แมตจากค่าย MPEG มีการเก็บค่าสิทธิบัตรจากผู้ผลิต ซึ่งเบราว์เซอร์ที่ยอมจ่ายค่าสิทธิบัตรเพื่อจะรองรับการเล่นไฟล์จากค่าย MPEG ได้แก่ Safari, IE และ Chrome ส่วนเบราว์เซอร์ตัวอื่นไม่แสดงผล โดยในทางกลับกันค่าย WebM ไม่มีการเก็บค่าใช้จ่ายในการใช้งาน ทำให้ผู้ผลิตเบราว์เซอร์อย่างเช่น Firefox, Opera และ Chrome เลือกใช้ **

ย้อนกลับไปที่โจทย์ตั้งต้น คือ ความต้องการเปิดฟังไฟล์เสียงที่ส่วนใหญ่มักเป็น mp3 หรือ m4a ได้ในทุกอุปกรณ์ ซึ่ง mp3 และ m4a นั้นเป็นฟอร์แมตจากค่าย MPEG ก็จะทำให้ผู้ใช้งานเบราว์เซอร์ Firefox เปิดฟังไฟล์นั้นไม่ได้ในทันที (เปรียบเทียบ สถิติอัตราส่วนการใช้งาน Firefox ในเว็บไซต์ wikipedia มีเกือบ 20% ของผู้ใช้งานทั้งหมด)

สำหรับทางออกของคนทำเว็บ ในเมื่อผู้ใช้งานที่หลากหลาย คนทำเว็บก็จำเป็นต้องตอบสนองกับทุกพื้นที่การใช้งาน อาจต้องมองหาตัวเสริมสำหรับเป็นทางออกในกรณ๊นี้ อย่างเช่น JW Player หรือ audio.js เป็นต้น ที่เอามาเป็นตัวเสริมคอยตรวจสอบว่าอุปกรณ์ของผู้ใช้ว่ารองรับเทคโนโลยีไหนบ้าง และจัดการเลือกตัวแสดงผลได้ตรงตามกับที่ผู้ใช้นั้นๆ

* อ่านรายละเอียดเกี่ยวกับ WebM เพิ่มเติม ได้จากส่วนหนึ่งของบทความรู้จักกับ HTML5 - ภาคสอง Web Video ในเว็บไซต์ blognone
** รายละเอียดเปรียบเทียบเบราว์เซอร์ที่รองรับไฟล์จากฟอร์แมต mp3, wav และ ogg เว็บไซต์ w3schools