本文内容整理自「智能媒体生产」系列课程第三讲:开发者实战,由阿里云智能视频云技术专家分享云剪辑Timeline的功能及使用方法、云剪辑OpenAPI的使用流程、短视频批量生产的基本原理以及使用Timeline合成常见的短视频效果。课程回放见文末。
01 Timeline简化之道
什么是时间线Timeline?Timeline是一个完整的数据结构,通过数据结构把整个剪辑表示出来。在云剪辑编辑器中,界面可分为轨道、素材、预览窗口、特效设置四个部分。
轨道分为视频轨、音频轨、字幕轨以及特效轨,上面的轨道会盖住下面的轨道,而一个轨道上可以包含多个素材。
比如,视频轨是按照视频的先后顺序拼接起来的,视频上可添加多个特效,像调色、蒙层、裁剪等,视频中可添加转场,也可以通过特效轨的方式,在视频中添加全局特效。字幕轨,可以设置字号、字体以及字幕样式等。
设置每一个素材的开始、结束时间,并通过一系列参数组成完整的视频剪辑。
Timeline剪辑合成
通过视频合成接口提交剪辑,合成以下视频。把多个视频拼接起来,添加设置过样式的字幕和贴纸,同时又补充了上下黑边,将原本的横屏视频素材转成竖屏视频。
Timeline可能包含多个轨道、每个轨道包含多个素材、而每个素材又包含很多设置信息,通过组装时间线,用户调用OpenAPI就可以剪辑出自己的视频。
Timeline示例合成效果展示:https://v.youku.com/v_show/id...
Timeline数据结构
Timeline中可包含多种轨道,包括视频轨、音频轨、字幕轨、特效轨等,而视频轨中也可以包含多个视频或图片素材。
素材最重要的信息是其来源,将OSS文件或VOD媒资ID引入到Timeline中,以此指定唯一的视频或图片。此外,还可以设置素材的开始、结束时间,位置、尺寸等信息。
在Timeline中,上面的轨道会盖住下面的轨道,表现在数据结构中是数组后面的轨道会放置在上面,如下图代码所示:上面的轨道是视频,下面的轨道是图片。而字幕轨也可以包含多个片段,可以是标题、底部的翻译等信息。
文中形如 “https://your-bucket.oss-cn-sh...” 的OSS URL均为示例地址,实际执行需替换成客户真实OSS地址执行。
接下来介绍每类轨道素材的详细参数设置:
l VideoTrackClip
VideoTrackClip是视频轨上的片段,比如视频或图片,可以设置其在成片画布上的位置,如XY坐标、宽高,以及在时间线中的位置等。
例如,想把一个视频素材的第5秒到第10秒截取出来,放在时间线第15秒到第20秒的位置,那可以将它的In、Out、Timelinein、Timelineout分别设置为5、10、15、20。
同时还可以给视频增加特效,除了转场、滤镜外还有一些基础特效,比如音量调整、倍速、裁剪、视频水平翻转、旋转、AI特效、字幕样式、绿幕抠图、智能遮标等。
l AudioTrackClip
AudioTrackClip是音频轨上的素材,与视频轨不同,音频没有画布的概念,可以设置其在时间线中的位置,比如第几秒出现、第几秒结束,也可以设置其在原素材中截取的位置。
此外,音频也可以增加一些特效,比如音量、倍速、是否循环播放、淡入淡出、语音识别等。
音频轨中的素材,可以是音频或有音频流的视频,也支持把一段文字转成人声,作为音频播放。文字转人声可以设置人声的类型、语速、音调等,同时,在合成过程中,也可以把文字转换为字幕,添加到视频中。
l SubtitleTrackClip
SubtitleTrackClip是字幕轨上的素材,可以是文字或是字幕文件。
如果是一段文字,可以设置这段文字在成片画布中的位置,x、y坐标,在时间线中的位置,还可以设置字体、字号、颜色、描边及阴影属性、动画等。
如果素材为字幕文件,则支持SRT或者ASS字幕,同时,字幕样式包含在字幕文件里,可以直接合成到视频中。
l EffectTrackClip
EffectTrackClip是特效轨,一般在特效轨中设置全局特效,比如氛围类特效、滤镜、调色等,也可以设置特效在视频中的开始和结束时间。在素材中也可以设置特效,把它加入Effects里即可。特效的关键参数是其类型,部分特效可以设置调色等参数。
Timeline简化
Timeline轨道中参数繁多,剪辑场景非常复杂,因而对Timeline进行简化至关重要。
在剪辑过程中,Timeline会先分析用户传入的素材,然后根据素材补全参数。
比如在两个10s视频前后拼接的场景中,用户只需要传入两个视频的MediaURL,Timeline就可以自动进行推导,而不再需要传入时间、坐标等参数。
由此,开发人员在使用云剪辑时,不但可以进行非常复杂的剪辑操作,也可以进行一些简单的视频处理工作。
比如视频的拼接,开发人员只需传入两个视频的地址,组装成一个简单的Timeline即可进行拼接。
比如视频的裁剪,用户只需传入视频素材以及裁剪位置,而无需传入分辨率等其他信息。
再比如文字转语音,音频轨的输入可以是一段文字,在实际剪辑过程中,会把文字转成语音进行合成。用户将文字转为音频和字幕,并合成到视频中,只需制作一个Timeline即可。
合成效果展示:https://v.youku.com/v_show/id...
02 OpenAPI 调用指南
Timeline有何作用?
有了Timeline,调用OpenAPI提交剪辑合成任务,就可以合成出成片。提交剪辑合成作业的接口是SubmitMediaProducingJob,输入是Timeline,OutputMediaConfig输出地址和输出配置,可以设置成片的宽高、码率以及其他的转码参数。
基于此,用户只需提交一个接口就可以合成视频。提交成功后会返回JobId,根据JobId查询剪辑合成作业的状态,当状态为成功的时候,代表成片合成完成。
查询剪辑合成作业的接口是GetMediaProducingJob,输入JobId,输出Job信息,由此查询到任务状态。
用户提交剪辑合成作业的整体流程为:提交Timeline和OutputMediaConfig之后,同步返回JobId、ProjectId和MediaId,其中ProjectId和MediaId可以方便用户进行一些后续的操作。
当剪辑完成以后,用户可以通过轮询的方式,根据JobId不断请求Job信息,最后拿到结果。同时,也支持回调的方式,传入回调地址或者MNS队列,在剪辑完成以后回调给用户。
简单来说,用户提交一次剪辑只需用到以上两个接口,从而可以把更多的精力放在Timeline的组装上。
03 营销短视频是怎样合成的?
实践部分将以口播文案为索引,分步演示如何使用Timeline和OpenAPI剪辑合成营销短视频。
利用素材合成短视频的流程是:先把文案转化成人声,配上背景音乐,然后和视频素材拼接到一起,最后补充特效、Logo以及标题,由此合成最终的成片。
合成效果展示:https://v.youku.com/v_show/id...那么,如何使用Timeline来合成此视频?
首先分析该视频,不难发现,该视频是由以下几个主要轨道组成:视频轨包含了全部视频素材,是一个主要的轨道;文案转成了字幕,组成了主要的字幕轨;文案转成的人声组成了一个音频轨,此外,背景音乐构成了另外一个音频轨;叠加的全局特效组成了特效轨。
接下来分别看这些轨道是如何合成的。l 视频横转竖上述提到,把视频素材拼接起来,只需填入关键信息即可。
该Timeline 的功能是把每个素材截取前两秒,按照时间顺序拼接到一起。
此外,视频素材是横屏的,如果希望输出一个竖版视频在手机上播放,只需要在输出配置里面设置分辨率即可,比如720✖️280,由此输出了一个720P的视频。
同时,会默认把每个素材进行等比缩放,并按照成片的分辨率居中展示,不足部分补充上下黑边,即可实现视频横转竖效果。
合成效果展示:https://v.youku.com/v_show/id...
背景模糊当然,上下黑边的效果仍不够好,我们期望在不足部分补充上毛玻璃效果,把整个视频用内容填满。
在Timeline上的实现是这样的:添加Effects,Type是Background,添加背景模糊效果,同时SubType为Blur,并设置模糊半径。
合成效果展示:https://v.youku.com/v_show/id... 字幕转人声、背景音乐接下来补充人声和背景音乐,分别为两个音频轨,实现同时播放效果。
在人声的音频轨中,设置人声类型,将文案素材合成到视频中,同时,添加Effects为AI_ASR,把识别出来的人声转成字幕并设置字幕样式。
在背景音乐的音频轨中,只需设置其URL,就可以从第0秒播放到视频的结束。
合成效果展示:https://v.youku.com/v_show/id... 添加标题、修改字幕样式标题作为字幕,添加时只需新增一个字幕轨并将其置入即可。
字幕可以设置各种属性,比如字号、字体、颜色、描边、阴影等。在短视频中还经常使用花字、字幕动画等,将字幕居中对齐,设置为TopCenter并确定居顶的外坐标即可。
标题和AI_TTS中添加字幕样式属性
合成效果展示:https://v.youku.com/v_show/id... 转场、特效转场即Transition,需要设置其类型以及持续时间,需要注意的是,转场会占用前后两个视频的时间,因为转场是上下两个视频之间的过渡。
比如,把两个1秒的视频拼接起来,中间加一个0.3秒的转场,那么最后成片的时间为1.7秒,即需要减去转场的时间。特效即VFX,比如电影特效、氛围特效等。
合成效果展示:https://v.youku.com/v_show/id... 随机特效、随机截取随机效果是剪辑过程中经常会使用到的功能,用户期望只使用一个时间线,实现每次剪辑时随机挑选一个特效和转场进行使用的效果。
随机效果有很多,这里介绍随机特效和随机截取。转场和特效的SubType可以设置为多个,并用英文逗号隔开,这样在实际合成过程中,就可以随机选取一个进行合成。
截取可以添加一个Effect:Clip,再添加SubType为RandomClip,并设置随机截取的时长,比如2秒,这样在每次剪辑过程中,会在素材里随机截取2秒,如果素材不足2秒则直接使用素材的全部时长。
合成效果展示:https://v.youku.com/v_show/id...
以上讲解了短视频每个轨道的制作过程、Timeline展示以及使用的功能,完整的时间线和代码见文末课程回放。
l 字幕对齐
上述场景中,是把每个素材随机截取2秒进行前后拼接,更好的效果是把每个素材和每句话的开始结束时间一一对应,以此更富有节奏感。
合成效果展示:https://v.youku.com/v_show/id...
如何合成有节奏感的视频呢?
首先,可以根据文字素材生成字幕和音频,以此获取每句话的开始、结束时间。
基于此信息,即可根据字幕截取素材,然后再把截出来的片段按照顺序进行拼接,使得每个素材正好和句子对齐,从而达到预期效果。
这里要额外用到一个接口,即提交智能生产作业。此接口有三个参数,FunctionName为AsyncTextToSpeech,即文字转语音;Input是一段文案,需要将其放到OSS文件里;Output是音频和句子的时间戳。
提交完成后会返回一个JobId,根据JobId调用QueryIProductionJob获取任务信息,当任务状态为Success时即可得到任务结果。
整体流程为:首先,用文案调用SubmitIProductionJob,提交文字转语音任务,调用QueryIProductionJob查询任务的结果。
当任务状态为Success时,获取人声的音频,以及每句话的开始、结束时间。
其次,基于此信息封装时间线,把素材正好卡在每一句话的开始、结束时间上,进行一一对齐。
然后,调用SubmitMediaProducingJob提交剪辑合成任务,根据剪辑合成任务的JobId调用MediaProducingJob,等待剪辑任务合成完成。
当任务状态为Success时,获取最终成片。(具体代码见文末课程回放)
除了以文案为主线截取视频素材之外,还可以根据音乐卡点、剧本等实现视频的“节奏感”,组装时间线进行视频合成,就能实现视频批量生产的效果。
04 Tips:经验分享
最后分享一些云剪辑的相关经验。
视频的批量生产、批量混剪,在云剪辑中非常常见。
随着短视频的兴起,客户需要在不同的营销号上分发不同的广告内容,从而达到宣传的目的。
由于分发到不同营销号上,分发的视频之间不能重复,此时云剪辑就发挥了重大作用。
客户一般会准备很多素材,分成不同的组,然后通过套用不同的剧本,加上特效、转场、字幕、背景音乐,制作出很多成片,最后再通过自动化的方式进行分发,从而达到批量生产的目的,同时也大大节省了人力成本。
以下是批量混剪多个成片的效果,可以看到,不同成片之间,选择的素材、素材的顺序、截取素材的位置是不一样的,再加上不同的特效、贴纸、字幕、转场等,就能实现较好的去重效果。
合成效果展示:https://v.youku.com/v_show/id...
节奏卡点
视频的批量混剪内含很多小技巧,比如卡点。
卡点能让视频更有节奏感,从而达到更好的效果。除了口播文案外,也可以通过卡点相册来达到效果,并且音乐卡点的节奏感更强,能给人一种打击感。
合成效果展示:https://v.youku.com/v_show/id...
上一节课介绍过,视频AI能够自动识别出一首歌的副歌部分和节奏卡点,由此就可以自动制作出卡点相册,从而达到批量化和自动化制作视频的效果。
除此之外,歌曲歌词、小说、剧本制作等都可以全自动地生成视频。
分镜时长
卡点作为一个很小的剧本,决定了视频以什么样的结构展开,而剧本制作也包含了一些小技巧:比如分镜,即一个视频片段,一个分镜的时间不建议超过3s,太长的分镜会让用户视觉疲劳,尤其是在看短视频时,用户都想以最快速度看到自己想要的内容。
因此,无论是口播文案、卡点还是剧本,每个片段的时间都不要太长。(分镜时长差异效果详见文末课程回放)
素材挑选
除此之外,片段时长短还有另一个好处:挑选素材会更方便。
合成效果展示:https://v.youku.com/v_show/id...
以上述素材举例,此类素材的特点为视频内容并没有发生太大的变化,可以截取任意部分套入剧本进行剪辑。
在剪辑中时常存在一种误区,即人们往往想保证素材的完整性,而这其实是不对的。
在剪辑中,首先要保证剧本的完整性,因为剧本才是视频的灵魂,要以素材适配剧本,而不是以剧本适配素材。
此外,更重要的是能提高开发的效率。用户上传的素材多种多样,如果针对素材去做适配非常繁琐,但如果先准备好剧本,然后让用户的素材来适配剧本,则能够极大地简化开发量。
还有一种情况是,用户上传的每个素材都很短,比如都是1秒,但剧本里需要一个2秒的素材,这种情况下更建议准备多个剧本,适配不同的素材,当拿到用户素材以后,直接挑选对应的剧本进行合成即可。
而智能媒体生产的模板工厂功能,则可以把用户常见的时间线沉淀到模板中,即刚才所说的剧本,将其做成一个个模板供剪辑使用。
总结视频批量生产的整体流程:首先创建剧本,剧本来源可以是口播文案、音乐卡点、或是自己创作的剧本。
其次,准备多个用来适配不同剧本的素材,可以是长视频或是短视频。
最后,在用户传完素材之后,根据用户的素材挑选对应的剧本并进行合成。
由此,可以减少很多不必要的适配工作,提高开发效率,降低开发成本,同时还能获得很多模板沉淀,从而提高视频批量生产效率。
视频剪辑场景复杂,在实际的工作中更考察创作者的灵感与创意。运用云剪辑工具,智能媒体生产依托云端算力,让剪辑工作更快捷、更高效、更智能,进一步提升媒体生产制作效率。
更多完整内容详见课程回放:https://v.youku.com/v_show/id...
阿里云视频云将行业资深导师分享的视频生产精彩演讲内容,浓缩成智能媒体生产领域的实用宝典《云端智创》电子书,与各位开发者和视频制作技术朋友分享。
《云端智创》电子书获取路径:关注【视频云技术】公众号,回复“电子书”即可领取。