ภาพรวม

Widevine DRM เป็นระบบป้องกันเนื้อหาของ Google สำหรับสื่อพรีเมียม โดยพาร์ทเนอร์รายใหญ่ทั่วโลก เช่น Google Play, YouTube, Netflix, Disney+, Amazon Prime Video, HBO Max, Hulu, Peacock, Discovery+, Paramount+ และอื่นๆ อีกมากมาย ต่างก็ใช้เทคโนโลยีนี้ เป้าหมายของ Widevine คือมอบประสบการณ์การรับชมเนื้อหาพรีเมียมที่ดีที่สุดผ่านการเผยแพร่แบบดิจิทัล

Widevine DRM ใช้มาตรฐานต่อไปนี้

  • Encrypted Media Extensions - ข้อกำหนดของ W3C
  • การเข้ารหัสทั่วไป
    • ISO/IEC 23001-7 - การเข้ารหัสทั่วไปในไฟล์รูปแบบไฟล์สื่อพื้นฐาน ISO
    • ISO/IEC 23001-9 - การเข้ารหัสทั่วไปของสตรีมการนำส่ง MPEG-2

แพลตฟอร์มที่รองรับ

ไคลเอ็นต์ Widevine จะฝังอยู่ในแพลตฟอร์มอุปกรณ์โดยค่าเริ่มต้น เว้นแต่จะระบุไว้เป็นอย่างอื่น

อุปกรณ์หรือแพลตฟอร์ม รองรับไหม
Android (อุปกรณ์เคลื่อนที่, TV, ยานยนต์) ใช่
Android Open Source (AOSP) ใช่
Apple iOS ได้ [1]
Apple TV (tvOS) -
Chromecast (แคสต์) ใช่
อุปกรณ์ Google Home และ Nest ใช่
ChromeOS (Chromebook) ใช่
เบราว์เซอร์ Chrome (Windows, Mac OS X, Linux) ใช่
เบราว์เซอร์ Chromium ใช่
Chromium Embedded Framework (CEF) / Electron ใช่
เบราว์เซอร์ Firefox ใช่
เบราว์เซอร์ Edge ใช่
Opera (เบราว์เซอร์และอุปกรณ์แบบฝัง) ใช่
เบราว์เซอร์ Safari (เดสก์ท็อป) -
อุปกรณ์ Roku ใช่
อุปกรณ์ Amazon Echo ใช่
อุปกรณ์ที่ใช้ระบบปฏิบัติการ Fire OS ของ Amazon ใช่
อุปกรณ์ Amazon Fire TV ใช่
อุปกรณ์ Facebook Portal ใช่
Nintendo Switch -
Sony Playstation ใช่
Microsoft Xbox -
สมาร์ททีวีและเครื่องเล่นบลูเรย์ (Tizen, WebOS) ใช่

การวาดภาพ

รูปแบบการเข้ารหัสที่รองรับ

ตารางด้านล่างแสดงการแมปรูปแบบการเข้ารหัสในแพลตฟอร์มที่ผสานรวม Widevine

แพลตฟอร์ม cenc cens cbc1 ลูกบาศก์
Android 4.4 - 6.x (รวมถึง Android TV) Y - - -
Android 7.x ขึ้นไป (รวมถึง Android TV) Y - - Y
Chromecast (Cast) Y - Y Y
Google Home Y - - -
สมาร์ททีวีและเครื่องเล่นบลูเรย์ Y - - Y
Widevine iOS Y - - Y
เบราว์เซอร์ Chrome (เดสก์ท็อป) และ ChromeOS Y - - Y
เบราว์เซอร์ Chrome (อุปกรณ์เคลื่อนที่) Y - - Y
Mozilla Firefox Y - - Y
โอเปร่า Y - - Y
NexPlayer SDK Y - - Y

ระบบนิเวศ

การวาดภาพ

แผนภาพด้านบนแสดงองค์ประกอบ Widevine ที่มีให้ใช้งานภายในระบบนิเวศ DRM

คอมโพเนนต์การจัดสรร คีย์บ็อกซ์ และ OEMCrypto มีไว้สำหรับกระบวนการผสานรวมอุปกรณ์โดยเฉพาะ หากสนใจผสานรวม Widevine ไว้ในอุปกรณ์ โปรดติดต่อเรา

กลไกพร็อกซีที่พาร์ทเนอร์ให้บริการ (ผ่าน HTTPS) จะได้รับคำขอใบอนุญาตจากอุปกรณ์ไคลเอ็นต์ต้นทาง กลไกพร็อกซีนี้จะตรวจสอบคําขอและเพิ่มกฎทางธุรกิจต่อท้ายก่อนที่จะส่งเพย์โหลดให้ Widevine License Service ดำเนินการ

อุปกรณ์ไคลเอ็นต์ Widevine จะไม่สื่อสารกับบริการใบอนุญาต Widevine โดยตรงไม่ว่าในกรณีใดก็ตาม

การออกใบอนุญาต Widevine

Widevine มีวิธีออกใบอนุญาตให้กับลูกค้า 2 วิธี ได้แก่

  • บริการใบอนุญาตระบบคลาวด์
    • บริการที่เข้าถึงได้ทั่วโลกโดยไม่มีค่าใช้จ่ายในการเข้าถึงหรือการทำธุรกรรม
    • ให้สิทธิ์เข้าถึงแก่ผู้รับอนุญาตของ Widevine โดยใช้ข้อมูลเข้าสู่ระบบของแต่ละองค์กร
  • SDK ของ License Server
    • ออกแบบมาเพื่อโฮสต์บริการใบอนุญาตของคุณเอง

การใช้บริการ Widevine Cloud License

บริการใบอนุญาต Cloud มี 2 สภาพแวดล้อม ได้แก่ การทดสอบและเวอร์ชันที่ใช้งานจริง สิทธิ์เข้าถึงจะกำหนดให้กับใบอนุญาตของ Widevine ด้วยข้อมูลเข้าสู่ระบบที่ไม่ซ้ำกันต่อองค์กร

บริการใบอนุญาต Cloud มีปลายทาง 2 รายการสำหรับ

  • การเรียกข้อมูลคีย์เนื้อหาเพื่อเข้ารหัสเนื้อหา
    • คีย์เนื้อหาที่ขอในลักษณะนี้จะจัดเก็บโดยบริการใบอนุญาตระบบคลาวด์ของ Widevine
  • การออกใบอนุญาต
    • ตอบสนองคําขอใบอนุญาตที่อุปกรณ์ไคลเอ็นต์ Widevine สร้างขึ้น

คำขอใบอนุญาตทั้งหมดจากอุปกรณ์ไคลเอ็นต์ต้องได้รับการประมวลผลโดยกลไกพร็อกซีใบอนุญาต

  • Widevine มี Proxy SDK เพื่อสื่อสารกับบริการใบอนุญาตระบบคลาวด์
  • พารามิเตอร์ของใบอนุญาตจะตรวจสอบและยืนยันคําขอจากไคลเอ็นต์ขาเข้า รวมถึงกําหนดกฎทางธุรกิจที่จะใช้
  • ระบบจะเพิ่มกฎทางธุรกิจต่อท้ายคำขอใบอนุญาตที่มาจากอุปกรณ์และส่งไปยังบริการใบอนุญาตเพื่อดำเนินการตามคำขอ
  • เมื่อสร้างใบอนุญาตแล้ว เนื้อหาของใบอนุญาตจะแก้ไขไม่ได้อีกต่อไปและจะกำหนดให้กับอุปกรณ์ที่ขอ

Shaka Packager

Shaka Packager (เดิมเรียกว่า eDASH-Packager) จาก Widevine เป็นการใช้งานอ้างอิงแบบโอเพนซอร์สเกี่ยวกับวิธีสร้างรูปแบบ MP4 ที่เข้ากันได้กับ DASH, ดำเนินการเข้ารหัสโดยใช้ PSSH ของ Widevine และสร้างไฟล์ Manifest ของ DASH โปรดไปที่หน้า GitHub เพื่อรายงานข้อบกพร่องและคำขอฟีเจอร์

ผู้เล่น - Android

โปรเจ็กต์ ExoPlayer แบบโอเพนซอร์สที่ได้รับการดูแลรักษาโดย Google เป็นไลบรารีโปรแกรมเล่นอ้างอิงที่แนะนำซึ่งสาธิตการเล่นสื่อ Widevine CENC การสร้าง ExoPlayer โดยค่าเริ่มต้นจะสร้างแอปสาธิตซึ่งมีรายการเนื้อหา CENC ที่รู้จักและใช้งานได้จากทีม Widevine ไว้ล่วงหน้า

โปรแกรมเล่น - เบราว์เซอร์

โปรเจ็กต์โอเพนซอร์สของ Shaka Player เป็นโครงการริเริ่มของ Widevine ที่จะให้บริการเฟรมเวิร์กไลบรารี JavaScript แบบข้ามเบราว์เซอร์ที่ครอบคลุมเพื่อรองรับการเล่น HTML5 ที่ใช้ CENC โดยใช้ CDM (ควรเป็น Widevine) นอก GitHub ยังมีกลุ่มสนทนาของผู้ใช้ Shaka Player ที่ทีมนักพัฒนาซอฟต์แวร์ Shaka Player จาก Widevine คอยตรวจสอบอยู่

Shaka Player มีบริการต่อไปนี้

  • เฟรมเวิร์กเพลเยอร์แบบโอเพนซอร์สที่มีคุณสมบัติครบถ้วน
  • UI ที่กําหนดค่าและปรับแต่งได้
  • ใช้งานได้ข้ามแพลตฟอร์มและข้ามเบราว์เซอร์
  • การรองรับ HTML5, MSE, EME และ DASH
  • ตัวเลือก DRM หลายรายการ