סקירה כללית
Widevine DRM היא מערכת ההגנה של Google על תוכן למדיה פרימיום. שותפים גדולים ברחבי העולם משתמשים ב-VP9, כמו 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 (נייד, טלוויזיה, כלי רכב) | כן |
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 | כן |
מכשירי Amazon Fire OS | כן |
מכשירי Amazon Fire TV | כן |
מכשירי Facebook Portal | כן |
Nintendo Switch | - |
Sony Playstation | כן |
Microsoft Xbox | - |
טלוויזיות חכמות ונגני Blu-ray (Tizen, WebOS) | כן |
סכימות הצפנה נתמכות
בטבלה הבאה מתוארים סכימות הצפנה בפלטפורמות המשולבות של Widevine.
פלטפורמה | cenc | cens | cbc1 | cbcs |
Android 4.4 עד 6.x (כולל Android TV) | Y | - | - | - |
Android מגרסה 7.x ואילך (כולל Android TV) | Y | - | - | Y |
Chromecast (העברה (cast)) | Y | - | Y | Y |
Google Home | Y | - | - | - |
טלוויזיות חכמות ונגני Blu-ray | 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).
הרכיבים Provisioning, Keybox ו-OEMCrypto ספציפיים לתהליך השילוב של המכשיר. אם אתם רוצים לשלב את Widevine במכשיר מסוים, תוכלו ליצור איתנו קשר.
בקשת רישיון ממכשיר הלקוח המקור יקבל מנגנון שרת proxy שמופעל על ידי שותף (דרך HTTPS). מנגנון שרת ה-proxy יאמת את הבקשה ויצרף כללי עסק לפני שליחת עומס העבודה (payload) לצורך מילוי על ידי שירות הרישיונות של Widevine.
מכשיר הלקוח של Widevine לא מתקשר ישירות עם שירות הרישיונות של Widevine בשום מצב.
הנפקת רישיונות Widevine
ל-Widevine יש 2 שיטות להנפקת רישיונות ללקוחות:
- שירות Cloud License
- שירות גלובלי ללא עמלות גישה או עמלות עסקה.
- הרשאות הגישה ניתנות לרישיונות של Widevine באמצעות פרטי כניסה לכל ארגון.
- License Server SDK
- אפליקציה שמיועדת לאירוח שירות רישיונות משלכם.
שימוש בשירות הרישיון של Widevine Cloud
לשירותי הרישיון ב-Cloud יש 2 סביבות – בדיקה וייצור. הרשאת הגישה ניתנת לבעלי רישיון של Widevine באמצעות פרטי כניסה ייחודיים לכל ארגון.
שירות Cloud License מספק 2 נקודות קצה לצורך:
- אחזור מפתחות תוכן לצורך הצפנת תוכן.
- מפתחות התוכן שנשלחים בבקשה באופן הזה מאוחסנים ב-Widevine Cloud License Service.
- הנפקת רישיון
- מילוי בקשת הרישיון שנוצרה על ידי מכשיר לקוח של Widevine.
כל בקשות הרישיון ממכשיר לקוח חייבות לעבור עיבוד על ידי מנגנון proxy של רישיון.
- Widevine מספקת Proxy SDK כדי לתקשר עם Cloud License Service.
- שרת ה-proxy של הרישיון מאמת את בקשת הלקוח הנכנסת ומחליט אילו כללי עסק חלים.
- הכללים העסקיים מתווספים לבקשת הרישיון המקורית מהמכשיר ונשלחים לשירות הרישיון לצורך מילוי הבקשה.
- לאחר יצירת הרישיון, לא ניתן עוד לשנות את תוכן הרישיון והוא מותאם אישית למכשיר ששלח את הבקשה.
Shaka Packager
Shaka Packager (שנקרא בעבר eDASH-Packager) מ-Widevine הוא הטמעת קובצי עזר בקוד פתוח שמטרתה ליצור פורמטים של קובצי MP4 שתואמים ל-DASH, לבצע הצפנה באמצעות Widevine PSSH וליצור מניפסט DASH. כדי לדווח על באגים ולשלוח בקשות להוספת תכונות, אפשר להיכנס אל דף GitHub.
נגן – Android
הפרויקט ExoPlayer בקוד פתוח שמנוהל על ידי Google הוא ספריית הנגן המומלצת שמדגימה הפעלה של מדיה מסוג Widevine CENC. כברירת מחדל, בניית ExoPlayer תיצור אפליקציית הדגמה שמכילה רשימה מוגדרת מראש של תוכן CENC ידוע וטוב מצוות Widevine.
נגן – דפדפן
פרויקט הקוד הפתוח של Shaka Player הוא יוזמה של Widevine שמטרתה לספק מסגרת מקיפה של ספריית JavaScript לכל הדפדפנים, כדי לתמוך בהפעלה של CENC HTML5 באמצעות CDM (רצוי Widevine). מחוץ ל-GitHub, קיימת קבוצת דיון של משתמשי Shaka Player, שמנוהלת על ידי צוות המפתחים של Shaka Player מ-Widevine.
The Shaka Player מציע:
- מסגרת נגן מלאה בקוד פתוח
- ממשק משתמש שניתן להגדרה ולהתאמה אישית
- תמיכה בפלטפורמות ובדפדפנים שונים
- תמיכה ב-HTML5, MSE, EME ו-DASH
- אפשרויות של DRM מרובה