视频加密是指将视频转自适应码流并对码流进行加密的过程。云点播视频加密提供了两种级别的加密方案:
商业级 DRM:目前提供 FairPlay 和 Widevine 两种。
基础级 DRM:SimpleAES 普通加密。
转自适应码流模板
视频加密的目标规格和转自适应码流的目标规格相同。通过转自适应码流参数,可以控制“使用哪种加密方案加密”、“转哪些码率的视频流”以及“转哪些码率的音频流”等参数。云点播使用转自适应码流模板表示参数集合,通过转自适应码流模板,可以指定以下相关参数。
参数 | 说明 |
打包类型 | 自适应码流的格式,目前支持 HLS 和 Dash 两种。 |
DRM 类型 | 可以选择是否对视频加密保护,支持以下 DRM 加密方案: FairPlay Widevine SimpleAES |
VideoTrack 列表 | 包含哪些不同码率的视频流。 |
AudioTrack 列表 | 包含哪些不同码率的音频流。 |
是否过滤“低码率转高码率” | 通常来说,低码率的原始视频转码高码率无法获得画质和音质的提升。开启过滤“低码率转高码率”,可以避免不必要的转码。 |
任务发起
以下是各种方式发起视频加密任务的说明:
调用服务端 API ProcessMedia 发起任务:在请求中的
MediaProcessTask.AdaptiveDynamicStreamingTaskSet.Definition
参数指定 转自适应码流模板 的模板 ID。通过控制台对视频发起任务:调用 服务端 API 创建任务流,任务流中配置转自适应码流任务(
MediaProcessTask.AdaptiveDynamicStreamingTaskSet
中指定);在控制台使用该任务流 发起视频处理。服务端上传时指定任务:调用 服务端 API 创建任务流,任务流中配置转自适应码流任务(
MediaProcessTask.AdaptiveDynamicStreamingTaskSet
中指定);申请上传 中的procedure
参数指定为该任务流。客户端上传时指定任务:调用 服务端 API 创建任务流,任务流中配置转自适应码流任务(
MediaProcessTask.AdaptiveDynamicStreamingTaskSet
中指定);在 客户端上传签名 中的procedure
指定该任务流。控制台上传:调用 服务端 API 创建任务流,任务流中配置转自适应码流任务(
MediaProcessTask.AdaptiveDynamicStreamingTaskSet
中指定);通过控制台上传视频,选择 上传的同时对视频进行处理操作 并指定视频上传后执行该任务流。结果获取
{"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
有三个Type
为AdaptiveDynamicStreaming
类型的带有视频加密的转自适应码流结果,分别是:加密类型为 FairPlay 的 HLS 格式,
Definition
为11。加密类型为 SimpleAES 的 HLS 格式,
Definition
为12。加密类型为 FairPlay 的 Dash 格式,
Definition
为21。