本文内容整理自「智能媒体生产」系列课程第三讲:开发者实战,由阿里云智能视频云技术专家分享云剪辑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 视频横转竖上述提到,把视频素材拼接起来,只需填入关键信息即可。

该Timeline 的功能是把每个素材截取前两秒,按照时间顺序拼接到一起。

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

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

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

背景模糊当然,上下黑边的效果仍不够好,我们期望在不足部分补充上毛玻璃效果,把整个视频用内容填满。

在Timeline上的实现是这样的:添加Effects,Type是Background,添加背景模糊效果,同时SubType为Blur,并设置模糊半径。

合成效果展示:https://v.youku.com/v_show/id_XNTk0Mjc3ODY5Mg==.htmll 字幕转人声、背景音乐接下来补充人声和背景音乐,分别为两个音频轨,实现同时播放效果。

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

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

合成效果展示:https://v.youku.com/v_show/id_XNTk0Mjc3NzM4MA==.htmll 添加标题、修改字幕样式标题作为字幕,添加时只需新增一个字幕轨并将其置入即可。

字幕可以设置各种属性,比如字号、字体、颜色、描边、阴影等。在短视频中还经常使用花字、字幕动画等,将字幕居中对齐,设置为TopCenter并确定居顶的外坐标即可。



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

合成效果展示:https://v.youku.com/v_show/id_XNTk0MDkwMjc2NA==.htmll 转场、特效转场即Transition,需要设置其类型以及持续时间,需要注意的是,转场会占用前后两个视频的时间,因为转场是上下两个视频之间的过渡。

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

合成效果展示:https://v.youku.com/v_show/id_XNTk0MDkwMjc2NA==.htmll 随机特效、随机截取随机效果是剪辑过程中经常会使用到的功能,用户期望只使用一个时间线,实现每次剪辑时随机挑选一个特效和转场进行使用的效果。

随机效果有很多,这里介绍随机特效和随机截取。转场和特效的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

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

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

云端智创 | 批量化生产,如何利用Timeline快速合成短视频?的更多相关文章

  1. BPM业务流程管理系统_K2受邀出席QAD客户日活动,赋能企业云端智造_工作流引擎

    10月17日,K2受邀参加由厦门易维主办的以“走进QAD云ERP,深耕智能制造”为主题的QAD客户日活动.本次大会是以工业4.0背景下传统制造业面临巨大压力和挑战为导向,旨在探讨如何助力企业迅速适应业 ...

  2. 从大数据到快数据 数据智创未来——2019 CCF大数据与计算智能大赛正式开赛!

    8月17日,以“数据驱动,智创未来”为主题的2019 CCF大数据与计算智能大赛(CCF Computing Intelligence Contest,简称CCF BDCI)全球启动仪式,在北京大学正 ...

  3. WAF绕过神器 (过安全狗、智创SQL注入)

    WAF绕过神器 (过安全狗.智创SQL注入) 发布时间:-- :10文章来源:网络文章作者:panni007 点击次数: 次 分享到: QQ空间 QQ微博 新浪微博 开心网 人人网 摘要:起因: by ...

  4. Python 带你高效创作短视频,视频创作秀到飞起!!!

    近两年,抖音.快手将短视频推到风口浪尖上,要生产出高质量的视频,离不开视频剪辑这一环节:在全民剪片浪潮中,大众使用最多的剪辑软件如:Pr.FCPX.剪印.Vue 等. 视频剪辑过程中,Python 一 ...

  5. 9. 利用Docker快速构建MGR | 深入浅出MGR

    目录 1.安装Docker 2.拉取GreatSQL镜像,并创建容器 2.1 拉取镜像 2.2 创建新容器 2.3 容器管理 3.构建MGR集群 3.1 创建专用子网 3.2 创建3个新容器 3.3 ...

  6. 8. 利用Ansible快速构建MGR | 深入浅出MGR

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 1. 安装ansbile 2. 配置ansible 3. 建立ssh信任 4. 测试ansible 5. 使用ans ...

  7. 利用Nodejs快速构建应用原型

    利用Nodejs快速构建应用原型 开发一个应用往往需要快速的构建原型,然后在此基础上设计和改进,前端可能立马能看到效果,但是后端业务逻辑不会那么快,这个时候其实我们需要额只是一些模拟数据,所以不需要真 ...

  8. 【.NET】传智播客第【19】期就业班视频(高清无加密)

    [.NET]传智播客第[19]期就业班视频(高清无加密) 下载地址:http://fu83.cn/thread-85-1-1.html

  9. 利用 TFLearn 快速搭建经典深度学习模型

      利用 TFLearn 快速搭建经典深度学习模型 使用 TensorFlow 一个最大的好处是可以用各种运算符(Ops)灵活构建计算图,同时可以支持自定义运算符(见本公众号早期文章<Tenso ...

  10. Java 利用缓冲字节流来实现视频、音频、图片的复制粘贴

    InputStream:继承自InputStream的流都是用于向程序中输入数据的,且数据单位都是字节(8位). OutputSteam:继承自OutputStream的流都是程序用于向外输出数据的, ...

随机推荐

  1. mysql忽略大小写配置

    #更改配置文件:vim /etc/my.cnf#添加此行在[mysqld]下lower_case_table_names=1​#重启服务systemctl restart mysqld  

  2. Kubernetes_k8s持久化存储(亲测可用)

    一.前言 新建具有两个节点的k8s集群,主节点(master节点/m节点)的ip地址是192.168.100.150,从节点(w1节点)的ip地址是192.168.100.151. 本文操作如何将po ...

  3. 【Java并发009】原理层面:ThreadLocal类全解析

    一.前言 在Java多线程模块中,ThreadLocal是比较重要的知识点,虽然ThreadLocal类位于java.lang包,但是这个类基本上仅用于多线程. 二.ThreadLocal类概要 2. ...

  4. windows 使用ACR122U-A9设备读写M1卡

    软件地址 M1卡服务程序 安装好驱动后就可以破解,破解成功后的秘钥会显示出来(记录下来),同级目录会生成一个dump文件,这个文件包含此M1卡的全部数据,可以使用hexedit打开,编辑或修改 Mif ...

  5. Datawhale组队学习_Task01:概览西瓜书+南瓜书第1、2章

    第一章 绪论 1.1引言 打开书,五分钟后,合上书:嗯!学会了!如何判断一个好瓜 1.2基本术语 分类:对离散值进行预测的学习任务,是有监督学习的代表 回归:对连续值进行预测的学习任务,是有监督学习的 ...

  6. NCTF2022 - pwn 部分 wp

    总的来说我出的几题不是很难,主要是想把自己感觉有意思的一些东西分享给大家. ezlogin 程序设计周大作业稍加改编出的题目.洞在Tea里,有个数组越界写,为了避开\x00截断,我给了*可以对其进行替 ...

  7. python之xlsx合并单元格

    需求背景: 工作中将数据保存xlsx文件之后,里面每一列中有很多重复的看着很不美观,需要将每一列中的相同值合并起来,是表格看起来美观简洁 处理前 处理后 直接上代码(内涵注释讲解) "&qu ...

  8. 猿人学web爬虫攻防大战

    这里有1.2.3.4.12.13.15题 1.第一题 import execjs import requests def get_response(): js_code = ""& ...

  9. MSTN CE和MSTN SDK安装经验及技巧

    MSTN CE和MSTN SDK安装经验及技巧 本文介绍了MSTN CE及MSTN CE SDK安装的流程以及在安装时可能会遇到的问题 一.MSTN CE安装 1.MSTN CE即Microstati ...

  10. [Linux Kernel 源码分析] 通过vconfig配置vlan的系统调用/驱动流程分析

    By YuCloud (蓝天上的云℡ - 博客园 https://www.cnblogs.com/yucloud/) 转载请注明出处 vconfig源码分析 vlan/vconfig.c at mas ...