MPEG-DASH ฉบับเข้าใจง่าย: คู่มือการสตรีมแบบปรับตัวอัตโนมัติ
MPEG-DASH ทำงานอย่างไร: MPD manifest, Representation, segment, การเชื่อม DRM และตำแหน่งของ DASH เทียบกับ HLS ในปี 2025

On this page
รู้จักกับ MPEG-DASH
MPEG-DASH หรือ Dynamic Adaptive Streaming over HTTP (DASH) คือมาตรฐานสำหรับการสตรีมวิดีโอผ่านอินเทอร์เน็ต พัฒนาโดย Moving Picture Experts Group (MPEG) และเผยแพร่ในชื่อ ISO/IEC 23009-1 MPEG-DASH ช่วยให้สตรีมวิดีโอคุณภาพสูงแบบปรับตัวอัตโนมัติผ่าน HTTP ได้ ทำให้ส่งมอบวิดีโอได้อย่างมีประสิทธิภาพและยืดหยุ่นตามสภาพเครือข่ายและอุปกรณ์ที่หลากหลาย มาตรฐานนี้เสร็จสมบูรณ์ในปี 2011 และนับแต่นั้นก็กลายเป็นหนึ่งในโปรโตคอลสตรีมมิ่งชั้นนำ เคียงข้างกับ HLS (HTTP Live Streaming) และ RTMP (Real-Time Messaging Protocol)
จุดประสงค์และประโยชน์หลัก
MPEG-DASH ถูกออกแบบมาเพื่อแก้ข้อจำกัดของโปรโตคอลสตรีมมิ่งรุ่นก่อน ด้วยกลไกการส่งมอบที่ยืดหยุ่นและปรับตัวได้มากกว่า ประโยชน์หลักของ MPEG-DASH ได้แก่:
- Adaptive Bitrate Streaming (ABR): MPEG-DASH ให้ไคลเอนต์ปรับคุณภาพวิดีโอแบบไดนามิกตามสภาพเครือข่าย เพื่อรับประกันประสบการณ์การรับชมที่ลื่นไหล
- การส่งผ่าน HTTP: ด้วยการใช้ HTTP MPEG-DASH จึงใช้ประโยชน์จากการแพร่หลายและโครงสร้างพื้นฐานของเว็บได้เต็มที่ ผสานเข้ากับเทคโนโลยีเว็บเดิมได้ง่าย
- ความสามารถในการขยายตัว (Scalability): MPEG-DASH รองรับผู้ชมพร้อมกันจำนวนมากได้โดยไม่ต้องปรับโครงสร้างพื้นฐานเดิมมากนัก
- ความเข้ากันได้กับอุปกรณ์: MPEG-DASH รองรับอุปกรณ์หลากหลาย ตั้งแต่สมาร์ตโฟน แท็บเล็ต ไปจนถึงคอมพิวเตอร์ตั้งโต๊ะและสมาร์ตทีวี
MPEG-DASH ทำงานอย่างไร
ภาพรวมของกระบวนการสตรีม
กระบวนการสตรีมของ MPEG-DASH ประกอบด้วยองค์ประกอบสำคัญหลายส่วน:
1. การเตรียมเนื้อหา (Content Preparation): เนื้อหาวิดีโอถูกเข้ารหัส (encode) เป็นหลายระดับคุณภาพและแบ่งออกเป็นชิ้นย่อย (segment) เล็กๆ
2. การสร้าง Manifest: ไฟล์ Media Presentation Description (MPD) ถูกสร้างขึ้น โดยบรรจุข้อมูลเมตาเกี่ยวกับ segment ของวิดีโอและลำดับการเล่น
3. HTTP Server: ไฟล์วิดีโอที่แบ่ง segment แล้วและไฟล์ MPD ถูกโฮสต์ไว้บน HTTP server
4. การร้องขอจากไคลเอนต์: ไคลเอนต์ (เช่น เว็บเบราว์เซอร์หรือแอปมือถือ) ร้องขอไฟล์ MPD แล้วเริ่มดาวน์โหลด segment ของวิดีโอ
5. การสตรีมแบบปรับตัว: ไคลเอนต์เลือก segment ที่เหมาะสมจากระดับคุณภาพที่มีอยู่ตามสภาพเครือข่าย
สถาปัตยกรรมไคลเอนต์-เซิร์ฟเวอร์
สถาปัตยกรรมไคลเอนต์-เซิร์ฟเวอร์ใน MPEG-DASH ออกแบบมาให้ยืดหยุ่นและขยายตัวได้ ฝั่งเซิร์ฟเวอร์ประกอบด้วย:
- Encoding Servers: เซิร์ฟเวอร์ที่เข้ารหัสเนื้อหาวิดีโอเป็นหลายระดับคุณภาพและแบ่งออกเป็นชิ้นย่อย
- HTTP Servers: เซิร์ฟเวอร์ที่โฮสต์ไฟล์วิดีโอที่แบ่ง segment แล้วและไฟล์ MPD
- CDN (Content Delivery Network): ใช้ CDN กระจายเนื้อหาวิดีโอไปยังผู้ชม เพื่อรับประกันความหน่วงต่ำและความพร้อมใช้งานสูง
ส่วนฝั่งไคลเอนต์ สถาปัตยกรรมประกอบด้วย:
- Player: เพลเยอร์ทำหน้าที่แจง (parse) ไฟล์ MPD และดาวน์โหลด segment ของวิดีโอ
- Adaptive Algorithm: อัลกอริทึมปรับตัวเลือกระดับคุณภาพที่เหมาะสมตามสภาพเครือข่าย
- Playback Engine: เอนจินการเล่นถอดรหัส (decode) และแสดงผลเนื้อหาวิดีโอ
โครงสร้างของ MPD Manifest
ไฟล์ Media Presentation Description (MPD) เป็นองค์ประกอบสำคัญของ MPEG-DASH ที่บรรจุข้อมูลเมตาเกี่ยวกับ segment ของวิดีโอและลำดับการเล่น ไฟล์ MPD มีโครงสร้างเป็นเอกสาร XML และประกอบด้วยองค์ประกอบสำคัญหลายอย่าง:
องค์ประกอบหลักและหน้าที่
- `` Element: อิลิเมนต์รากของไฟล์ MPD บรรจุเมตาดาต้าอย่างเวอร์ชัน MPD, ระยะเวลาการนำเสนอสื่อ และข้อมูล period
- `` Element: แทนช่วงเวลาต่อเนื่องที่เนื้อหาถูกอธิบายด้วยชุด Representation เดียวกัน
- `` Element: บรรจุชุดของ Representation ที่ใช้เนื้อหาเดียวกันร่วมกัน
- `` Element: อธิบายระดับคุณภาพหนึ่งของเนื้อหาวิดีโอ รวมถึงข้อมูลอย่าง bitrate, ความละเอียด และ codec
- `` Element: บรรจุข้อมูลเทมเพลตของ segment วิดีโอ ได้แก่ base URL, initialization segment และระยะเวลาของ segment
ตัวอย่างโค้ด MPD Manifest
ด้านล่างคือตัวอย่างโค้ดของ MPD manifest:
```xml
```
Adaptive Bitrate Streaming (ABR)
Adaptive Bitrate Streaming (ABR) เป็นคุณสมบัติแกนหลักของ MPEG-DASH ที่ให้ไคลเอนต์ปรับคุณภาพวิดีโอแบบไดนามิกตามสภาพเครือข่าย ABR ทำงานด้วยการเตรียมเนื้อหาวิดีโอเดียวกันไว้หลายระดับคุณภาพ เพื่อให้ไคลเอนต์สลับระหว่างระดับต่างๆ ได้ตามต้องการ
ทำความเข้าใจ ABR
ใน ABR เนื้อหาวิดีโอถูกเข้ารหัสเป็นหลายระดับคุณภาพ แต่ละระดับมี bitrate และความละเอียดต่างกัน ไคลเอนต์ดาวน์โหลดและเล่น segment จากระดับคุณภาพที่มีอยู่ โดยสลับระหว่างระดับตามความจำเป็น ตัวอย่างเช่น หากสภาพเครือข่ายดีขึ้น ไคลเอนต์สามารถสลับไปยังระดับคุณภาพที่สูงขึ้น และหากเครือข่ายแย่ลง ก็สลับไปยังระดับที่ต่ำลงได้
ABR ยกระดับประสบการณ์ผู้ใช้อย่างไร
ABR ช่วยยกระดับประสบการณ์ผู้ใช้อย่างมาก ด้วยการรับประกันการเล่นที่ลื่นไหลและการส่งมอบวิดีโอคุณภาพสูง แม้ภายใต้สภาพเครือข่ายที่ผันผวน ด้วยการปรับคุณภาพวิดีโอแบบไดนามิก ABR ลดการบัฟเฟอร์และมอบประสบการณ์การรับชมที่ไร้สะดุดให้ผู้ใช้
เปรียบเทียบกับ HLS (HTTP Live Streaming)
HLS (HTTP Live Streaming) เป็นอีกโปรโตคอลสตรีมมิ่งแบบปรับตัวที่ใช้กันแพร่หลาย พัฒนาโดย Apple แม้ทั้ง MPEG-DASH และ HLS จะให้การสตรีมแบบปรับตัว แต่ก็มีความต่างในหลายด้าน
ความเหมือนและความต่าง
ความเหมือน:
- ทั้ง MPEG-DASH และ HLS รองรับ adaptive bitrate streaming ให้ไคลเอนต์สลับระหว่างระดับคุณภาพตามสภาพเครือข่ายได้
- ทั้งคู่ใช้ HTTP ในการส่งมอบ อาศัยโครงสร้างพื้นฐานของเว็บเพื่อการกระจายเนื้อหาอย่างมีประสิทธิภาพ
ความต่าง:
- โครงสร้าง Manifest: HLS ใช้ไฟล์ manifest แบบข้อความเรียบง่าย (`.m3u8`) ในขณะที่ MPEG-DASH ใช้ MPD manifest แบบ XML ที่ซับซ้อนกว่า
- การรองรับไคลเอนต์: HLS รองรับหลักๆ บนอุปกรณ์ Apple ส่วน MPEG-DASH รองรับอุปกรณ์และแพลตฟอร์มที่หลากหลายกว่า
- การแบ่ง Segment: HLS มักใช้ segment ความยาวคงที่ ในขณะที่ MPEG-DASH ใช้ segment ความยาวแปรผัน ซึ่งอาจมีประสิทธิภาพกว่าสำหรับการสตรีมแบบปรับตัว
ข้อดีและข้อเสีย
MPEG-DASH:- ข้อดี: ยืดหยุ่นกว่า มีคุณสมบัติขั้นสูงกว่า รองรับอุปกรณ์หลากหลาย
- ข้อเสีย: โครงสร้าง manifest ซับซ้อนกว่า การนำไปใช้มีความซับซ้อนสูงกว่า
- ข้อดี: นำไปใช้ง่ายกว่า รองรับอุปกรณ์ Apple ได้ดีกว่า
- ข้อเสีย: ยืดหยุ่นน้อยกว่า ความยาว segment คงที่
การนำ MPEG-DASH ไปใช้งาน
การนำ MPEG-DASH ไปใช้มีหลายขั้นตอน ทั้งการเข้ารหัสเนื้อหาวิดีโอ การสร้าง MPD manifest และการตั้งค่า HTTP server
ขั้นตอนการตั้งค่าการสตรีม MPEG-DASH
1. การเตรียมเนื้อหา:
- เข้ารหัสเนื้อหาวิดีโอเป็นหลายระดับคุณภาพด้วยเครื่องมืออย่าง FFmpeg
- แบ่งวิดีโอออกเป็นชิ้นย่อยเล็กๆ
2. การสร้าง Manifest:
- สร้างไฟล์ MPD manifest ด้วยเครื่องมืออย่าง MP4Box หรือเขียนสคริปต์เอง
3. การโฮสต์ Segment:
- โฮสต์ไฟล์วิดีโอที่แบ่ง segment แล้วและไฟล์ MPD ไว้บน HTTP server
4. การผสาน Player:
- ผสานเพลเยอร์ที่รองรับ MPEG-DASH เช่น Shaka Player หรือ DASH.js
เครื่องมือและซอฟต์แวร์ที่ต้องใช้
- FFmpeg: เฟรมเวิร์กมัลติมีเดียทรงพลังที่ใช้เข้ารหัสและแบ่ง segment เนื้อหาวิดีโอได้
- MP4Box: เครื่องมือสร้าง MPD manifest และจัดการไฟล์ MP4
- Shaka Player: เพลเยอร์ JavaScript โอเพนซอร์สที่รองรับ MPEG-DASH และโปรโตคอลสตรีมมิ่งอื่นๆ
- DASH.js: ไลบรารี JavaScript สำหรับเล่นสตรีม MPEG-DASH ในเว็บเบราว์เซอร์
- HTTP Server: เว็บเซิร์ฟเวอร์อย่าง Apache หรือ Nginx เพื่อโฮสต์ segment วิดีโอและ MPD manifest
การปรับแต่งประสิทธิภาพ MPEG-DASH
การปรับแต่งประสิทธิภาพการสตรีม MPEG-DASH ต้องอาศัยแนวปฏิบัติที่ดีและข้อพิจารณาหลายอย่างในการส่งมอบและการเล่น
แนวปฏิบัติที่ดีในการส่งมอบและการเล่น
- การใช้ CDN: ใช้ CDN กระจายเนื้อหาวิดีโอและลดความหน่วง
- ขนาด Segment: ปรับขนาด segment ให้สมดุลระหว่างเวลาเริ่มเล่นกับเวลาบัฟเฟอร์
- การบัฟเฟอร์: จัดให้มีบัฟเฟอร์เพียงพอเพื่อรับมือกับความผันผวนของเครือข่าย
- Adaptive Algorithm: ใช้อัลกอริทึมปรับตัวที่ประเมินสภาพเครือข่ายได้แม่นยำและสลับระดับคุณภาพได้อย่างมีประสิทธิภาพ
ปัญหาที่พบบ่อยและเคล็ดลับแก้ไข
- ปัญหาการบัฟเฟอร์: ตรวจสอบให้เซิร์ฟเวอร์มีแบนด์วิดท์เพียงพอ และตั้งค่า CDN อย่างถูกต้อง
- คุณภาพการเล่น: ยืนยันว่าไคลเอนต์ดาวน์โหลดและเล่นระดับคุณภาพที่เหมาะสม
- ข้อผิดพลาดของ Manifest: ตรวจสอบ MPD manifest หาข้อผิดพลาดทางไวยากรณ์ และให้แน่ใจว่าอ้างอิง segment วิดีโอถูกต้อง
ข้อพิจารณาด้านความปลอดภัย
ความปลอดภัยเป็นแง่มุมสำคัญของการสตรีมวิดีโอ โดยเฉพาะเมื่อจัดการกับเนื้อหาที่มีความอ่อนไหว MPEG-DASH รองรับมาตรการความปลอดภัยหลายอย่างเพื่อปกป้องเนื้อหาวิดีโอจากการละเมิดลิขสิทธิ์และการเข้าถึงโดยไม่ได้รับอนุญาต
การผสาน DRM (Digital Rights Management)
DRM สามารถผสานเข้ากับ MPEG-DASH เพื่อปกป้องเนื้อหาวิดีโอ ระบบ DRM ที่ใช้บ่อยได้แก่ Widevine, FairPlay และ PlayReady ระบบเหล่านี้เข้ารหัสเนื้อหาวิดีโอและกำหนดให้ไคลเอนต์ต้องมีใบอนุญาต (license) ที่ถูกต้องเพื่อถอดรหัสและเล่นวิดีโอ
การปกป้องเนื้อหาจากการละเมิดลิขสิทธิ์
- การเข้ารหัส: เข้ารหัสเนื้อหาวิดีโอด้วยระบบ DRM
- การใส่ลายน้ำเนื้อหา (Watermarking): เพิ่มลายน้ำเฉพาะตัวลงในเนื้อหาวิดีโอเพื่อติดตามการเผยแพร่ที่ไม่ได้รับอนุญาต
- การส่งมอบที่ปลอดภัย: ใช้ HTTPS และ CDN เพื่อส่งมอบเนื้อหาวิดีโออย่างปลอดภัย
อนาคตของ MPEG-DASH
อนาคตของ MPEG-DASH ดูสดใส ด้วยแนวโน้มและความก้าวหน้าใหม่ๆ ที่กำลังจะมาถึง
เทรนด์และความก้าวหน้าที่กำลังเกิดขึ้น
- 5G และ Edge Computing: เมื่อเครือข่าย 5G แพร่หลายขึ้น MPEG-DASH สามารถใช้ประโยชน์จากการเชื่อมต่อความหน่วงต่ำและแบนด์วิดท์สูงเพื่อส่งมอบวิดีโอคุณภาพสูงระดับ ultra-high ได้
- รูปแบบวิดีโอขั้นสูง: การรองรับ codec ใหม่อย่าง AV1 และ HEVC ช่วยเพิ่มประสิทธิภาพและคุณภาพของการสตรีม MPEG-DASH
- ความสามารถในการทำงานร่วมกัน (Interoperability): การทำงานร่วมกับโปรโตคอลและมาตรฐานสตรีมมิ่งอื่นๆ ที่มากขึ้นจะขยายการเข้าถึงและการนำ MPEG-DASH ไปใช้
ศักยภาพในการผสานกับเทคโนโลยีอื่น
- WebRTC: การผสานกับ WebRTC ช่วยให้เกิดการสื่อสารและการทำงานร่วมกันแบบเรียลไทม์ในการสตรีมวิดีโอ
- AI และ Machine Learning: AI ใช้ปรับอัลกอริทึมการสตรีมแบบปรับตัวและยกระดับประสบการณ์ผู้ใช้โดยรวมได้
- IoT และ Smart Devices: MPEG-DASH ผสานกับอุปกรณ์ IoT เพื่อส่งมอบเนื้อหาวิดีโอไปยังอุปกรณ์เชื่อมต่อที่หลากหลายได้
คำถามที่พบบ่อย
MPEG-DASH คืออะไร?
MPEG-DASH หรือ Dynamic Adaptive Streaming over HTTP คือมาตรฐานสำหรับการสตรีมวิดีโอที่รองรับ adaptive bitrate streaming ผ่าน HTTP พัฒนาโดย Moving Picture Experts Group (MPEG) และให้กลไกการส่งมอบเนื้อหาวิดีโอที่ยืดหยุ่นและขยายตัวได้
MPEG-DASH ต่างจาก HLS อย่างไร?
ทั้ง MPEG-DASH และ HLS รองรับ adaptive bitrate streaming แต่ต่างกันในหลายด้าน HLS ใช้ไฟล์ manifest แบบข้อความเรียบง่าย (`.m3u8`) และรองรับหลักๆ บนอุปกรณ์ Apple ในขณะที่ MPEG-DASH ใช้ MPD manifest แบบ XML ที่ซับซ้อนกว่าและรองรับอุปกรณ์และแพลตฟอร์มที่หลากหลายกว่า
MPEG-DASH เข้ากันได้กับทุกอุปกรณ์หรือไม่?
MPEG-DASH เข้ากันได้กับอุปกรณ์หลากหลาย ทั้งสมาร์ตโฟน แท็บเล็ต คอมพิวเตอร์ตั้งโต๊ะ และสมาร์ตทีวี อย่างไรก็ตาม การรองรับเฉพาะเจาะจงอาจต่างกันไปตามการนำเพลเยอร์ไปใช้และความสามารถของอุปกรณ์
ใช้ MPEG-DASH สำหรับการถ่ายทอดสด (live streaming) ได้ไหม?
ได้ MPEG-DASH ใช้สำหรับการถ่ายทอดสดได้ การถ่ายทอดสดด้วย MPEG-DASH เกี่ยวข้องกับการสร้างและส่งมอบ segment วิดีโออย่างต่อเนื่อง ให้ไคลเอนต์ปรับตัวตามสภาพเครือข่ายที่เปลี่ยนแปลงได้แบบเรียลไทม์
ความท้าทายหลักในการนำ MPEG-DASH ไปใช้คืออะไร?
ความท้าทายหลักได้แก่ การเตรียมเนื้อหา การสร้าง manifest โครงสร้างพื้นฐานฝั่งเซิร์ฟเวอร์ และการผสานเพลเยอร์ การรับประกันการส่งมอบและการเล่นที่มั่นคงต้องพิจารณาสภาพเครือข่ายและประสบการณ์ผู้ใช้อย่างรอบคอบ
MPEG-DASH รองรับการเข้ารหัสและ DRM หรือไม่?
รองรับ MPEG-DASH รองรับการเข้ารหัสและ DRM (Digital Rights Management) เพื่อปกป้องเนื้อหาวิดีโอจากการละเมิดลิขสิทธิ์และการเข้าถึงโดยไม่ได้รับอนุญาต ระบบ DRM ที่ใช้บ่อยได้แก่ Widevine, FairPlay และ PlayReady
MPEG-DASH รับมือกับสภาพเครือข่ายที่ต่างกันอย่างไร?
MPEG-DASH รับมือกับสภาพเครือข่ายที่ต่างกันด้วยการเตรียมเนื้อหาวิดีโอเดียวกันไว้หลายระดับคุณภาพ ไคลเอนต์สลับระหว่างระดับเหล่านี้แบบไดนามิกตามสภาพเครือข่าย เพื่อรับประกันการเล่นที่ลื่นไหลและการส่งมอบวิดีโอคุณภาพสูง
บทสรุป
MPEG-DASH เป็นมาตรฐานการสตรีมวิดีโอที่ทรงพลังและยืดหยุ่น มอบทั้ง adaptive bitrate streaming การส่งผ่าน HTTP และการรองรับอุปกรณ์ที่หลากหลาย ด้วยการเข้าใจรายละเอียดทางเทคนิคของ MPEG-DASH และนำแนวปฏิบัติที่ดีไปใช้ นักพัฒนาและผู้มีอำนาจตัดสินใจทางเทคนิคสามารถส่งมอบเนื้อหาวิดีโอคุณภาพสูงได้อย่างมีประสิทธิภาพและปลอดภัย
อ่านเพิ่มเติม
คำถามที่พบบ่อย
MPEG-DASH คืออะไร?
MPEG-DASH (Dynamic Adaptive Streaming over HTTP, ISO/IEC 23009-1) คือมาตรฐานเปิดที่ส่งมอบวิดีโอเป็น segment เล็กๆ ผ่าน HTTP และให้เพลเยอร์สลับระดับคุณภาพตามสภาพเครือข่ายได้
MPEG-DASH กับ HLS ต่างกันอย่างไร?
ทั้งคู่เป็นรูปแบบการสตรีมแบบปรับตัวผ่าน HTTP DASH เป็นมาตรฐานเปิด ISO ที่ไม่ผูกกับ codec ใดโดยเฉพาะ ส่วน HLS เป็นรูปแบบของ Apple และจำเป็นสำหรับการเล่นแบบเนทีฟบน iOS หลายแพลตฟอร์มแพ็กเกจทั้งสองรูปแบบ โดยหันมาใช้ CMAF เพื่อแชร์ segment ร่วมกันมากขึ้น
MPEG-DASH รองรับ DRM หรือไม่?
รองรับ DASH รองรับ Common Encryption (CENC) ที่ทำงานร่วมกับระบบ DRM อย่าง Widevine, PlayReady และ FairPlay ทำให้ไฟล์เข้ารหัสชุดเดียวได้รับการปกป้องข้ามอุปกรณ์
MPD manifest คืออะไร?
Media Presentation Description (MPD) คือไฟล์ XML ที่ระบุระดับคุณภาพที่มีอยู่ URL ของ segment และจังหวะเวลา เพื่อให้เพลเยอร์รู้ว่าต้องร้องขออะไรและเมื่อไร
dcast Team
Professional video streaming experts helping creators succeed.
บทความที่เกี่ยวข้อง
เริ่มต้นธุรกิจวิดีโอของคุณวันนี้
เข้าร่วมกับครีเอเตอร์นับพันที่สร้างรายได้จากคอนเทนต์ด้วย DCAST
เริ่มต้นใช้งานฟรี


