【问题标题】:How to download ClearKey Encrypted Video in ExoPlayer 2如何在 ExoPlayer 2 中下载 ClearKey 加密视频
【发布时间】:2018-12-11 18:35:33
【问题描述】:

我有一个通过 ClearKey DRM 方案 加密的 .MPD 文件。我可以通过 Internet 连接在 Exoplayer2 中播放此文件。 Exoplayer2 正在使用 LocalMediaDrmCallback 来获得 .MPD 文件的许可

现在,我正在尝试离线下载该视频,然后在 Exoplayer2 中播放该离线视频(没有互联网连接)。

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

【问题讨论】:

    标签: android exoplayer exoplayer2.x android-drm


    【解决方案1】:

    您可以像普通 .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

    【讨论】:

      猜你喜欢
      • 2018-01-10
      • 1970-01-01
      • 2019-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-15
      • 1970-01-01
      相关资源
      最近更新 更多