写点什么

云端智创 | 批量化生产,如何利用 Timeline 快速合成短视频?

  • 2023-02-14
    浙江
  • 本文字数:6082 字

    阅读完需:约 20 分钟

云端智创 | 批量化生产,如何利用Timeline快速合成短视频?

本文内容整理自「智能媒体生产」系列课程第三讲:开发者实战,由阿里云智能视频云技术专家分享云剪辑 Timeline 的功能及使用方法、云剪辑 OpenAPI 的使用流程、短视频批量生产的基本原理以及使用 Timeline 合成常见的短视频效果。课程回放见文末。


01 Timeline 简化之道


什么是时间线 Timeline?


Timeline 是一个完整的数据结构,通过数据结构把整个剪辑表示出来。


在云剪辑编辑器中,界面可分为轨道素材预览窗口特效设置四个部分。


轨道分为视频轨、音频轨、字幕轨以及特效轨,上面的轨道会盖住下面的轨道,而一个轨道上可以包含多个素材。


比如,视频轨是按照视频的先后顺序拼接起来的,视频上可添加多个特效,像调色、蒙层、裁剪等,视频中可添加转场,也可以通过特效轨的方式,在视频中添加全局特效。字幕轨,可以设置字号、字体以及字幕样式等。


设置每一个素材的开始、结束时间,并通过一系列参数组成完整的视频剪辑。



Timeline 剪辑合成


通过视频合成接口提交剪辑,合成以下视频。把多个视频拼接起来,添加设置过样式的字幕和贴纸,同时又补充了上下黑边,将原本的横屏视频素材转成竖屏视频。


Timeline 可能包含多个轨道、每个轨道包含多个素材、而每个素材又包含很多设置信息,通过组装时间线,用户调用 OpenAPI 就可以剪辑出自己的视频。


Timeline 示例


合成效果展示:https://v.youku.com/v_show/id_XNTk0MTY3NTU0OA==.html


Timeline 数据结构


Timeline 中可包含多种轨道,包括视频轨音频轨字幕轨特效轨等,而视频轨中也可以包含多个视频或图片素材。


素材最重要的信息是其来源,将 OSS 文件或 VOD 媒资 ID 引入到 Timeline 中,以此指定唯一的视频或图片。此外,还可以设置素材的开始、结束时间,位置、尺寸等信息。


在 Timeline 中,上面的轨道会盖住下面的轨道,表现在数据结构中是数组后面的轨道会放置在上面,如下图代码所示:上面的轨道是视频,下面的轨道是图片。而字幕轨也可以包含多个片段,可以是标题、底部的翻译等信息。



文中形如 “https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-video.mp4” 的 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_XNTk0MTY3NTYwOA==.html


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_XNTk0MTY3NTY4OA==.html


那么,如何使用 Timeline 来合成此视频?


首先分析该视频,不难发现,该视频是由以下几个主要轨道组成:


视频轨包含了全部视频素材,是一个主要的轨道;文案转成了字幕,组成了主要的字幕轨;文案转成的人声组成了一个音频轨,此外,背景音乐构成了另外一个音频轨;叠加的全局特效组成了特效轨。



接下来分别看这些轨道是如何合成的。


l 视频横转竖


上述提到,把视频素材拼接起来,只需填入关键信息即可。该 Timelinede 的功能是把每个素材截取前两秒,按照时间顺序拼接到一起。



此外,视频素材是横屏的,如果希望输出一个竖版视频在手机上播放,只需要在输出配置里面设置分辨率即可,比如 720✖️280,由此输出了一个 720P 的视频。


同时,会默认把每个素材进行等比缩放,并按照成片的分辨率居中展示,不足部分补充上下黑边,即可实现视频横转竖效果。


合成效果展示:https://v.youku.com/v_show/id_XNTk0Mjc3ODY1Mg==.html


l 背景模糊


当然,上下黑边的效果仍不够好,我们期望在不足部分补充上毛玻璃效果,把整个视频用内容填满。在 Timeline 上的实现是这样的:添加 Effects,Type 是 Background,添加背景模糊效果,同时 SubType 为 Blur,并设置模糊半径。



合成效果展示:https://v.youku.com/v_show/id_XNTk0Mjc3ODY5Mg==.html


l 字幕转人声、背景音乐


接下来补充人声和背景音乐,分别为两个音频轨,实现同时播放效果。


在人声的音频轨中,设置人声类型,将文案素材合成到视频中,同时,添加 Effects 为 AI_ASR,把识别出来的人声转成字幕并设置字幕样式。


在背景音乐的音频轨中,只需设置其 URL,就可以从第 0 秒播放到视频的结束。



合成效果展示:https://v.youku.com/v_show/id_XNTk0Mjc3NzM4MA==.html


l 添加标题、修改字幕样式


标题作为字幕,添加时只需新增一个字幕轨并将其置入即可。字幕可以设置各种属性,比如字号、字体、颜色、描边、阴影等。


在短视频中还经常使用花字、字幕动画等,将字幕居中对齐,设置为 TopCenter 并确定居顶的外坐标即可。


标题和 AI_TTS 中添加字幕样式属性


合成效果展示:https://v.youku.com/v_show/id_XNTk0MDkwMjc2NA==.html


l 转场、特效


转场即 Transition,需要设置其类型以及持续时间,需要注意的是,转场会占用前后两个视频的时间,因为转场是上下两个视频之间的过渡。


比如,把两个 1 秒的视频拼接起来,中间加一个 0.3 秒的转场,那么最后成片的时间为 1.7 秒,即需要减去转场的时间。


特效即 VFX,比如电影特效、氛围特效等。



合成效果展示:https://v.youku.com/v_show/id_XNTk0MDkwMjc2NA==.html


l 随机特效、随机截取


随机效果是剪辑过程中经常会使用到的功能,用户期望只使用一个时间线,实现每次剪辑时随机挑选一个特效和转场进行使用的效果。随机效果有很多,这里介绍随机特效和随机截取。


转场和特效的 SubType 可以设置为多个,并用英文逗号隔开,这样在实际合成过程中,就可以随机选取一个进行合成。



截取可以添加一个 Effect:Clip,再添加 SubType 为 RandomClip,并设置随机截取的时长,比如 2 秒,这样在每次剪辑过程中,会在素材里随机截取 2 秒,如果素材不足 2 秒则直接使用素材的全部时长。


合成效果展示:https://v.youku.com/v_show/id_XNTk0Mjc3ODgzMg==.html


以上讲解了短视频每个轨道的制作过程、Timeline 展示以及使用的功能,完整的时间线和代码见文末课程回放。


l 字幕对齐


上述场景中,是把每个素材随机截取 2 秒进行前后拼接,更好的效果是把每个素材和每句话的开始结束时间一一对应,以此更富有节奏感。


合成效果展示:https://v.youku.com/v_show/id_XNTk0MTY3NTY4OA==.html


如何合成有节奏感的视频呢?


首先,可以根据文字素材生成字幕和音频,以此获取每句话的开始、结束时间。



基于此信息,即可根据字幕截取素材,然后再把截出来的片段按照顺序进行拼接,使得每个素材正好和句子对齐,从而达到预期效果。



这里要额外用到一个接口,即提交智能生产作业。此接口有三个参数,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_XNTk0MTY3NTg2MA==.html


节奏卡点


视频的批量混剪内含很多小技巧,比如卡点。卡点能让视频更有节奏感,从而达到更好的效果。除了口播文案外,也可以通过卡点相册来达到效果,并且音乐卡点的节奏感更强,能给人一种打击感。


合成效果展示:https://v.youku.com/v_show/id_XNTk0MTY3NTk1Ng==.html


上一节课介绍过,视频 AI 能够自动识别出一首歌的副歌部分和节奏卡点,由此就可以自动制作出卡点相册,从而达到批量化和自动化制作视频的效果。


除此之外,歌曲歌词小说剧本制作等都可以全自动地生成视频


分镜时长


卡点作为一个很小的剧本,决定了视频以什么样的结构展开,而剧本制作也包含了一些小技巧:


比如分镜,即一个视频片段,一个分镜的时间不建议超过 3s,太长的分镜会让用户视觉疲劳,尤其是在看短视频时,用户都想以最快速度看到自己想要的内容。因此,无论是口播文案、卡点还是剧本,每个片段的时间都不要太长。(分镜时长差异效果详见文末课程回放)


素材挑选


除此之外,片段时长短还有另一个好处:挑选素材会更方便。


合成效果展示:https://v.youku.com/v_show/id_XNTk0MTY5ODEzMg==.html


以上述素材举例,此类素材的特点为视频内容并没有发生太大的变化,可以截取任意部分套入剧本进行剪辑。


在剪辑中时常存在一种误区,即人们往往想保证素材的完整性,而这其实是不对的。


在剪辑中,首先要保证剧本的完整性,因为剧本才是视频的灵魂,要以素材适配剧本,而不是以剧本适配素材。


此外,更重要的是能提高开发的效率。用户上传的素材多种多样,如果针对素材去做适配非常繁琐,但如果先准备好剧本,然后让用户的素材来适配剧本,则能够极大地简化开发量。


还有一种情况是,用户上传的每个素材都很短,比如都是 1 秒,但剧本里需要一个 2 秒的素材,这种情况下更建议准备多个剧本,适配不同的素材,当拿到用户素材以后,直接挑选对应的剧本进行合成即可。


而智能媒体生产的模板工厂功能,则可以把用户常见的时间线沉淀到模板中,即刚才所说的剧本,将其做成一个个模板供剪辑使用。


总结视频批量生产的整体流程:首先创建剧本,剧本来源可以是口播文案、音乐卡点、或是自己创作的剧本。其次,准备多个用来适配不同剧本的素材,可以是长视频或是短视频。最后,在用户传完素材之后,根据用户的素材挑选对应的剧本并进行合成。



由此,可以减少很多不必要的适配工作,提高开发效率,降低开发成本,同时还能获得很多模板沉淀,从而提高视频批量生产效率。


视频剪辑场景复杂,在实际的工作中更考察创作者的灵感与创意。运用云剪辑工具,智能媒体生产依托云端算力,让剪辑工作更快捷更高效更智能,进一步提升媒体生产制作效率。


更多完整内容详见课程回放:https://v.youku.com/v_show/id_XNTk0MzQ1NTY4OA==.html


阿里云视频云将行业资深导师分享的视频生产精彩演讲内容,浓缩成智能媒体生产领域的实用宝典《云端智创》电子书,与各位开发者和视频制作技术朋友分享。


《云端智创》电子书获取路径:关注【视频云技术】公众号,回复“电子书”即可领取。

发布于: 刚刚阅读数: 2
用户头像

公众号:视频云技术 2020-10-20 加入

「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。

评论

发布
暂无评论
云端智创 | 批量化生产,如何利用Timeline快速合成短视频?_云计算_阿里云视频云_InfoQ写作社区