0

DRM 配置设置 特定的 DRM 配置选项然后嵌套在 drm 块内。可以在特定源中配置多种形式的 DRM,这将根据特定浏览器进行选择。


有时需要将自定义 http 标头添加到许可证请求中。这些值特定于您正在使用的 DRM 提供程序。下面的示例使用名称为 customData 的标头设置等于提供的值。这些标头提供额外的安全性,没有它们,许可证请求将不会被批准。请注意,并非所有 DRM 提供程序都需要这些自定义标头对。更多信息可以在我们的开发者网站上找到。


DRM 的典型工作流程包括配置多种 DRM 技术以涵盖最常见的播放环境。这些 DRM 技术应嵌入特定源中,以允许播放器回退到正确的技术。下面显示了一个完全嵌套的 DRM 块的示例。此方法根据请求内容的浏览器/客户端选择适当的 DRM 技术。

<script>
  jwplayer('myElement').setup({
      playlist: [{
        sources: [{
          file: 'https://www.website.com/media/videofile.mpd',
          drm: {
            widevine: {
              url: 'https://widevine-proxy.appspot.com/proxy',
              headers: [{
                name: 'customData',
                value: 'abcdefg1234567hijklmn89101112opqrs98765tuvwxy'
              }]
            },
            playready: {
              url: 'https://playready-proxy.appspot.com/proxy',
              headers: [{
                name: 'customData',
                value: 'abcdefg1234567hijklmn89101112opqrs98765tuvwxy'
              }]
            }
          }
        },{
          file: 'https://www.website.com/media/videofile.m3u8',
          drm: {
            fairplay: {
              processSpcUrl: 'path to key server that provides ckc',
              certificateUrl: 'path to certificate'
            }
          }
        },{
          file: 'https://www.website.com/media/clearkey_manifest.mpd',
          drm: {
            clearkey: {
              key: 'xldkjfa9a38hfa98hsadf0a89h',
              keyId: '1234-5678-91011'
            }
          }
        }]
      }]
    });
    </script>

如何将其转换为安卓?

4

2 回答 2

1

您需要决定是在 Android 中使用“本机”播放器还是使用浏览器。

上述方法适用于浏览器,如果浏览器在 Android 设备上,您很可能会使用 Widevine - 您通常总是需要的信息是许可证颁发机构或 LA URL,但这可能与您通常使用的相同计算机浏览器用例。您可能还需要自定义标头,如上例所示 - 您的 DRM 提供商可以帮助您在此处引导您。

如果您使用的是本机播放器,例如,如果您在应用程序中使用 JWPlayer SDK,那么 JWPlayer 在下面使用 ExoPlayer 并公开其 API。

ExoPlayer 是 Google 提供的 Android 媒体播放器,可能是目前使用最多的一个。

JWPlayer 在此处提供有关本机播放器 API 的一些基本 DRM 信息:https ://developer.jwplayer.com/sdk/android/reference/

您可能还想查看 ExoPlayer 文档和演示应用程序以更好地了解它:https ://google.github.io/ExoPlayer/drm.html

于 2019-03-13T11:42:24.767 回答
0

如果使用 Android SDK,您必须遵循以下说明:https ://developer.jwplayer.com/sdk/android/docs/developer-guide/drm/drm-protected-playback/

基本上,您必须实现自己的 MediaDrmCallback 实现,该实现设置为播放列表项。MediaDrmCallback 将包含向您的许可证服务器发出请求所需的逻辑

于 2019-03-19T19:01:00.857 回答