Exoplayer - Widevine 和 MPEG DASH

Posted

技术标签:

【中文标题】Exoplayer - Widevine 和 MPEG DASH【英文标题】:Exoplayer - Widevine and MPEG DASH 【发布时间】:2015-12-28 01:28:05 【问题描述】:

我正在尝试实现 android 应用来播放受宽藤保护的视频。我在 Exoplayer 上构建我的应用程序,我遇到了 MediaDrm 的问题。

android.media.MediaDrm$MediaDrmStateException: Failed to get key request: DRM vendor-defined error: -2998
            at android.media.MediaDrm.getKeyRequest(Native Method)
            at com.google.android.exoplayer.drm.StreamingDrmSessionManager.postKeyRequest(StreamingDrmSessionManager.java:370)
            at com.google.android.exoplayer.drm.StreamingDrmSessionManager.openInternal(StreamingDrmSessionManager.java:314)
            at com.google.android.exoplayer.drm.StreamingDrmSessionManager.open(StreamingDrmSessionManager.java:284)
            at com.google.android.exoplayer.MediaCodecTrackRenderer.maybeInitCodec(MediaCodecTrackRenderer.java:325)
            at com.google.android.exoplayer.MediaCodecTrackRenderer.onInputFormatChanged(MediaCodecTrackRenderer.java:739)
            at com.google.android.exoplayer.MediaCodecTrackRenderer.readFormat(MediaCodecTrackRenderer.java:511)
            at com.google.android.exoplayer.MediaCodecTrackRenderer.doSomeWork(MediaCodecTrackRenderer.java:492)
            at com.google.android.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:417)
            at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:205)

我有这个例外。我发现这行代码抛出了这个异常:

keyRequest = mediaDrm.getKeyRequest(sessionId, schemeData, mimeType, MediaDrm.KEY_TYPE_STREAMING, params);

方法的所有参数都设置正确,但是调用该方法失败并抛出上面的异常。

你知道我该如何解决吗?感谢您的帮助。

【问题讨论】:

【参考方案1】:

我终于解决了。问题出在我用于测试的设备上。此设备是搭载 Android 5.0.1 的三星 Galaxy S4。当我在不同的设备(Nexus 5、一些三星平板电脑等)上尝试我的代码时,它运行良好。因此,Galaxy S4 中可能存在一些错误或缺少对 Widevine Modular 的支持。

【讨论】:

以上是关于Exoplayer - Widevine 和 MPEG DASH的主要内容,如果未能解决你的问题,请参考以下文章

Android Widevine DASH 实现 + ExoPlayer

检测 Widevine DRM HDCP 保护级别

Android + exoplayer:本地播放AES加密视频

启用 Exoplayer Cache 后滑动缓慢加载

无法使用 exoPlayer 2.11 播放 MKV Matroska 视频

带直播的 Exoplayer 演员扩展