如何在jwplayer中进行DRM配置设置?

时间:2019-03-11 21:22:28

标签: android jwplayer drm widevine

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>

如何将其转换为android?

2 个答案:

答案 0 :(得分:0)

您需要确定是要使用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

答案 1 :(得分:-1)

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

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