總覽
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 (行動裝置、電視、 Automotive) | 是 |
Android 開放原始碼 (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 | - |
智慧型電視和藍光播放器 (Tizen、WebOS) | 是 |
支援的加密配置
下表列出 Widevine 整合平台的加密方案對應表。
平台 | cenc | cens | cbc1 | cbcs |
Android 4.4 至 6.x (包括 Android TV) | 有 | - | - | - |
Android 7.x 以上版本 (包括 Android TV) | 有 | - | - | 有 |
Chromecast (投放) | 有 | - | 有 | 有 |
Google Home | 有 | - | - | - |
智慧型電視和藍光播放器 | 有 | - | - | 有 |
Widevine iOS | 有 | - | - | 有 |
Chrome 瀏覽器 (電腦版) 和 ChromeOS | 有 | - | - | 有 |
Chrome 瀏覽器 (行動版) | 有 | - | - | 有 |
Mozilla Firefox | 有 | - | - | 有 |
Opera | 有 | - | - | 有 |
NexPlayer SDK | 有 | - | - | 有 |
生態系統
上圖顯示 DRM 生態系統中可用的 Widevine 元件。
佈建、Keybox 和 OEMCrypto 元件是專為裝置整合程序所設計。如要在裝置中整合 Widevine,請與我們聯絡。
合作夥伴經營的 Proxy 機制 (透過 HTTPS) 會收到來自原始用戶端裝置的授權要求。這個 Proxy 機制會先驗證要求並附加業務規則,然後再傳送酬載,由 Widevine License Service 處理。
在任何情況下,Widevine 用戶端裝置都不會直接與 Widevine 授權服務通訊。
核發 Widevine 授權
Widevine 提供 2 種方式核發授權給用戶端:
- Cloud License Service
- 全球可用的服務,不收取存取或交易費用。
- 使用每個機構的憑證,為 Widevine 授權者提供存取權。
- License Server SDK
- 專為代管您自己的授權服務而設計。
使用 Widevine Cloud License Service
Cloud License Services 有 2 個環境:測試和實際工作環境。並提供 Widevine 授權者的機構專屬憑證。
Cloud License Service 提供 2 個端點,分別用於:
- 擷取內容金鑰,以便加密內容。
- 以這種方式要求的內容金鑰會由 Widevine Cloud License Service 儲存。
- 發出授權
- 執行 Widevine 用戶端裝置產生的授權要求。
用戶端裝置的所有授權要求都必須透過授權 Proxy 機制處理。
- Widevine 提供 Proxy SDK,用於與 Cloud License Service 通訊。
- 授權 Proxy 會驗證及驗證傳入的用戶端要求,並決定要套用的業務規則。
- 業務規則會附加至裝置的原始授權要求,並傳送至授權服務以便執行。
- 產生授權後,授權內容就無法再修改,且會針對要求裝置個別化。
夏卡套組
Widevine 的 Shaka Packager (舊稱 eDASH-Packager) 是開放原始碼參考實作項目,可用於產生與 DASH 相容的 MP4 格式、使用 Widevine PSSH 執行加密作業,以及建立 DASH 資訊清單。請前往 GitHub 頁面回報錯誤和功能要求。
玩家 - Android
Google 維護的開放原始碼 ExoPlayer 專案是建議的參考播放器程式庫,可用於播放 Widevine CENC 媒體。根據預設,建構 ExoPlayer 會產生示範應用程式,其中包含 Widevine 團隊提供的已知良好 CENC 內容預設清單。
播放器 - 瀏覽器
Shaka Player 開放原始碼專案是 Widevine 的一項計劃,旨在提供全方位的跨瀏覽器 JavaScript 程式庫架構,以便透過 CDM (建議使用 Widevine) 支援 CENC HTML5 播放功能。除了 GitHub 之外,Shaka Player 開發人員團隊還可透過 Widevine 使用及監控Shaka Player 使用者討論群組。
Shaka Player 提供以下功能:
- 功能完整的開放原始碼播放器架構
- 可調整及自訂的使用者介面
- 支援跨平台和跨瀏覽器
- 支援 HTML5、MSE、EME 和 DASH
- 多重 DRM 選項