Android Widevine DASH实现+ ExoPlayer

时间:2016-04-26 12:37:01

标签: android drm exoplayer widevine android-drm

我想在我的应用中播放Widevine Modular - DASH视频,我想使用VideoViewExoPlayer

我有什么样的例子可以设置吗?或者您能为我提供如何获取许可证的示例代码吗? 我有视频的URL和Widevine服务器URL。

在我们使用Widevine classic之前,许可证请求如下:

private void prepareDrmInfoRequest()
{
        mDrmInfoRequest = new DrmInfoRequest(DrmInfoRequest.TYPE_RIGHTS_ACQUISITION_INFO, "application/mp4");
        mDrmInfoRequest.put("WVVideoUrlKey", "http://some_url.com/dash/1.mpd");
        mDrmInfoRequest.put("WVDRMServerKey", "http://some_url.com/video/widevine_modular/?auth_token=haslůkfjlksjfljnvlakhnsufn");
        mDrmInfoRequest.put("WVCAUserDataKey", "LJKHlklkhkljhKJLHuzgztfZTFZTUFzutf");
        mDrmInfoRequest.put("WVPortalKey", "provider");
}

然后

  public int processDrm()
  {
        DrmInfo df = mDrmManagerClient.acquireDrmInfo(mDrmInfoRequest);
        if(df != null)
        {
            return mDrmManagerClient.processDrmInfo(df);
        }
  }

之后视频正在VideoView或ExoPlayer上播放。

2 个答案:

答案 0 :(得分:2)

我意识到这是一个老问题,但如果有人仍然在寻找这个标准的ExoPlayer演示也包括广泛的示例清单。

演示播放器可在此处获取:

可以在以下位置的配置中看到宽泛的清单示例:

  

ExoPlayer / playbacktests / SRC / androidTest / JAVA / COM /谷歌/机器人/ exoplayer2 / playbacktests / GTS / DashTest.java

要在使用中查看' DefaultDrmSessionManager'在存储库中。

答案 1 :(得分:0)

下载exoplayer演示后,在演示exoplayer中,您只需要更改资产中的media.exolist.json

像这样哟:

[

  {
    "name": "Widevine DASH DRM Tests",
    "samples": [

      {
        "name": "tes DRM -acquire license",
        "uri": "https://YOURlinkto.mpd",
        "drm_scheme": "widevine",
        "drm_license_url": "https://drm-widevine-licensing.axtest.net/AcquireLicense",
        "extension": "mpd",
        "drm_key_request_properties": {
          "X-AxDRM-Message": "YOUR-xrdm-value"
        }

        }

    ]
  }

]