簡體   English   中英

如何在我的 Android 應用程序中集成 Widevine DRM 以保護視頻

[英]How To Integrate Widevine DRM In My Android App To Secure Videos

我正在構建一個 android 應用程序,人們可以在其中托管視頻,並且我希望人們能夠在他們的 android 設備上流式傳輸和下載受 DRM 保護的視頻。

我對widevine 做了很多研究,我知道它是google 對DRM 的主要選擇。

但我幾乎沒有找到關於如何將庫集成到 android 應用程序以及如何獲取每個視頻的許可證和密鑰的指南。

我已經設置了應用程序的其他部分,但老實說,我不知道從哪里開始集成 Widevine。 我已經檢查了如何使用 exoplayer 播放視頻,但我的問題是加密視頻並允許人們使用 DRM 下載加密表格。

任何人都可以幫忙嗎?

Widevine 已經部署在 Android 設備上(幾乎在所有情況下),因此您只需在您的應用程序中使用它。

假設您正在播放受 DRM 保護的視頻,您可能會使用 ExoPlayer。

ExoPlayer 提供有關 DRM 的文檔,包括 Widevine 集成:

可能更有用的是 ExoPlayer 演示播放器,其中包括帶有完整源代碼的 Widevine 保護內容播放示例。 播放器長這樣:

在此處輸入圖像描述

源代碼可在 ExoPlayer GitHub 的 Demos/Main 上使用或修改: https ://github.com/google/ExoPlayer/tree/release-v2/demos/main

如果您查看用於配置的 media.exolist.json,您將看到一些與 Widevine 受保護內容相關的配置 - 例如:

 "name": "Widevine DASH (MP4, H264)",
    "samples": [
      {
        "name": "HD (cenc)",
        "uri": "https://storage.googleapis.com/wvmedia/cenc/h264/tears/tears.mpd",
        "drm_scheme": "widevine",
        "drm_license_uri": "https://proxy.uat.widevine.com/proxy?video_id=2015_tears&provider=widevine_test"
      },

您可以在演示中的 PlayerActivity 中為每個 MediaItem ( https://github.com/google/ExoPlayer/blob/release-v2/demos/main/src/main/java/com/google查看如何設置 DRM /android/exoplayer2/demo/PlayerActivity.java ):

MediaItem.DrmConfiguration drmConfiguration = mediaItem.localConfiguration.drmConfiguration;
      if (drmConfiguration != null) {
        if (Util.SDK_INT < 18) {
          showToast(R.string.error_drm_unsupported_before_api_18);
          finish();
          return Collections.emptyList();
        } else if (!FrameworkMediaDrm.isCryptoSchemeSupported(drmConfiguration.scheme)) {
          showToast(R.string.error_drm_unsupported_scheme);
          finish();
          return Collections.emptyList();
        }
      }

在您自己的應用程序之外測試您的內容的一種快速方法是將其添加到 media.exolist.json 的列表中,或者使用您的視頻清單和許可證服務器 URL 修改現有條目,然后再次編譯並運行演示。

在服務器端,為了加密和流式傳輸您的視頻,有幾個可用的開源打包程序可用於生成 HLS 或 DASH 視頻流,它們將支持主要的 DRM、Widevine、PlayReady 和 FairPlay。

對於您的情況,同樣由 Google 提供的 Shaka Packager 包含在您的流式視頻中包含 Widevine 保護的說明 - 請參見此處:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM