如何在ExoPlayer 2中下载ClearKey加密视频

时间:2018-11-28 09:11:07

标签: android exoplayer exoplayer2.x android-drm

我有一个 .MPD 文件,该文件已通过 ClearKey DRM方案进行了加密。我可以通过Internet连接在Exoplayer2中播放此文件。 Exoplayer2使用 LocalMediaDrmCallback 授予 .MPD 文件

的许可

现在,在Exoplayer2中播放脱机视频之后(没有互联网连接),我想离线下载此视频

到目前为止,我一直尝试使用 DashDownloadHelper .MPD 文件下载视频。请指导我如何在下载文件时提供许可信息。

1 个答案:

答案 0 :(得分:0)

您可以像正常的.MPD文件一样下载内容,并通过两种方式进行许可,即

  • 使用HttpMediaDrmCallback播放视频时在线
 HttpDataSource.Factory licenseDataSourceFactory = CinemaApplication.getAppInstance().buildHttpDataSourceFactory();
            HttpMediaDrmCallback httpMediaDrmCallback =
                    new HttpMediaDrmCallback(licenseUrl, licenseDataSourceFactory);
            if (keyRequestPropertiesArray != null) {
                for (int i = 0; i < keyRequestPropertiesArray.length - 1; i += 2) {
                    httpMediaDrmCallback.setKeyRequestProperty(keyRequestPropertiesArray[i],
                            keyRequestPropertiesArray[i + 1]);
                }
            }
  • 通过使用LocalMediaDrmCallback

      

    drmCallback =新   LocalMediaDrmCallback(PlayerActivity.KEY_JSON.getBytes());

使用上面的drmCallback,创建DefaultDrmSessionManager的实例

releaseMediaDrm();
mediaDrm = FrameworkMediaDrm.newInstance(uuid);
DefaultDrmSessionManager<FrameworkMediaCrypto> drmSessionManager = new DefaultDrmSessionManager<>(uuid, mediaDrm, drmCallback, null, false);

For more reference for offline ClearKey License

相关问题