Android Widevine DASH 实现 + ExoPlayer

标签 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 上播放。

最佳答案

我意识到这是一个老问题,但如果有人仍在寻找这个问题,标准 ExoPlayer 演示还包括 Widevine 示例 list 。

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

并且可以在以下位置的配置中看到 Widevine list 示例:

ExoPlayer/playbacktests/src/androidTest/java/com/google/android/exoplayer2/playbacktests/gts/DashTest.java

要查看它的使用情况,请在存储库中搜索“DefaultDrmSessionManager”。

关于Android Widevine DASH 实现 + ExoPlayer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36865161/

相关文章:

android - 可扩展 ListView 在 Android 的 fragment Activity 中不起作用

c# - 与桌面应用程序捆绑在一起的视频的 DRM?

video.js - 在Videojs中播放DRM加密的文件

c# - 我可以检测 Windows PC 上的视频显示是否在 c# 中启用了 HDCP

android - 如何选择 Android 中哪个 View 位于顶部

android - 以编程方式定位按钮 Android

android - API < 21 的 java.lang.VerifyError

android - DummyDataSource无法打开: Android ExoPlayer

video - Exoplayer 等效于 iOS - 类似于 TikTok 的视频流

android - Exoplayer 源错误