全部产品
Search
文档中心

智能媒体服务:创建并使用普通模板

更新时间:Oct 29, 2024

普通模板是基于视频剪辑工程的时间线,其中包含多个素材,以多图层形式进行前后拼接而创建。该模板可用于实现图文转视频、图片相册、片头片尾、以及默认水印等效果。透过本文的阅读,您可以了解如何创建并使用普通模板的方法。

创建普通模板

通过控制台创建

  1. 登录智能媒体服务控制台

  2. 在左侧导航栏选择智能生产制作 > 云剪辑,进入云智能剪辑界面。

  3. 编辑剪辑工程并保存后,在剪辑界面单击生成为模板,或进入单击操作列的导出模板功能创建普通模板。

    如果您需要编辑模板,请参见普通模板设计师手册

通过OpenAPI创建

  1. 自定义普通模板Config。

    普通模板Config是基于云剪辑Timeline的封装,而自定义模板Config则提供了更加灵活的选择。如果您有特殊需求,我们建议您熟悉Config结构并进行自定义模板的设置。详情请参见普通模板Config详解

    以下以视频拼接模板Config举例说明。更多模板Config示例,请参见常见普通模板Config示例

    {
        "VideoTracks": [
            {
                "VideoTrackClips": [
                    {
                        "Sys_Type" : "ArrayItems",
                        "Sys_ArrayObject" : "$VideoArray",
                        "Sys_Template" : {
                            "MediaId" : "$MediaId"
                        }
                    }
                ]
            }
        ]
    }
  2. 创建普通模板。

    调用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,在合成作业时使用。

使用普通模板

通过控制台使用

  1. 登录智能媒体服务控制台

  2. 在左侧导航栏选择智能生产制作 > 模板工厂,进入云剪辑模板界面。

  3. 使用普通模板进行云剪辑。

    1. 单击普通模板页签。

    2. 单击相应模板操作列的使用模板

    3. 输入工程名称,单击确定,根据提示选择是否现在编辑工程。关于如何编辑工程(普通剪辑),请参见视频剪辑

通过OpenAPI使用

  1. 获取模板信息。

    • 通过控制台获取

      如果模板由控制台创建,可在模板工厂中单击对应模板操作列的编辑模板,通过模板可变素材管理功能拼接生成ClipsParam

      image

      拼接规则为: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"}
      说明

      您也可以使用系统内置模板,使用方式与上述使用个人创建模板类似,不再重复介绍。系统内置模板请参见公共模板库——普通模板

  2. 根据实际需求替换以上步骤示例中ClipsParam参数的textmediaId字段。

    {
     "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地址(包括视频和图片),支持混合使用。

  3. 调用合成服务。

    调用SubmitMediaProducingJob提交剪辑合成作业,传入TemplateIdClipsParam

    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());