通过配置TemplateId提交剪辑合成作业时,系统会将TemplateId对应的普通模板Config和传入的参数ClipsParam合并成时间线Timeline,并根据此时间线进行剪辑合成。通过阅读本文,您可以了解常见普通模板的Config和对应Timeline的详细解析说明。
Config中的参数为普通参数示例
视频添加水印
Config
| Timeline
|
解析说明:
普通模板Config中的参数字段以$开头,例如上述Config示例代码中的
"$Video"
。提交剪辑合成作业时,参数TemplateId传入
IceSys_SingleVideo_Watermark
,ClipsParam传入指定参数字段Video
,最终合并的时间线见上述Timeline示例代码。http://ice.cn-shanghai.aliyuncs.com/?Action=SubmitMediaProducingJob &TemplateID=IceSys_SingleVideo_Watermark &ClipsParam={\"Video\":\"****20b48fb04483915d4f2cd8ac****\"} &<公共参数>
视频添加水印(Config中包含默认值)
Config
| Timeline
|
解析说明:
普通模板Config支持默认值,如果没有传入参数字段时,系统会使用默认值。例如上述Config示例代码中的
"$TimelineIn:0"
、"$TimelineOut:NULL"
等,即冒号后面的值为该字段的默认值。如果默认值为NULL且没有传入该参数字段时,最终合成的Timeline会删除该字段。
提交剪辑合成作业时,参数TemplateId传入
IceSys_SingleVideo_Watermark
,ClipsParam传入指定参数字段,最终合并的时间线见上述Timeline示例代码。http://ice.cn-shanghai.aliyuncs.com/?Action=SubmitMediaProducingJob &TemplateId=IceSys_SingleVideo_Watermark &ClipsParam={\"Video\":\"****20b48fb04483915d4f2cd8ac****\",\"TimelineIn\":\"5\"} &<公共参数>
Config中的参数为数组参数示例
视频轨道整体静音
Config
| Timeline
|
解析说明:
上述Config示例代码中以下部分为数组参数,方便传入数量不定的素材。
{ "Sys_Type" : "ArrayItems", "Sys_ArrayObject" : "$VideoArray", "Sys_Template" : { "MediaId" : "$MediaId", "Effects": [ { "Type": "Volume", "Gain": "0" } ] } }
提交剪辑合成作业时,参数TemplateId传入
IceSys_VideoMute
,ClipsParam传入指定参数字段VideoArray(数组类型),合成Timeline时会遍历VideoArray,以Sys_Template为模板生成每一个元素,并封装成一个新的数组,最终合并的时间线见上述Timeline示例代码。http://ice.cn-shanghai.aliyuncs.com/?Action=SubmitMediaProducingJob &TemplateID=IceSys_VideoMute &ClipsParam={\"VideoArray\":[{\"MediaId\":\"******05512043f49f697f7425******\"},{\"MediaId\":\"******05512043f49f697f7425******\"},{\"MediaId\":\"******05512043f49f697f7425******\"}]} &<公共参数>
如果Sys_Template中只有一个参数时,可以简化输入参数,即数组中每个元素不必指定参数名,只需传入对应的值,最终合并的时间线和上述Timeline示例代码一致。
http://ice.cn-shanghai.aliyuncs.com/?Action=SubmitMediaProducingJob &TemplateID=IceSys_VideoMute &ClipsParam={\"VideoArray\":[\"b3f37e05512043f49f697f7425b9188b\",\"9987d22788e810116a45109f2ea88648\",\"a8f5f167f44f4964e6c998dee827110c\"]} &<公共参数>
增加片头片尾
Config
| Timeline
|
解析说明:
普通模板在视频轨开始和结束分别插入固定的片头和片尾,中间数组参数需要传入数量不定的素材。提交剪辑合成作业时,参数TemplateId传入IceSys_OpeningEnding
,ClipsParam传入指定参数字段VideoArray(数组类型)。
http://ice.cn-shanghai.aliyuncs.com/?Action=SubmitMediaProducingJob
&TemplateID=IceSys_OpeningEnding
&ClipsParam={\"VideoArray\":[\"******05512043f49f697f7425******\",\"******2788e810116a45109f2e******\",\"******67f44f4964e6c998dee8******\"]}
&<公共参数>
合成Timeline时会遍历VideoArray,以Sys_Template为模板生成每一个元素,并封装成一个新的数组,初步合成Timeline。此Timeline格式异常,因为VideoTrackClips中的中间项被处理成Clip数组,如下所示:
{
"VideoTracks": [
{
"VideoTrackClips": [
{
"MediaId": "******2788e810116a45109f2e******" // 此为设置的片头视频
},
[
{
"MediaId": "******05512043f49f697f7425******"
},
{
"MediaId": "******2788e810116a45109f2e******"
},
{
"MediaId": "******67f44f4964e6c998dee8******"
}
],
{
"MediaId": "******67f44f4964e6c998dee8******" // 此为设置的片尾视频
}
]
}
]
}
鉴于此,智能媒体服务系统会做相应的容错处理,根据当前上下文把数组中的元素提出并处理成一维数组,最终合并的时间线见上述Timeline示例代码。