ภาพรวม
Widevine DRM คือระบบการคุ้มครองเนื้อหาของ Google สําหรับสื่อระดับพรีเมียม พาร์ทเนอร์ชั้นนําทั่วโลก เช่น Google Play, YouTube, Netflix, Disney+, Amazon Prime Video, HBO Max, Hulu, Peacock, Discovery+, Paramount+ และอีกมากมาย จุดมุ่งเน้นของ Widevine คือการมอบประสบการณ์ที่ดีที่สุดในการดูเนื้อหาพรีเมียมมากกว่าการจัดจําหน่ายแบบดิจิทัล
Widevine DRM ใช้มาตรฐานต่อไปนี้
- ส่วนขยายสื่อที่เข้ารหัส - ข้อกําหนด W3C
- การเข้ารหัสทั่วไป
- ISO/IEC 23001-7 - การเข้ารหัสทั่วไปในไฟล์รูปแบบไฟล์ฐาน ISO
- ISO/IEC 23001-9 - การเข้ารหัสทั่วไปของสตรีมการส่งแบบ MPEG-2
แพลตฟอร์มที่รองรับ
ไคลเอ็นต์ Widevine จะฝังอยู่ในแพลตฟอร์มอุปกรณ์ตั้งแต่แรก เว้นแต่จะระบุไว้เป็นอย่างอื่น
อุปกรณ์หรือแพลตฟอร์ม | รองรับไหม |
Android (อุปกรณ์เคลื่อนที่ ทีวี ยานยนต์) | ได้ |
โอเพนซอร์ส Android (AOSP) | ได้ |
Apple iOS | ใช่ [1] |
Apple TV (tvOS) | - |
Chromecast (แคสต์) | ได้ |
อุปกรณ์ Google Home และ Nest | ได้ |
ChromeOS (Chromebook) | ได้ |
เบราว์เซอร์ Chrome (Windows, Mac OS X, Linux) | ได้ |
เบราว์เซอร์ Chromium | ได้ |
เฟรมเวิร์กการฝังภายใน Chromium (CEF) / อิเล็กตรอน | ได้ |
เบราว์เซอร์ Firefox | ได้ |
เบราว์เซอร์ Edge | ได้ |
Opera (เบราว์เซอร์และอุปกรณ์แบบฝัง) | ได้ |
เบราว์เซอร์ Safari (เดสก์ท็อป) | - |
อุปกรณ์ Roku | ได้ |
อุปกรณ์ Amazon Echo | ได้ |
อุปกรณ์ Amazon Fire OS | ได้ |
อุปกรณ์ Amazon Fire TV | ได้ |
อุปกรณ์พอร์ทัล Facebook | ได้ |
Nintendo Switch | - |
Sony PlayStation | ได้ |
Microsoft Xbox | - |
สมาร์ททีวีและเครื่องเล่นบลูเรย์ (Tizen, WebOS) | ได้ |
รูปแบบการเข้ารหัสที่รองรับ
ตารางด้านล่างจับคู่การแมปรูปแบบการเข้ารหัสในแพลตฟอร์ม Widevine แบบผสานรวม
แพลตฟอร์ม | CEC | cens | CBC | cbcs |
Android 4.4 - 6.x (รวมถึง Android TV) | ใช่ | - | - | - |
Android 7.x ขึ้นไป (รวมถึง Android TV) | ใช่ | - | - | ใช่ |
Chromecast (แคสต์) | ใช่ | - | ใช่ | ใช่ |
Google Home | ใช่ | - | - | - |
สมาร์ททีวีและเครื่องเล่นบลูเรย์ | ใช่ | - | - | ใช่ |
Widevine iOS | ใช่ | - | - | ใช่ |
เบราว์เซอร์ Chrome (เดสก์ท็อป) และ Chrome OS | ใช่ | - | - | ใช่ |
เบราว์เซอร์ Chrome (อุปกรณ์เคลื่อนที่) | ใช่ | - | - | ใช่ |
Mozilla Firefox | ใช่ | - | - | ใช่ |
โอเปร่า | ใช่ | - | - | ใช่ |
SDK ของ NexPlayer | ใช่ | - | - | ใช่ |
ระบบนิเวศ
แผนภาพด้านบนแสดงคอมโพเนนต์ Widevine ที่มีอยู่ภายในระบบนิเวศ DRM
คอมโพเนนต์การจัดสรร คีย์บ็อกซ์ และ OEMCrypto เป็นข้อมูลเฉพาะสําหรับกระบวนการผสานรวมอุปกรณ์ หากสนใจผสานรวม Widevine ไว้ในอุปกรณ์ โปรดติดต่อเรา
กลไกพร็อกซีที่พาร์ทเนอร์เป็นผู้ดําเนินการของพาร์ทเนอร์ (ผ่าน HTTPS) จะได้รับคําขอใบอนุญาตจากอุปกรณ์ไคลเอ็นต์ต้นทาง กลไกพร็อกซีนี้จะตรวจสอบคําขอและผนวกกฎทางธุรกิจก่อนส่งเพย์โหลดเพื่อดําเนินการตามบริการใบอนุญาต Widevine
อุปกรณ์ไคลเอ็นต์ Widevine จะไม่สื่อสารกับบริการใบอนุญาต Widevine โดยตรงไม่ว่าในกรณีใดๆ
การออกใบอนุญาต Widevine
Widevine มี 2 วิธีในการออกใบอนุญาตให้แก่ลูกค้า ดังนี้
- บริการใบอนุญาต Cloud
- บริการที่เข้าถึงได้ทั่วโลก ไม่มีค่าธรรมเนียมการเข้าถึงหรือธุรกรรม
- โดยให้สิทธิ์เข้าถึงต่อข้อมูลเข้าสู่ระบบขององค์กรแก่ผู้รับอนุญาต Widevine
- SDK ของเซิร์ฟเวอร์ใบอนุญาต
- ออกแบบมาเพื่อการให้บริการโฮสติ้งของคุณเอง
การใช้บริการใบอนุญาต Widevine Cloud
บริการใบอนุญาตระบบคลาวด์มี 2 สภาพแวดล้อม ได้แก่ การทดสอบและเวอร์ชันที่ใช้งานจริง โดยให้สิทธิ์เข้าถึงข้อมูลเข้าสู่ระบบต่อองค์กรที่ไม่ซ้ํากันแก่ผู้รับอนุญาต Widevine
บริการใบอนุญาตระบบคลาวด์มีปลายทาง 2 แห่ง ได้แก่
- กําลังดึงคีย์เนื้อหาเพื่อเข้ารหัสเนื้อหา
- คีย์เนื้อหาที่ขอในลักษณะนี้ได้รับการจัดเก็บโดยบริการใบอนุญาต Widevine Cloud
- การออกใบอนุญาต
- ดําเนินการตามคําขอใบอนุญาตที่สร้างโดยอุปกรณ์ไคลเอ็นต์ Widevine
คําขอใบอนุญาตทั้งหมดจากอุปกรณ์ไคลเอ็นต์ต้องประมวลผลโดยกลไกพร็อกซีใบอนุญาต
- Widevine มี Proxy SDK เพื่อสื่อสารกับบริการใบอนุญาต Cloud
- พร็อกซีใบอนุญาตจะตรวจสอบและยืนยันคําขอของไคลเอ็นต์ที่เข้ามาใหม่ และกําหนดกฎของธุรกิจที่จะใช้
- กฎทางธุรกิจจะต่อท้ายคําขอใบอนุญาตต้นทางจากอุปกรณ์ และส่งไปยังบริการใบอนุญาตเพื่อดําเนินการให้เสร็จสมบูรณ์
- เมื่อสร้างใบอนุญาตแล้ว คุณจะแก้ไขเนื้อหาของใบอนุญาตไม่ได้อีกต่อไปและจะปรับเปลี่ยนในแบบของคุณในอุปกรณ์ที่ขอ
แพ็กเกจ Shaka
Shaka Packager (ก่อนหน้านี้เรียกว่า eDASH-Packager) จาก Widevine เป็นการใช้งานอ้างอิงแบบโอเพนซอร์สเกี่ยวกับวิธีสร้างรูปแบบ MP4 ที่เข้ากันได้กับ DASH วิธีเข้ารหัสโดยใช้ Widevine PSSH และสร้างไฟล์ Manifest DASH โปรดไปที่หน้า github เพื่อรายงานข้อบกพร่องและคําขอฟีเจอร์
ผู้เล่น - Android
โปรเจ็กต์ ExoPlayer แบบโอเพนซอร์สที่ดูแลโดย Google เป็นไลบรารีโปรแกรมเล่นอ้างอิงที่แนะนําซึ่งสาธิตการเล่นสื่อ Widevine CENC การสร้าง ExoPlayer โดยค่าเริ่มต้นจะสร้างแอปเดโมที่มีรายการ CENC ที่รู้จักกันดีจากทีม Widevine
โปรแกรมเล่น - เบราว์เซอร์
โปรเจ็กต์โอเพนซอร์สของโปรแกรมเล่น Shak เป็นโครงการริเริ่มของ Widevine เพื่อมอบเฟรมเวิร์กไลบรารี JavaScript แบบข้ามเบราว์เซอร์ที่ครอบคลุมเพื่อรองรับการเล่น CENC HTML5 โดยใช้ CDM (แนะนําให้ใช้ Widevine) นอกจาก github แล้ว ยังมีกลุ่มสนทนาของผู้ใช้ Shaka ที่พร้อมให้บริการและตรวจสอบโดยทีมนักพัฒนาแอป Shaka Player จาก Widevine
ผู้เล่น Shaka นําเสนอสิ่งต่อไปนี้
- เฟรมเวิร์กโปรแกรมเล่นโอเพนซอร์สที่มีฟีเจอร์เต็มรูปแบบ
- UI ที่กําหนดค่าได้และปรับแต่งได้
- รองรับการใช้งานข้ามแพลตฟอร์มและข้ามเบราว์เซอร์
- รองรับ HTML5, MSE, EME และ DASH
- ตัวเลือก DRM หลายรายการ