普通模板是基于视频剪辑工程的时间线,其中包含多个素材,以多图层形式进行前后拼接而创建。该模板可用于实现图文转视频、图片相册、片头片尾、以及默认水印等效果。透过本文的阅读,您可以了解如何创建并使用普通模板的方法。
创建普通模板
通过控制台创建
登录智能媒体服务控制台。
在左侧导航栏选择
,进入云智能剪辑界面。编辑剪辑工程并保存后,在剪辑界面单击生成为模板,或进入单击操作列的导出模板功能创建普通模板。
如果您需要编辑模板,请参见普通模板设计师手册。
通过OpenAPI创建
自定义普通模板Config。
普通模板Config是基于云剪辑Timeline的封装,而自定义模板Config则提供了更加灵活的选择。如果您有特殊需求,我们建议您熟悉Config结构并进行自定义模板的设置。详情请参见普通模板Config详解。
以下以视频拼接模板Config举例说明。更多模板Config示例,请参见常见普通模板Config示例。
{ "VideoTracks": [ { "VideoTrackClips": [ { "Sys_Type" : "ArrayItems", "Sys_ArrayObject" : "$VideoArray", "Sys_Template" : { "MediaId" : "$MediaId" } } ] } ] }
创建普通模板。
调用AddTemplate创建模板,传入模板Config。
AddTemplateRequest request = new AddTemplateRequest(); request.setType("Timeline"); //普通模板Type取值为Timeline request.setName("普通模板测试"); request.setConfig("{\"VideoTracks\":[{\"VideoTrackClips\":[{\"Sys_Type\":\"ArrayItems\",\"Sys_ArrayObject\":\"$VideoArray\",\"Sys_Template\":{\"MediaId\":\"$MediaId\"}}]}]}"); AddTemplateResponse response = iceClient.addTemplate(request); System.out.println("templateId : " + response.getBody().getTemplate().getTemplateId());
创建成功后会返回模板ID,在合成作业时使用。
使用普通模板
通过控制台使用
登录智能媒体服务控制台。
在左侧导航栏选择
,进入云剪辑模板界面。使用普通模板进行云剪辑。
单击普通模板页签。
单击相应模板操作列的使用模板。
输入工程名称,单击确定,根据提示选择是否现在编辑工程。关于如何编辑工程(普通剪辑),请参见视频剪辑。
通过OpenAPI使用
获取模板信息。
通过控制台获取
如果模板由控制台创建,可在模板工厂中单击对应模板操作列的编辑模板,通过模板可变素材管理功能拼接生成
ClipsParam
。拼接规则为:ID命名为key,需要替换的文案或媒资ID为value。则上述对应拼接生成的
ClipsParam
示例如下所示:{ "1": "替换后的字幕", "2": "****20b48fb04483915d4f2cd8ac****", "3": "****20b48fb04483915d4f2cd8ac****", "4": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-video1.mp4", "5": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-video2.mp4" }
调用OpenAPI获取
调用GetTemplate获取模板信息,并传入创建普通模板步骤 2生成的
TemplateId
。返回结果中
ClipsParam
字段如下所示:{"1":"text","2":"mediaId","3":"mediaId","4":"mediaId","5":"mediaId"}
说明您也可以使用系统内置模板,使用方式与上述使用个人创建模板类似,不再重复介绍。系统内置模板请参见公共模板库——普通模板。
根据实际需求替换以上步骤示例中
ClipsParam
参数的text
和mediaId
字段。{ "1": "替换后的字幕", "2": "****20b48fb04483915d4f2cd8ac****", "3": "****20b48fb04483915d4f2cd8ac****", "4": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-video1.mp4", "5": "https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-video2.mp4" }
说明ClipsParam
为合成服务的参数,您可以根据实际需求替换text为指定的文案,替换mediaId为指定的媒资ID或对应的OSS地址(包括视频和图片),支持混合使用。调用合成服务。
调用SubmitMediaProducingJob提交剪辑合成作业,传入
TemplateId
和ClipsParam
。SubmitMediaProducingJobRequest request = new SubmitMediaProducingJobRequest(); request.setTemplateId("Your TemplateId"); request.setClipsParam("{\"1\":\"替换的字幕\",\"2\":\"****20b48fb04483915d4f2cd8ac****\",\"3\":\"****20b48fb04483915d4f2cd8ac****\",\"4\":\"****20b48fb04483915d4f2cd8ac****\",\"5\":\"****20b48fb04483915d4f2cd8ac****\"}"); request.setOutputMediaConfig("{\"MediaURL\":\"http://your-bucket.oss-cn-shanghai.aliyuncs.com/object.mp4\"}"); SubmitMediaProducingJobResponse response = iceClient.submitMediaProducingJob(request); System.out.println("jobid : " + response.getBody().getJobId());