智能生产制作提供专业的在线视频剪辑能力,支持音视频、文字等素材的剪辑与合成,从而制作出新的视频。本文为您介绍如何进行云剪辑创作,包括创建剪辑工程、管理剪辑工程以及编辑剪辑内容等操作。支持用户进行视频剪辑、直播剪辑和高级模板剪辑,并利用智能功能添加贴纸、滤镜、特效、字幕等效果。
功能简介
视频剪辑:支持对多个视频片段、音频、图片等素材进行裁剪、拼接、添加特效等操作。
直播剪辑:支持在直播过程中实时剪辑并输出视频内容。
高级模板剪辑:基于预设模板快速生成高质量视频。
计费说明
前提条件
通过控制台进行云剪辑
进入云剪辑界面
登录智能媒体服务控制台。
在左侧导航栏选择
,进入云智能剪辑界面。
创建剪辑工程
智能媒体生产提供直播流剪辑、录制文件剪辑服务,支持您在直播过程中实时剪辑并输出视频内容。
单击进入视频剪辑工程页签。
单击创建剪辑工程,输入工程名称,并单击确定。
单击已创建工程操作列的剪辑,进入普通剪辑工程界面。关于普通剪辑具体操作,请参见。
单击进入直播剪辑工程页签。
单击创建直播剪辑,根据实际需求输入或选择直播剪辑工程配置参数,并单击确定。
参数
描述
直播剪辑名称
自定义直播剪辑工程的名称,直播剪辑只可使用中英文、数字、空格或下划线命名,且长度最多不超过60个字符。
直播流地址
输入您需要剪辑的阿里云直播流地址。直播流地址获取方式详情请参见生成推流地址和播放地址。
存储方式
配置直播剪辑生成后的存储方式。支持存储至OSS或视频点播。
存储地址
支持添加点播系统Bucket和在点播系统中添加的OSS自有Bucket。如果没有可用的,您也可以到视频点播控制台新增Bucket,视频点播系统会在每一个存储地域分配一个存储地址,开通视频点播服务后需要启用该地址才能使用,具体操作,请参见管理存储Bucket。
支持添加对象存储OSS Bucket。如果没有可用的,您也可以到对象存储控制台新增Bucket,具体操作,请参见控制台创建存储空间。
开始时间
选择直播剪辑的开始时间,支持立即开始或从预约时间开始。直播开始前您可在云剪辑列表修改预约信息,直播开始后自动录制,同时可实时剪辑。
单击已创建工程操作列的查看,进入直播剪辑工程界面。关于直播剪辑具体操作,请参见剪辑功能介绍。
单击高级模板剪辑工程页签。
单击创建剪辑工程,根据提示单击确定,进入高级模板页面。
单击指定的高级模板操作列的使用模板,输入工程名称并单击确定,进入高级模板剪辑工程界面。关于高级模板剪辑具体操作,请参见剪辑功能介绍。
管理剪辑工程
您可以单击操作列的剪辑、复制、导出模板或单击后再单击删除,实现对工程的剪辑、复制、导出模板及删除功能。
此处以查看普通剪辑工程为例进行介绍,其他类型剪辑工程与之类似,不再重复介绍。
剪辑功能介绍
进入视频剪辑工程界面。
普通剪辑界面区域如下所示:
序号
描述
①
素材区
②
预览区
③
属性编辑区
④
剪辑操作区
导入素材。
添加素材至剪辑操作区。
单击素材上的
或拖动素材至剪辑操作区的轨道。
您也可以添加贴纸、滤镜、特效等公共资源,生成多轨道素材并实时预览效果。
剪辑素材。
裁剪、预览或调整素材的属性
在剪辑操作区选中轨道中的素材,您可以在剪辑操作区通过左上角工具对视频进行裁剪或删除等操作;在预览区进行素材预览、拖动、缩放、位置调整等;在属性编辑区进行属性调整。
添加转场特效
在剪辑操作区选择待添加转场的视频或图片,单击素材区转场,选择指定转场特效(例如:旋涡),在预览区查看转场特效。
智能生成字幕
在剪辑操作区选择待生成字幕的视频,在属性编辑区基础页签下单击智能生成字幕,生成的字幕会自动载入到轨道中。
展示有声视频的音频波形
在剪辑操作区选择视频,通过
选择要展示的波形类型,对应波形会在轨道中视频下部展示。
智能生成配音
在剪辑操作区选择待生成配音的字幕,单击
设置人声类型,再单击智能生成配音,生成的配音会自动载入到轨道中。
如果提示请先配置存储路径,您需要先配置存储路径。具体操作,请参见配置存储地址。
添加标记点或标记片段
在剪辑操作区选择视频,拖动时间轴到指定位置,单击
新增标记点;单击
或
新增标记片段入出点。您也可以单击
和
,或轨道中视频上部的标记点和标记片段查看对应详情。
分离视频音轨
在剪辑操作区选择视频,在属性编辑区的基础页签下单击分离视频音轨,分离出来的音轨会自动载入到轨道中。
数字人形象定制(公测)
公测期,智能生产制作提供4种官方数字人供免费试用。您可在素材区添加基于文字或语音驱动的数字人,根据实际需求配置参数,然后单击发起数字人并生成视频,数字人会在合成结束后加入视频轨中。
由于官方数字人非真人学习训练成果,因此效果并非最佳,如果您有更高要求,欢迎通过钉钉加入群48335001108,体验专业版数字人功能。
编辑完成后,单击右上角保存,保存当前的剪辑工程。
您也可以单击右上角生成为模板或导出为,将此工程生成模板或导出到媒资库中。
进入直播剪辑工程界面。
直播剪辑界面区域如下所示:
序号
描述
①
直播信号源区
②
视频预览区
③
剪辑操作区
④
片段列表区
进行视频拆条。
单击剪辑操作区左上角的
或
,然后按住鼠标左键,调整片段长度,再单击生成片段,片段生成后会自动保存。您可以在片段列表区查看生成的视频片段。
您也可以单击
或预览片段进行撤回操作或预览片段。
对视频片段进行剪辑。
在片段列表区选中指定视频片段,单击右上角导出到视频剪辑,进行视频片段剪辑。具体操作请参见剪辑功能介绍。
进入高级模板剪辑工程界面。
高级模板剪辑界面区域如下所示:
序号
描述
①
视频预览区
②
编辑组列表区
③
编辑组素材区
在编辑组列表区单击指定的编辑组,替换编辑组素材。
替换视频或图片素材。
在编辑组素材区单击视频或图片,然后单击更换素材,打开当前区域媒资库列表,根据实际需求选择替换后的素材。
如果媒资库列表没有您所需的素材,您可以上传指定素材到媒资库。具体操作,请参见控制台上传。
替换文字素材。
在预览区编辑文本,或在编辑组素材区设置文本属性。
可选:预览视频。
合成视频。
单击右上角合成视频,根据实际需求输入导出视频的参数,单击确定,将合成后的视频导出到媒资库中。
通过OpenAPI进行云剪辑
视频剪辑是将多个视频片段、音频、图片等素材按照时间轴(Timeline)逻辑组合,生成新的视频文件的过程。
接口介绍
提交剪辑合成作业:调用SubmitMediaProducingJob - 提交剪辑合成作业接口,可以将一个或多个视频、音频、图片、字幕素材合成为成品,该接口支持复杂的Timeline配置,满足多样化的剪辑需求。
查询剪辑合成作业:调用GetMediaProducingJob - 查询剪辑合成作业,通过传入
JobId
查询任务状态和结果。
时间线(Timeline)配置
视频剪辑的核心在于Timeline配置,它是定义剪辑逻辑的关键部分。Timeline是一个时间轴,用于描述视频、音频、图片等素材在时间上的排列和组合方式。时间线主要包含轨道、素材、效果三种对象,详细配置说明请参考:Timeline配置说明。
Timeline基本结构
{
"VideoTracks": [
{
"VideoTrackClip": [
{
"MediaId": "素材ID",
"MediaURL":"视频轨素材片段对应的OSS地址"
}
]
}
],
"AudioTracks": [
{
"AudioTrackClip": [
{
"MediaId": "音频素材ID",
"MediaURL":"音频轨素材片段对应的OSS地址"
}
]
}
]
}
VideoTracks:视频轨道,用于放置视频或图片素材。
AudioTracks:音频轨道,用于放置音频素材。
Clips:每个轨道中的片段,包含素材ID、起始时间和持续时长。
Timeline应用示例
实践教程中包含了大量示例,展示了如何使用Timeline配置实现各种复杂的视频剪辑需求。以下是常见的应用场景和配置示例:
Timeline配置示例 | 描述 |
支持视频横转竖、视频截取、视频与图片混剪、添加水印/贴纸/GIF贴纸等功能。 | |
支持静音、调节音量、混音、提取音频、音量归一等功能。 | |
支持视频添加字幕、设置花字、字幕自动换行、字幕对齐、字幕特效等功能。 | |
支持多种转场效果(如淡入淡出)、视觉特效(如模糊、锐化)、滤镜(如黑白、复古)。 | |
支持语音转文字并将字幕合并到视频中、文字转语音并将语音合并到视频中、通过SSML控制节奏或读音等功能。 | |
支持添加全局背景图、全局水印LOGO等。 |
调用SDK进行音视频剪辑
安装IMS服务端SDK,并完成相关配置。详情请参见准备工作。
提交直播剪辑任务:调用SubmitLiveEditingJob - 提交直播剪辑任务,提交直播剪辑任务后,任务将进入后台排队,异步执行。
查询直播剪辑作业:调用GetLiveEditingJob - 查询直播剪辑作业,根据 jobId 来查询作业状态。
获取媒资内容信息:调用GetMediaInfo - 获取媒资内容信息接口根据 MediaId 来查询生成媒资的信息。
获取模板信息。
调用GetTemplate获取模板信息,传入
TemplateId
。GetTemplateRequest request = new GetTemplateRequest(); request.setTemplateId("****20b48fb04483915d4f2cd8ac****"); GetTemplateResponse response = iceClient.getTemplate(request); GetTemplateResponseBody.GetTemplateResponseBodyTemplate template = response.getBody().getTemplate(); System.out.println("templateId : " + template.getTemplateId()); System.out.println("clipsParam : " + template.getClipsParam());
返回示例如下所示:
{ "RequestId":"******11-DB8D-4A9A-875B-275798******", "Template":{ "TemplateId":"****20b48fb04483915d4f2cd8ac****", "Name":"高级模板测试", "Type":"VETemplate", "Status":"Available", "ModifiedSource":"OpenAPI", "CreateSource":"OpenAPI", "Config":"{\"oss_url\":\"http://your-bucket.oss-cn-shanghai.aliyuncs.com/object.zip\"}", "ClipsParam":"{\"Text7\":\"text\",\"Text6\":\"text\",\"Text5\":\"text\",\"Text4\":\"text\",\"Text3\":\"text\",\"Text2\":\"text\",\"Text1\":\"text\",\"Text0\":\"text\",\"Media3\":\"mediaId\",\"Media2\":\"mediaId\",\"Media1\":\"mediaId\",\"Media0\":\"mediaId\"}", "PreviewMedia":"", "CoverURL":"" } }
您也可以使用系统内置模板,使用方式与上述使用个人创建模板类似,不再重复介绍。系统内置模板请参见公共模板库——高级模板。
根据实际需求替换以上步骤返回示例中
ClipsParam
参数的text
和mediaId
字段。{ "Text0":"字幕0", "Text1":"字幕1", "Text2":"字幕2", "Text3":"字幕3", "Text4":"字幕4", "Text5":"字幕5", "Text6":"字幕6", "Text7":"字幕7", "Media0":"****20b48fb04483915d4f2cd8ac****", "Media1":"****20b48fb04483915d4f2cd8ac****", "Media2":"****20b48fb04483915d4f2cd8ac****", "Media3":"****20b48fb04483915d4f2cd8ac****" }
ClipsParam
为合成服务的参数,您可以根据实际需求替换text为指定的文案,替换mediaId为指定的媒资ID或对应的OSS地址(包括视频和图片),支持混合使用。如果参数
ClipsParam
只设置了部分字段,未设置的字幕默认为空,媒资默认为模板的原始素材。字幕支持设置字体,视频、图片支持设置适配模式,详情请参见扩展功能。
调用合成服务。
调用SubmitMediaProducingJob提交剪辑合成作业,传入
TemplateId
和ClipsParam
。SubmitMediaProducingJobRequest request = new SubmitMediaProducingJobRequest(); request.setTemplateId("****20b48fb04483915d4f2cd8ac****"); request.setClipsParam("{\"Text7\":\"字幕7\",\"Text6\":\"字幕6\",\"Text5\":\"字幕5\",\"Text4\":\"字幕4\",\"Text3\":\"字幕3\",\"Text2\":\"字幕2\",\"Text1\":\"字幕1\",\"Text0\":\"字幕0\",\"Media3\":\"****20b48fb04483915d4f2cd8ac****\",\"Media2\":\"****20b48fb04483915d4f2cd8ac****\",\"Media1\":\"****20b48fb04483915d4f2cd8ac****\",\"Media0\":\"****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());
- 本页导读 (1)
- 功能简介
- 计费说明
- 前提条件
- 通过控制台进行云剪辑
- 进入云剪辑界面
- 创建剪辑工程
- 管理剪辑工程
- 剪辑功能介绍
- 通过OpenAPI进行云剪辑