有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
视频加密是指将视频转自适应码流并对码流进行加密的过程。云点播视频加密提供了两种级别的加密方案:
商业级 DRM:目前提供 FairPlay 和 Widevine 两种。
基础级 DRM:SimpleAES 普通加密。

转自适应码流模板

视频加密的目标规格和转自适应码流的目标规格相同。通过转自适应码流参数,可以控制“使用哪种加密方案加密”、“转哪些码率的视频流”以及“转哪些码率的音频流”等参数。云点播使用转自适应码流模板表示参数集合,通过转自适应码流模板,可以指定以下相关参数。
参数
说明
打包类型
自适应码流的格式,目前支持 HLS 和 Dash 两种。
DRM 类型
可以选择是否对视频加密保护,支持以下 DRM 加密方案:
FairPlay
Widevine
SimpleAES
VideoTrack 列表
包含哪些不同码率的视频流。
AudioTrack 列表
包含哪些不同码率的音频流。
是否过滤“低码率转高码率”
通常来说,低码率的原始视频转码高码率无法获得画质和音质的提升。开启过滤“低码率转高码率”,可以避免不必要的转码。
针对常见的参数组合,云点播提供了 预置转自适应码流模板,目前暂不支持自定义转自适应码流模板。

任务发起

发起视频加密任务,有“通过服务端 API 直接发起”,“通过控制台直接发起”和“上传时指定要执行的任务”三种方式。具体请参照视频处理的 任务发起
以下是各种方式发起视频加密任务的说明:
调用服务端 API ProcessMedia 发起任务:在请求中的MediaProcessTask.AdaptiveDynamicStreamingTaskSet.Definition参数指定 转自适应码流模板 的模板 ID。
通过控制台对视频发起任务:调用 服务端 API 创建任务流,任务流中配置转自适应码流任务(MediaProcessTask.AdaptiveDynamicStreamingTaskSet中指定);在控制台使用该任务流 发起视频处理
服务端上传时指定任务:调用 服务端 API 创建任务流,任务流中配置转自适应码流任务(MediaProcessTask.AdaptiveDynamicStreamingTaskSet中指定);申请上传 中的procedure参数指定为该任务流。
客户端上传时指定任务:调用 服务端 API 创建任务流,任务流中配置转自适应码流任务(MediaProcessTask.AdaptiveDynamicStreamingTaskSet中指定);在 客户端上传签名 中的procedure指定该任务流。
控制台上传:调用 服务端 API 创建任务流,任务流中配置转自适应码流任务(MediaProcessTask.AdaptiveDynamicStreamingTaskSet中指定);通过控制台上传视频,选择 上传的同时对视频进行处理操作 并指定视频上传后执行该任务流。

结果获取

发起加密任务后,您可以通过异步等待 结果通知 和同步进行 任务查询 两种方式获取视频加密任务的执行结果。下面是发起视频加密任务后,普通回调方式下结果通知的示例(省略了值为 null 的字段):
{
"EventType":"ProcedureStateChanged",
"ProcedureStateChangeEvent":{
"TaskId":"1256768367-Procedure-2e1af2456351812be963e309cc133403t0",
"Status":"FINISH",
"FileId":"5285890784246869930",
"FileName":"动物世界",
"FileUrl":"http://1256768367.vod2.myqcloud.com/xxx/xxx/AtUCmy6gmIYA.mp4",
"MetaData":{
"AudioDuration":60,
"AudioStreamSet":[
{
"Bitrate":383854,
"Codec":"aac",
"SamplingRate":48000
}
],
"Bitrate":1021028,
"Container":"mov,mp4,m4a,3gp,3g2,mj2",
"Duration":60,
"Height":480,
"Rotate":0,
"Size":7700180,
"VideoDuration":60,
"VideoStreamSet":[
{
"Bitrate":637174,
"Codec":"h264",
"Fps":23,
"Height":480,
"Width":640
}
],
"Width":640
},
"MediaProcessResultSet":[
{
"Type":"AdaptiveDynamicStreaming",
"AdaptiveDynamicStreamingTask":{
"Status":"SUCCESS",
"ErrCode":0,
"Message":"",
"Input":{
"Definition":11
},
"Output":{
"Definition":11,
"Package":"hls",
"DrmType":"FairPlay",
"Url":"http://1256768367.vod2.myqcloud.com/xxx/xxx/adp.11.m3u8"
}
}
},
{
"Type":"AdaptiveDynamicStreaming",
"AdaptiveDynamicStreamingTask":{
"Status":"SUCCESS",
"ErrCode":0,
"Message":"",
"Input":{
"Definition":12
},
"Output":{
"Definition":12,
"Package":"hls",
"DrmType":"SimpleAES",
"Url":"http://1256768367.vod2.myqcloud.com/xxx/xxx/adp.12.m3u8"
}
}
},
{
"Type":"AdaptiveDynamicStreaming",
"AdaptiveDynamicStreamingTask":{
"Status":"SUCCESS",
"ErrCode":0,
"Message":"",
"Input":{
"Definition":21
},
"Output":{
"Definition":21,
"Package":"dash",
"DrmType":"Widevine",
"Url":"http://1256768367.vod2.myqcloud.com/xxx/xxx/adp.21.mpd"
}
}
}
],
"TasksPriority":0,
"TasksNotifyMode":""
}
}
回调结果中,ProcedureStateChangeEvent.MediaProcessResultSet有三个TypeAdaptiveDynamicStreaming类型的带有视频加密的转自适应码流结果,分别是:
加密类型为 FairPlay 的 HLS 格式,Definition为11。
加密类型为 SimpleAES 的 HLS 格式,Definition为12。
加密类型为 FairPlay 的 Dash 格式,Definition为21。