文档管理中心

此版本文档已归档不再维护,推荐您使用最新版本

指南数字版权服务应用开发播放DRM加密内容实现服务端实现步骤

服务端实现步骤

接口参考

WisePlay DRM Server接口规范可以在AppGallery Connect配置章节所示的“数字版权管理服务”页面下载获取。

从KMS查询内容密钥信息

KMS支持通过keyId,contentId,psshbox 和drmtype查询keyInfo。           

 

该接口实现的主要步骤如下:

1. 基于SpringMVC定义一个queryKeyInfo接口,其中接口定义参考KMS接口规范样例;

收起
自动换行
深色代码主题
复制
  1. @RequestMapping(value = "/queryKeyInfo")
  2. @ResponseBody
  3. public BaseRsp queryKeyInfo(@RequestBody QueryKeyInfoReq request) {
  4.    return queryKeyInfoService.service(request);
  5. }   

2. 根据keyId,contentId或者pssh box查询存储在数据库中的内容加密密钥信息;

收起
自动换行
深色代码主题
复制
  1. public QueryKeyInfoRsp doService(QueryKeyInfoReq req) throws KMSException {
  2.    LOG.info("Start to query key info");
  3.    QueryKeyInfoRsp rsp = new QueryKeyInfoRsp();
  4.    rsp.setRetCode(KMSResultCode.SUCCESS);
  5.    if (StringUtils.isNotBlank(req.getKeyId())) {
  6.        queryKeyInfoByKeyId(req.getKeyId(), rsp);
  7.    } else if (StringUtils.isNotBlank(req.getContentId())) {
  8.        queryKeyInfoByContentId(req.getContentId(), rsp);
  9.    } else if (StringUtils.isNotBlank(req.getPsshBox())) {
  10.        queryKeyInfoByPsshData(req.getPsshBox(), rsp);
  11.    }
  12. LOG.info("End to query key info");
  13.    return rsp;
  14. }

3. 给外部返回查询到的内容加密密钥信息和内容信息。

注:样例代码中仅实现了查询所属的所有的内容密钥信息,如果需要进行分页查询或者精确查询,需要进一步开发完善代码。

MultiDRM路由分发

  • MultiDRM路由能力

MultiDRM路由能力是第三方SP视频服务器针对不同终端所支持的DRM能力,路由到不同的DRM服务器获取License,从而使终端的DRM能顺利解析License以便播放DRM加密片源。服务端根据终端发送的getLicense请求中内容支持的DRM加密类型,向终端返回对应的License申请URL地址,终端根据服务端返回的申请LicenseURL地址和本身的DRM能力,选择合适的申请LicenseURL地址,然后使用该URL地址申请License

MultiDRM的路由能力主要为了满足第三方SP能同时对接多种DRM服务器,从而可以在DRM能力互斥的多种终端上都能正常播放DRM加密影片。路由是指在获取License的过程中的路由,路由到不同的DRM服务器。

  •  MultiDRM路由实现原理

MultiDRM路由MultiDRM Router根据请求终端的信息和内容本身的加密类型(ChinaDRM2.0  W DRM)构造不同的申请LicenseURL地址返回给终端来实现的。主要流程如下(下图中终端和第三方SP服务端交互流程仅供参考,SP也可以自行决定实现逻辑,最终目的是根据终端采用的DRM类型来决定路由到哪一个DRM Server):

                                               

在一个内容支持多种DRM加密类型时,MultiDRM Router模块可以同时返回多个申请LicenseURL地址,然后终端根据自身的DRM能力来选择使用哪个URL地址来申请License。也可以由终端主动上报支持的DRM能力,让MultiDRM Router根据终端上报的参数(drm类型)自动选择一个License申请地址返回给终端。MultiDRM Router自动根据drm类型路由的流程如下:

  • 开发MultiDRM路由能力

                                    

主要流程说明如下:

       第三方视频APP请求第三方视频运营平台播放指定的视频;

       第三方视频运营平台根据请求来源返回播放URL地址以及getLicenseURL地址,getLicenseURL地址为对接 W DRM License Server的地址;

       第三方视频APP根据第三方视频运营平台返回的URL地址获取License

       第三方视频运营平台的MultiDRM RouterLicense请求路由到W DRM License Server获取License

       第三方视频APP请求第三方视频运营平台播放指定的视频;

       第三方视频运营平台根据请求方支持的DRM类型返回播放URL地址以及getLicenseURL地址,getLicenseURL地址为对接 WisePlay DRM License Server的地址;

       第三方视频APP根据第三方视频运营平台返回的URL地址获取License

       第三方视频运营平台的MultiDRM RouterLicense请求路由到WisePlay DRM License Server获取License

从DRM Server获取license

  • 对接W License Server申请License

 MultiDRM Router模块提供接口https://domain/multidrm/wdrm/getLicense,用于终端获取W License Server的License。对于原有支持 W DRM的系统,该功能应该原本就支持。其执行流程如下:

  1. 支持W DRM能力的终端播放加密影片,获取LicenseURL地址

  2. 视频运营平台指向MultiDRM Router的域名服务,并返回LicenseURL地址为https://domain/multidrm/wdrm/getLicense;

  3. 视频APP使用返回的LicenseURL地址(https://domain/multidrm/wdrm/getLicense)来获取license;

  4. MultiDRM Router根据输入URL,构造调用W DRM License Server的请求对象,请求W License Server获取License。

  • 对接WisePlay DRM License Server申请License

MultiDRM Router对接WisePlay DRM License Server申请License,HUAWEI提供内容License获取接口getLicense。主要流程如下:

  1. 支持ChinaDRM2.0能力的终端播放加密影片,获取LicenseURL地址;

  2. 视频运营平台指向MultiDRM Router的域名服务,并返回LicenseURL地址为https://domain/multidrm/chinadrm/getLicense;

  3. 视频APP使用返回的LicenseURL地址(https://domain/multidrm/chinadrm/getLicense)来获取license;

  4. MultiDRM Router根据输入URL地址,构造调用WisePlay DRM License Server的请求对象,发送请求消息给WisePlay DRM License Server。

本页面可能包含由第三方许可的内容,请参考具体描述
在 指南 中进行搜索
请输入您想要搜索的关键词