智能客服
你问我答,随时在线为你解决问题
此版本文档已归档不再维护,推荐您使用最新版本。
WisePlay DRM Server接口规范可以在AppGallery Connect配置章节所示的“数字版权管理服务”页面下载获取。
KMS支持通过keyId,contentId,psshbox 和drmtype查询keyInfo。
该接口实现的主要步骤如下:
1. 基于SpringMVC定义一个queryKeyInfo接口,其中接口定义参考KMS接口规范样例;
- @RequestMapping(value = "/queryKeyInfo")
- @ResponseBody
- public BaseRsp queryKeyInfo(@RequestBody QueryKeyInfoReq request) {
- return queryKeyInfoService.service(request);
- }
2. 根据keyId,contentId或者pssh box查询存储在数据库中的内容加密密钥信息;
- public QueryKeyInfoRsp doService(QueryKeyInfoReq req) throws KMSException {
- LOG.info("Start to query key info");
- QueryKeyInfoRsp rsp = new QueryKeyInfoRsp();
- rsp.setRetCode(KMSResultCode.SUCCESS);
- if (StringUtils.isNotBlank(req.getKeyId())) {
- queryKeyInfoByKeyId(req.getKeyId(), rsp);
- } else if (StringUtils.isNotBlank(req.getContentId())) {
- queryKeyInfoByContentId(req.getContentId(), rsp);
- } else if (StringUtils.isNotBlank(req.getPsshBox())) {
- queryKeyInfoByPsshData(req.getPsshBox(), rsp);
- }
- LOG.info("End to query key info");
- return rsp;
- }
3. 给外部返回查询到的内容加密密钥信息和内容信息。
注:样例代码中仅实现了查询所属的所有的内容密钥信息,如果需要进行分页查询或者精确查询,需要进一步开发完善代码。
MultiDRM路由能力
MultiDRM路由能力是第三方SP视频服务器针对不同终端所支持的DRM能力,路由到不同的DRM服务器获取License,从而使终端的DRM能顺利解析License以便播放DRM加密片源。服务端根据终端发送的getLicense请求中内容支持的DRM加密类型,向终端返回对应的License申请URL地址,终端根据服务端返回的申请License的URL地址和本身的DRM能力,选择合适的申请License的URL地址,然后使用该URL地址申请License。
MultiDRM的路由能力主要为了满足第三方SP能同时对接多种DRM服务器,从而可以在DRM能力互斥的多种终端上都能正常播放DRM加密影片。路由是指在获取License的过程中的路由,路由到不同的DRM服务器。
MultiDRM路由实现原理
MultiDRM路由是MultiDRM Router根据请求终端的信息和内容本身的加密类型(ChinaDRM2.0 或 W DRM)构造不同的申请License的URL地址返回给终端来实现的。主要流程如下(下图中终端和第三方SP服务端交互流程仅供参考,SP也可以自行决定实现逻辑,最终目的是根据终端采用的DRM类型来决定路由到哪一个DRM Server):

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

开发MultiDRM路由能力
主要流程说明如下:
① 第三方视频APP请求第三方视频运营平台播放指定的视频;
② 第三方视频运营平台根据请求来源返回播放URL地址以及getLicense的URL地址,getLicense的URL地址为对接 W DRM License Server的地址;
③ 第三方视频APP根据第三方视频运营平台返回的URL地址获取License;
④ 第三方视频运营平台的MultiDRM Router将License请求路由到W DRM License Server获取License;
⑤ 第三方视频APP请求第三方视频运营平台播放指定的视频;
⑥ 第三方视频运营平台根据请求方支持的DRM类型返回播放URL地址以及getLicense的URL地址,getLicense的URL地址为对接 WisePlay DRM License Server的地址;
⑦ 第三方视频APP根据第三方视频运营平台返回的URL地址获取License;
⑧ 第三方视频运营平台的MultiDRM Router将License请求路由到WisePlay DRM License Server获取License。
对接W License Server申请License
MultiDRM Router模块提供接口https://domain/multidrm/wdrm/getLicense,用于终端获取W License Server的License。对于原有支持 W DRM的系统,该功能应该原本就支持。其执行流程如下:
支持W DRM能力的终端播放加密影片,获取License的URL地址;
视频运营平台指向MultiDRM Router的域名服务,并返回LicenseURL地址为https://domain/multidrm/wdrm/getLicense;
视频APP使用返回的License的URL地址(https://domain/multidrm/wdrm/getLicense)来获取license;
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。主要流程如下:
支持ChinaDRM2.0能力的终端播放加密影片,获取License的URL地址;
视频运营平台指向MultiDRM Router的域名服务,并返回License的URL地址为https://domain/multidrm/chinadrm/getLicense;
视频APP使用返回的License的URL地址(https://domain/multidrm/chinadrm/getLicense)来获取license;
MultiDRM Router根据输入的URL地址,构造调用WisePlay DRM License Server的请求对象,发送请求消息给WisePlay DRM License Server。