首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法找出DASH清单在ExoPlayer中是否受DRM保护?

有没有办法找出DASH清单在ExoPlayer中是否受DRM保护?
EN

Stack Overflow用户
提问于 2018-10-03 00:07:40
回答 1查看 468关注 0票数 0

我想确定一个DASH清单网址是否使用ExoPlayer进行DRM保护-但是我似乎找不到在这方面可以帮助我的东西。

我可以看到,您可以在ExoPlayer中使用SmoothStreaming来实现这一点,因为有一个protection element

只是想知道以前有没有人遇到过这种情况?

EN

回答 1

Stack Overflow用户

发布于 2018-10-04 00:51:36

破折号清单本身包含一个指示内容是否受保护的元素。

例如,下面是一个PlayReady指示(来自MS文档):

代码语言:javascript
复制
<ContentProtection schemeIdUri="urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95" value=”MSPR 2.0”>
    <cenc:pssh>
          <!-- *base64-encoded PlayReady ‘pssh’ complete box* -->
    </cenc:pssh>
    <mspr:pro>
          <!-- *base64-encoded PlayReady Object* -->
    </mspr:pro>
</ContentProtection>

单个媒体的“块”URL可以是模糊的或随机的,因此这些URL本身并不能真正帮助传达这些信息。

ExoPlayer检查了清单中的保护指示。你可以在'DashManifestParser‘类中看到它被解析--例如:

代码语言:javascript
复制
else if (XmlPullParserUtil.isStartTag(xpp, "ContentProtection")) {
        Pair<String, SchemeData> contentProtection = parseContentProtection(xpp);
        if (contentProtection.first != null) {
          drmSchemeType = contentProtection.first;
        }
        if (contentProtection.second != null) {
          drmSchemeDatas.add(contentProtection.second);
        }

这是一个需要注意(或警惕的..)规范说媒体受保护的事实可以在清单和/或媒体本身中指明-即ISO文件中有一个‘框’,可以在其中指定保护方案信息。

从理论上讲,这意味着你可以在任何一个地方指定行程,但实际上并不是所有的播放器都是这样实现的--一些播放器,包括过去的ExoPlayer,如果媒体流受到保护,就不会播放,但清单没有指明这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52612274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档