
// 单密钥(preset0)// cbcs:curl -X GET "https://cpix.ezdrm.com/KeyGenerator/cpix2.aspx?k=79ee2a21-0c2b-4978-b681-d98e529271c8&t=xxxx&c=speke_cbcs&EncryptionScheme=cbcs"// cenc:curl X GET "https://cpix.ezdrm.com/KeyGenerator/cpix2.aspx?k=49d1e0c1-fdd7-4c8f-9eb4-94e207b796f3&t=xxxx&c=speke_cenc"
k 表示 keyid,可以用 Free Online GUID Generator 生成。t 是账号 token,可以从 EZDRM 控制台获取。EncryptionScheme 是加密模式,值为 cbcs、cenc,默认是 cenc。c 是 resourceid(contentid、assetid),任意字符串。// 多密钥(preset1)// cbcs:curl -X GET "https://cpix.ezdrm.com/KeyGenerator/cpix2.aspx?k=empty,audio1=8aeb097c-4e3a-4731-8702-d362fff64e36,video1=64173552-957a-4dfc-86ba-09f2a3270f5f&t=xxxx&c=speke_cbcs&EncryptionScheme=cbcs"// cenc:curl -X GET "https://cpix.ezdrm.com/KeyGenerator/cpix2.aspx?k=empty,audio1=61967e3f-9345-430c-9ea7-6e0c5ee64bc6,video1=181320ff-d1bf-46f8-949a-82075bd78c2b,video2=3be09650-fdba-47d6-b2a5-d2e422e92b04&t=xxxx&c=speke_cenc"
k 表示 keyid,这里固定填 empty。audio1=xxx、video1=xxx、video2=xxx 表示请求3组密钥,后面的 uuid 就是对应的 keyid。EZDRM 最多支持3组密钥,audio1 和 video1/video2 只是标识并不是说 audio1 的密钥只能音频用。t 是账号 token,可以从 EZDRM 控制台获取。EncryptionScheme 是加密模式,值为 cbcs、cenc,默认是 cenc。c 是 resourceid(contentid、assetid),任意字符串。audio1、video1 和 video2 即可。字段名 | 类型 | 是否数组 | 描述 |
DrmTypes | string | 是 | DRM 类型数组,可传入多个,目前支持 [Widevien, Fairplay, Playready]。 模板切片格式必须为 fmp4。 Fairplay:只能用于 HLS。 Widevine:可以用于 HLS 和 DASH。 Playready:可以用于 HLS 和 DASH。 如多种 DRM 类型组合包含 Fairplay,则只能用于 HLS,除此之外的其他 DRM 组合可以用于 HLS 或 DASH。 |
SPEKEDrm | SPEKEDrm | 否 | 第三方 DRM 信息。 |
字段名 | 类型 | 是否数组 | 描述 |
ResoruceId | string | 否 | 资源标记,该字段内容为用户自定义; 支持1-128个字符的数字、字母、下划线(_)、中划线(-)。 该字段对应 Speke 请求中的 cid 字段。 |
KeyServerUrl | string | 否 | DRM 厂商访问地址,该字段内容从 DRM 厂商获取。 注意:不同 DRM 厂商对子流的数量限制不一样,如 PallyCon 限制不能超过5条子流,DRMtoday 厂商最多仅支持9条子流加密。 |
Vector | string | 否 | 加密初始化向量(十六进制32字节字符串),该字段内容为用户自定义。 |
EncryptionMethod | string | 否 | 加密方式,可选值 [cbcs, cenc]。 cbcs:所有 DRM 加密类型组合均支持。 cenc:仅包含 Playready、Widevine 的组合支持。 |
EncryptionPreset | string | 否 | 子流加密规则,可选值 [preset0, preset1],默认 preset0。 preset0:全部子流使用同一个 key 加密。 preset1:每个子流使用不同的 key 加密。 |
KeyAcquireMode | string | 否 | DRM 厂商请求方式,可选值 [POST, GET]。 POST:大多数 DRM 厂商使用 POST 方式请求。 GET:部分 DRM 厂商支持 GET 方式请求。使用该种方式请求时,需要在 KeyServerUrl 字段带上各项请求信息。 |
{"FileId": "966***********","MediaStoragePath": null,"SubAppId": 2600*****,"MediaProcessTask": {"AdaptiveDynamicStreamingTaskSet": [{"Definition": 1010****,"DrmInfo": {"DrmTypes": ["Widevine","Fairplay"],"SPEKEDrm": {"ResourceId": "test-drm-0002","KeyServerUrl": "https://cpix.ezdrm.com/KeyGenerator/cpix2.aspx?k=*****************************&t=***********8*&c=speke_cbcs&EncryptionScheme=cbcs","Vector": "3995502b2c0bed6c54ad1c89af9c5ea3a97b4b71048d4178fb234b4c6e85b4c9","EncryptionMethod": "cbcs","EncryptionPreset": "preset0","KeyAcquireMode": "GET"}}}]}}
{"FileId": "966****************","MediaStoragePath": null,"SubAppId": 2600*****,"MediaProcessTask": {"AdaptiveDynamicStreamingTaskSet": [{"Definition": 1010****,"DrmInfo": {"DrmTypes": ["Widevine","Fairplay"],"SPEKEDrm": {"ResourceId": "test-drm-0001","KeyServerUrl": "https://fe.drmtoday.com/frontend/cpix/v1/***************/ingest/************","Vector": "3995502b2c0bed6c54ad1c89af9c5ea3a97b4b71048d4178fb234b4c6e85b4c9","EncryptionMethod": "cbcs","EncryptionPreset": "preset0"}}}]}}
DRM 协议 | License URL |
FairPlay | License URL:https://fps.ezdrm.com/api/licenses/auth?px=xxxxxx Certificate URL:<存放 FairPlay Certificate 证书的 URL> |
Widevine | License URL:https://widevine-dash.ezdrm.com/proxy?pX=xxxxxx |
PlayReady | License URL:https://playready.ezdrm.com/cency/preauth.aspx?pX=xxxxxx |


文档反馈