搜索
首页
/
FAQ
/
组件开发
/
点播加密服务
点播内容加密服务接口?
2025-02-20
17:28:09
点播加密服务与点播内容管理服务之间的任务创建、查询、删除等接口,以及与密钥管理服务之间的密钥请求接口,可参考GY/T333-2020《视音频内容分发数字版权管理 有线数字电视数字版权管理系统集成》。
视频加密、解密若干问题?
2025-02-20
17:13:05
① 对采用TS封装264、265编码的视频进行加密,需注意以下事项:
a.为避免CEI进行放冲突转换,建议KeyID、IV值避免出现0x00 00 00/01/02/03,若出现则建议更换该值。
b.NAL(Network Abstract Layer)单元的结尾不能出现0,这是因为NALU的起始码为0x00 00 01,如果结尾出现0,可能会导致NALU被错误地截断或识别,从而影响加密、解密和解码过程的正确性。由此类推,TS封装中PES的最后1个字节若为0,则应在该PES最后添加0xFF。
c.为避免播放器将0x00 00 00 01中的第1个0x00(最左边)作为前一个NALU的末尾字节,建议加密软件统一将NALU的起始码修改为0x00 00 01,修改方法可将第1个0x00删除。
d.在每一个关键帧前面插入1个CEI,CEI插入SEI中。SEI可以单独封装在1个TS包中。
e.可按照PES为单元进行加密,找到第1个属于加密范围的NAL后,将后续NAL作为该NAL的body,对该NAL进行加密,加密后对加密的范围统一进行防二义性处理。被加密的NAL的总长度不要超出4MB,如果超出应提示警告或错误,以免播放设备在解密时对超出长度的数据进行丢弃。
f.加密过程中,除加密值出现0x00 00 00/01/02/03,需要进行防冲突转换为0x00 00 03 00/01/02/03之外,全加密最后不足16字节的部分以及采样加密未加密的部分,同样需要进行防冲突转换。建议在对NALU加密完成后,对该NALU的加密区间统一进行防冲突转换。
g.为避免CEI进行放冲突转换,建议ChinaDRM_descriptor避免出现0x00 00 00/01/02/03,若出现则建议更换该值(见表1CEI数据语法格式)。
h.在媒体中增加DRM信息:在PMT中增加 ChinaDRM_descriptor,其DRM_data_bytes字段建议取值为实施指南表A.1 PSSH定义,注意长度限制。如果有M3U8文件,则按实施指南附录A 的A.1节在#EXT-X-KEY 增加 URI 属性。另外,CEI的取值符合GY/T 277-2019标准及表1(摘自ChinaDRM FLV加密方案提案)的要求:
表1 CEI数据语法格式
语法 位数
CEI_DATA(){
encryption_flag 1
next_key_id_flag 1
ChinaDRM_descriptor_flag 1
no_emulation_prevention_three_byte_flag 1
encryption_method_flag 1
Reserved 3
if (encryption_flag == 1) {
current_key_id 128
}
if (next_key_id_flag == 1) {
next_key_id 128
}
IV_length 8
IV IV_length8
if (ChinaDRM_descriptor_flag == 1) {
ChinaDRM_descriptor (descriptor_length+2)8
}
if (encryption_method_flag == 1) {
Reserved 4
video_encryption_method 4
}
}
表1相对GY/T 277-2019标准新增数据说明如下:
ChinaDRM_descriptor_flag:为1表示CEI包括ChinaDRM描述子(ChinaDRM_descriptor),为0表示CEI无ChinaDRM描述子。
encryption_method_flag:为1表示CEI包括视频内容加密的方式,为0表示CEI无视频内容加密的方式。
no_emulation_prevention_three_byte_flag:为1表示被加密NALU未插入防止竞争校验字节(0x03),为0表示被加密NALU有插入防止竞争校验字节(0x03)。
ChinaDRM_descriptor:DRM描述子,定义见GY/T 277-2019“6 内容加密”章节“表3 DRM描述子语法”,长度为DRM描述子中的descriptor_length+2。
video_encryption_method:表示视频内容加密的方式,应符合本文表1规定。
Reserved,保留字段取值0。

② MP4加密
a.按照实施指南附录A “A.2基于DASH的视音频内容加密”添加DRM信息。另外,在封装中增加ChinaDRM PSSH box,PSSH取值符合符合实施指南表“A.1 PSSH定义”。

③ 播放器对采用TS封装264、265编码的加密视频进行解密播放,需要注意以下事项:
a.如果码流中已存在SEI,在DRM加密时为添加CEI而另外增加了SEI,则播放器应注意在处理不包含CEI的SEI时不要丢失CEI信息。
b.在处理SEI中的CEI信息时,注意实施防止起始码二义冲突。
c.对加密后的码流,前一个NAL的末尾正好存在16字节未加密,后一个NAL起始码是0x00 00 00 01(4个字节),如果播放器处理不当将该NAL起始码最左边的00作为了前一个Nal尾巴,则会造成前一个NAL的最后16字节被错误的执行解密动作。
内容加密服务对相同节目不同介质的加密是否使用不同CEK?
2025-02-20
17:08:56
应根据内容的上映方式、保护安全等级综合考虑是否变化CEK。某部网络电影,在上映前20天(窗口期)使用硬件级保护,20天后(即窗口期之后)使用软件级保护,则该节目在初期做好了DRM加密,后续无需重新加密,因而无需变化CEK。另一部网络电影,窗口期使用硬件级保护,窗口期之后1080P及以上分辨率要求使用硬件级保护,720P及以下分辨率允许使用软件级保护,则至少窗口期后720P及以下分辨率的介质必须改用新的CEK进行加密,从而避免与1080P及以上分辨率介质的CEK发生重合。
1

FAQ / 组件开发 / 点播加密服务

'
' '
' '
' '
' ' ' '
' '
点播内容加密服务接口?
' '
' '
' '
2025-02-20
' '
' '
' '
' '
' ' ' '
' '
' '
点播加密服务与点播内容管理服务之间的任务创建、查询、删除等接口,以及与密钥管理服务之间的密钥请求接口,可参考GY/T333-2020《视音频内容分发数字版权管理 有线数字电视数字版权管理系统集成》。
' '
' '
' '
' '
' '
' '
' '
' ' ' '
' '
视频加密、解密若干问题?
' '
' '
' '
2025-02-20
' '
' '
' '
' '
' ' ' '
' '
' '
① 对采用TS封装264、265编码的视频进行加密,需注意以下事项:
a.为避免CEI进行放冲突转换,建议KeyID、IV值避免出现0x00 00 00/01/02/03,若出现则建议更换该值。
b.NAL(Network Abstract Layer)单元的结尾不能出现0,这是因为NALU的起始码为0x00 00 01,如果结尾出现0,可能会导致NALU被错误地截断或识别,从而影响加密、解密和解码过程的正确性。由此类推,TS封装中PES的最后1个字节若为0,则应在该PES最后添加0xFF。
c.为避免播放器将0x00 00 00 01中的第1个0x00(最左边)作为前一个NALU的末尾字节,建议加密软件统一将NALU的起始码修改为0x00 00 01,修改方法可将第1个0x00删除。
d.在每一个关键帧前面插入1个CEI,CEI插入SEI中。SEI可以单独封装在1个TS包中。
e.可按照PES为单元进行加密,找到第1个属于加密范围的NAL后,将后续NAL作为该NAL的body,对该NAL进行加密,加密后对加密的范围统一进行防二义性处理。被加密的NAL的总长度不要超出4MB,如果超出应提示警告或错误,以免播放设备在解密时对超出长度的数据进行丢弃。
f.加密过程中,除加密值出现0x00 00 00/01/02/03,需要进行防冲突转换为0x00 00 03 00/01/02/03之外,全加密最后不足16字节的部分以及采样加密未加密的部分,同样需要进行防冲突转换。建议在对NALU加密完成后,对该NALU的加密区间统一进行防冲突转换。
g.为避免CEI进行放冲突转换,建议ChinaDRM_descriptor避免出现0x00 00 00/01/02/03,若出现则建议更换该值(见表1CEI数据语法格式)。
h.在媒体中增加DRM信息:在PMT中增加 ChinaDRM_descriptor,其DRM_data_bytes字段建议取值为实施指南表A.1 PSSH定义,注意长度限制。如果有M3U8文件,则按实施指南附录A 的A.1节在#EXT-X-KEY 增加 URI 属性。另外,CEI的取值符合GY/T 277-2019标准及表1(摘自ChinaDRM FLV加密方案提案)的要求:
表1 CEI数据语法格式
语法 位数
CEI_DATA(){
encryption_flag 1
next_key_id_flag 1
ChinaDRM_descriptor_flag 1
no_emulation_prevention_three_byte_flag 1
encryption_method_flag 1
Reserved 3
if (encryption_flag == 1) {
current_key_id 128
}
if (next_key_id_flag == 1) {
next_key_id 128
}
IV_length 8
IV IV_length8
if (ChinaDRM_descriptor_flag == 1) {
ChinaDRM_descriptor (descriptor_length+2)8
}
if (encryption_method_flag == 1) {
Reserved 4
video_encryption_method 4
}
}
表1相对GY/T 277-2019标准新增数据说明如下:
ChinaDRM_descriptor_flag:为1表示CEI包括ChinaDRM描述子(ChinaDRM_descriptor),为0表示CEI无ChinaDRM描述子。
encryption_method_flag:为1表示CEI包括视频内容加密的方式,为0表示CEI无视频内容加密的方式。
no_emulation_prevention_three_byte_flag:为1表示被加密NALU未插入防止竞争校验字节(0x03),为0表示被加密NALU有插入防止竞争校验字节(0x03)。
ChinaDRM_descriptor:DRM描述子,定义见GY/T 277-2019“6 内容加密”章节“表3 DRM描述子语法”,长度为DRM描述子中的descriptor_length+2。
video_encryption_method:表示视频内容加密的方式,应符合本文表1规定。
Reserved,保留字段取值0。

② MP4加密
a.按照实施指南附录A “A.2基于DASH的视音频内容加密”添加DRM信息。另外,在封装中增加ChinaDRM PSSH box,PSSH取值符合符合实施指南表“A.1 PSSH定义”。

③ 播放器对采用TS封装264、265编码的加密视频进行解密播放,需要注意以下事项:
a.如果码流中已存在SEI,在DRM加密时为添加CEI而另外增加了SEI,则播放器应注意在处理不包含CEI的SEI时不要丢失CEI信息。
b.在处理SEI中的CEI信息时,注意实施防止起始码二义冲突。
c.对加密后的码流,前一个NAL的末尾正好存在16字节未加密,后一个NAL起始码是0x00 00 00 01(4个字节),如果播放器处理不当将该NAL起始码最左边的00作为了前一个Nal尾巴,则会造成前一个NAL的最后16字节被错误的执行解密动作。
' '
' '
' '
' '
' '
' '
' '
' ' ' '
' '
内容加密服务对相同节目不同介质的加密是否使用不同CEK?
' '
' '
' '
2025-02-20
' '
' '
' '
' '
' ' ' '
' '
' '
应根据内容的上映方式、保护安全等级综合考虑是否变化CEK。某部网络电影,在上映前20天(窗口期)使用硬件级保护,20天后(即窗口期之后)使用软件级保护,则该节目在初期做好了DRM加密,后续无需重新加密,因而无需变化CEK。另一部网络电影,窗口期使用硬件级保护,窗口期之后1080P及以上分辨率要求使用硬件级保护,720P及以下分辨率允许使用软件级保护,则至少窗口期后720P及以下分辨率的介质必须改用新的CEK进行加密,从而避免与1080P及以上分辨率介质的CEK发生重合。
' '
' '
' '
'