搜索
首页
/
FAQ
/
系统集成
视频业务引入ChinaDRM如何降低延时不影响用户体验?
2025-02-20
17:45:55
为降低延时使用户无感知,可从多个方面进行优化:
① 直播加密一般引入的延时在5~200ms之间,在直播体验要求高的场合,可以采用专业的直播加密设备降低延时。
② CDRM客户端解密视频延时在2~50ms,影响较小;获取许可证并解析许可证一般耗时200~700ms之间,可以使用以下策略规避延时:
预取许可证(在节目解密播出前,提前将许可证下发到终端)
减少密钥变换(比如在同系列节目播出期间,使用相同密钥)
一次获取许可下发多个节目密钥(获取直播节目1的许可证时,附带下发其它直播节目的密钥)
对点播节目,起播一段时间的节目内容不加密,在播出清流期间完成许可证的请求。
DRM服务端未预置生产证书,如何与消费类终端联通测试?
2025-02-20
17:45:27
消费市场购买的终端,比如V75智慧屏,使用了DRM客户端生产证书,因此服务端相应的应使用生产证书。有如下2个方法:
① 使用DTA提供的授权网关。该授权网关与DTA合作方提供的DRM授权服务联通,能对终端提供DRM授权服务,供测试、评估使用。测试人员使用DTA授权网关,有2种方式:
方式一:将密钥信息和白名单告知DTA做密钥配置并开通访问权限,密钥信息包括:CEK、CEK ID、CID,白名单包括终端IP。
方式二:按照DTA提供的接口文档,实现厂商密钥管理服务等与DTA授权网关的对接。
从DTA订购一套服务端生产证书,置入DRM服务端。
视频APP对licenseResponse的处理及播放?
2025-02-20
17:45:04
视频APP在获得licenseResponse后,应对报文中的"status"字段进行解析,如果为"success"则满足播放条件,否则可终止播放。视频APP应对provideKeyResponse(处理licenseResponse的接口)的异常进行截获,如果截获到异常,则可终止播放。
视频APP判断终端是否支持DRM以及安全级别?
2025-02-20
17:44:16
视频APP可使用如下示例代码(以安卓平台为例)判断终端是否支持ChinaDRM:
public static boolean checkSupportChinaDRM(){
boolean isSupportCDRM = false;
byte[] sessionId = null;
MediaDrm mediaDrm = null;
String statusString = null;
UUID drmScheme = new UUID(0X3D5E6D359B9A41E8L, 0XB843DD3C6E72C42CL);//ChinaDRM UUID
try {
if (Util.SDK_INT < 18) {
statusString = "Protected content not supported on API levels below 18";
} else if (!MediaDrm.isCryptoSchemeSupported(drmScheme)) {
statusString = "This device does not support the required DRM scheme";
} else {
mediaDrm = new MediaDrm(drmScheme);
sessionId = mediaDrm.openSession();
isSupportCDRM = true;
statusString = "check ChinaDRM ok!";
}
} catch (NotProvisionedException e){
statusString = "drm certifate not found!";
}catch (Exception e) {
Log.i(TAG, "catched Exception:" + e.getMessage());
statusString = "exception:" + e.getMessage();
}
if (mediaDrm != null && sessionId != null) {
mediaDrm.closeSession(sessionId);
}
Log.i(TAG, statusString);

return isSupportCDRM;
}
安卓平台视频APP使用MediaDrm.getPropertyString(“securityLevel”)判断客户端的安全级别。DRM服务可判断DRM客户端发送的许可证请求中携带的DRM客户端证书体的Common Name字段标识的安全级别(SW标志软件安全级,HW标志硬件安全级,EH标志增强硬件级)从而确认终端设备的安全级别。
视频APP的安全加固?
2025-02-20
17:43:54
视频APP在APP内部集成DRM 软件包,视频APP应进行安全加固,DRM安全级别最高支持到软件安全级。视频APP安全加固方法包括代码混淆、加壳、使用操作系统安全相关能力(比如防录屏、防截屏能力)、反Root、数字水印,等等。
视频水印如何配合DRM使用?
2025-02-20
17:43:36
视频水印对在播放节目时通过录屏、截屏、拍摄、采集等方式产生的盗版视频能起溯源作用,推荐配合DRM使用。可在码流、视频播放图层等地方增加标识信息(数字水印信息)。
对使用DRM加密的内容,视频应用应怎样选择解码器?
2025-02-20
17:43:00
终端如果自带DRM能力,视频应用应优先选择终端自带的安全解码器(secure decoder)。如果内容的保护安全等级若为硬件级则只能选择安全解码器。终端如果不具备DRM能力,视频应用则使用本应用内置的软件安全级DRM客户端能力,解码器可以使用视频应用内置的解码器,或者终端自带的普通解码器。只有使用终端自带的安全解码器,终端才能通过视频安全通路实现防录屏、防截屏(录屏、截屏的结果为黑屏)功能。
测试终端如何与生产环境DRM服务端联通测试?
2025-02-20
17:41:17
测试阶段的终端比如机顶盒和智能电视,建议预置开发证书,连接预置了开发证书的DRM服务端进行联调测试。DTA提供预置了开发证书的DRM服务端,可供测试终端联调测试。
ChinaDRM如何复用widevine加密流?
2025-02-20
17:10:57
ChinaDRM客户端支持CENC 标准AES算法(一般支持cbcs模式算法),但要注意ChinaDRM与widevine的DRM描述信息格式(即pssh格式,ChinaDRM参见实施指南表A.1 PSSH定义)、DRM授权接口协议不同。在视音频应用获取到widevine码流索引文件中的PSSH后,
处理方式一:视音频应用按照ChinaDRM实施指南要求重新攒ChinaDRM格式的PSSH后进行后续处理比如封装许可证请求、向ChinaDRM授权服务请求并处理许可证,注意从widevine PSSH中解析的keyId的base64string编码可作为ChinaDRM的contentId。
处理方式二:视音频应用直接将widevine PSSH传递给ChinaDRM客户端,ChinaDRM客户端封装许可证请求并由视音频应用发送给ChinaDRM授权服务,ChinaDRM授权服务接收到许可证请求后,从请求中的contentIDs字段获得widevine PSSH,从中解析keyId并从密钥管理中获得keyValue,从而封装ChinaDRM许可证响应。keyId的base64string编码可作为ChinaDRM的contentId。方式二依赖于ChinaDRM客户端支持传递widevine PSSH。
ChinaDRM复用Fairplay加密流(限使用CENC cbcs模式加密)的做法同上。
使用ChinaDRM技术加密的码流,应在加密时在码流索引或封装中携带符合实施指南表“A.1 PSSH定义”的DRM描述信息。
1

FAQ / 系统集成

'
' '
' '
' '
' ' ' '
' '
视频业务引入ChinaDRM如何降低延时不影响用户体验?
' '
' '
' '
2025-02-20
' '
' '
' '
' '
' ' ' '
' '
' '
为降低延时使用户无感知,可从多个方面进行优化:
① 直播加密一般引入的延时在5~200ms之间,在直播体验要求高的场合,可以采用专业的直播加密设备降低延时。
② CDRM客户端解密视频延时在2~50ms,影响较小;获取许可证并解析许可证一般耗时200~700ms之间,可以使用以下策略规避延时:
预取许可证(在节目解密播出前,提前将许可证下发到终端)
减少密钥变换(比如在同系列节目播出期间,使用相同密钥)
一次获取许可下发多个节目密钥(获取直播节目1的许可证时,附带下发其它直播节目的密钥)
对点播节目,起播一段时间的节目内容不加密,在播出清流期间完成许可证的请求。
' '
' '
' '
' '
' '
' '
' '
' ' ' '
' '
DRM服务端未预置生产证书,如何与消费类终端联通测试?
' '
' '
' '
2025-02-20
' '
' '
' '
' '
' ' ' '
' '
' '
消费市场购买的终端,比如V75智慧屏,使用了DRM客户端生产证书,因此服务端相应的应使用生产证书。有如下2个方法:
① 使用DTA提供的授权网关。该授权网关与DTA合作方提供的DRM授权服务联通,能对终端提供DRM授权服务,供测试、评估使用。测试人员使用DTA授权网关,有2种方式:
方式一:将密钥信息和白名单告知DTA做密钥配置并开通访问权限,密钥信息包括:CEK、CEK ID、CID,白名单包括终端IP。
方式二:按照DTA提供的接口文档,实现厂商密钥管理服务等与DTA授权网关的对接。
从DTA订购一套服务端生产证书,置入DRM服务端。
' '
' '
' '
' '
' '
' '
' '
' ' ' '
' '
视频APP对licenseResponse的处理及播放?
' '
' '
' '
2025-02-20
' '
' '
' '
' '
' ' ' '
' '
' '
视频APP在获得licenseResponse后,应对报文中的"status"字段进行解析,如果为"success"则满足播放条件,否则可终止播放。视频APP应对provideKeyResponse(处理licenseResponse的接口)的异常进行截获,如果截获到异常,则可终止播放。
' '
' '
' '
' '
' '
' '
' '
' ' ' '
' '
视频APP判断终端是否支持DRM以及安全级别?
' '
' '
' '
2025-02-20
' '
' '
' '
' '
' ' ' '
' '
' '
视频APP可使用如下示例代码(以安卓平台为例)判断终端是否支持ChinaDRM:
public static boolean checkSupportChinaDRM(){
boolean isSupportCDRM = false;
byte[] sessionId = null;
MediaDrm mediaDrm = null;
String statusString = null;
UUID drmScheme = new UUID(0X3D5E6D359B9A41E8L, 0XB843DD3C6E72C42CL);//ChinaDRM UUID
try {
if (Util.SDK_INT < 18) {
statusString = "Protected content not supported on API levels below 18";
} else if (!MediaDrm.isCryptoSchemeSupported(drmScheme)) {
statusString = "This device does not support the required DRM scheme";
} else {
mediaDrm = new MediaDrm(drmScheme);
sessionId = mediaDrm.openSession();
isSupportCDRM = true;
statusString = "check ChinaDRM ok!";
}
} catch (NotProvisionedException e){
statusString = "drm certifate not found!";
}catch (Exception e) {
Log.i(TAG, "catched Exception:" + e.getMessage());
statusString = "exception:" + e.getMessage();
}
if (mediaDrm != null && sessionId != null) {
mediaDrm.closeSession(sessionId);
}
Log.i(TAG, statusString);

return isSupportCDRM;
}
安卓平台视频APP使用MediaDrm.getPropertyString(“securityLevel”)判断客户端的安全级别。DRM服务可判断DRM客户端发送的许可证请求中携带的DRM客户端证书体的Common Name字段标识的安全级别(SW标志软件安全级,HW标志硬件安全级,EH标志增强硬件级)从而确认终端设备的安全级别。
' '
' '
' '
' '
' '
' '
' '
' ' ' '
' '
视频APP的安全加固?
' '
' '
' '
2025-02-20
' '
' '
' '
' '
' ' ' '
' '
' '
视频APP在APP内部集成DRM 软件包,视频APP应进行安全加固,DRM安全级别最高支持到软件安全级。视频APP安全加固方法包括代码混淆、加壳、使用操作系统安全相关能力(比如防录屏、防截屏能力)、反Root、数字水印,等等。
' '
' '
' '
' '
' '
' '
' '
' ' ' '
' '
视频水印如何配合DRM使用?
' '
' '
' '
2025-02-20
' '
' '
' '
' '
' ' ' '
' '
' '
视频水印对在播放节目时通过录屏、截屏、拍摄、采集等方式产生的盗版视频能起溯源作用,推荐配合DRM使用。可在码流、视频播放图层等地方增加标识信息(数字水印信息)。
' '
' '
' '
' '
' '
' '
' '
' ' ' '
' '
对使用DRM加密的内容,视频应用应怎样选择解码器?
' '
' '
' '
2025-02-20
' '
' '
' '
' '
' ' ' '
' '
' '
终端如果自带DRM能力,视频应用应优先选择终端自带的安全解码器(secure decoder)。如果内容的保护安全等级若为硬件级则只能选择安全解码器。终端如果不具备DRM能力,视频应用则使用本应用内置的软件安全级DRM客户端能力,解码器可以使用视频应用内置的解码器,或者终端自带的普通解码器。只有使用终端自带的安全解码器,终端才能通过视频安全通路实现防录屏、防截屏(录屏、截屏的结果为黑屏)功能。
' '
' '
' '
' '
' '
' '
' '
' ' ' '
' '
测试终端如何与生产环境DRM服务端联通测试?
' '
' '
' '
2025-02-20
' '
' '
' '
' '
' ' ' '
' '
' '
测试阶段的终端比如机顶盒和智能电视,建议预置开发证书,连接预置了开发证书的DRM服务端进行联调测试。DTA提供预置了开发证书的DRM服务端,可供测试终端联调测试。
' '
' '
' '
' '
' '
' '
' '
' ' ' '
' '
ChinaDRM如何复用widevine加密流?
' '
' '
' '
2025-02-20
' '
' '
' '
' '
' ' ' '
' '
' '
ChinaDRM客户端支持CENC 标准AES算法(一般支持cbcs模式算法),但要注意ChinaDRM与widevine的DRM描述信息格式(即pssh格式,ChinaDRM参见实施指南表A.1 PSSH定义)、DRM授权接口协议不同。在视音频应用获取到widevine码流索引文件中的PSSH后,
处理方式一:视音频应用按照ChinaDRM实施指南要求重新攒ChinaDRM格式的PSSH后进行后续处理比如封装许可证请求、向ChinaDRM授权服务请求并处理许可证,注意从widevine PSSH中解析的keyId的base64string编码可作为ChinaDRM的contentId。
处理方式二:视音频应用直接将widevine PSSH传递给ChinaDRM客户端,ChinaDRM客户端封装许可证请求并由视音频应用发送给ChinaDRM授权服务,ChinaDRM授权服务接收到许可证请求后,从请求中的contentIDs字段获得widevine PSSH,从中解析keyId并从密钥管理中获得keyValue,从而封装ChinaDRM许可证响应。keyId的base64string编码可作为ChinaDRM的contentId。方式二依赖于ChinaDRM客户端支持传递widevine PSSH。
ChinaDRM复用Fairplay加密流(限使用CENC cbcs模式加密)的做法同上。
使用ChinaDRM技术加密的码流,应在加密时在码流索引或封装中携带符合实施指南表“A.1 PSSH定义”的DRM描述信息。
' '
' '
' '
'