导语:智影是一个集素材搜集、视频剪辑、后期包装、渲染导出和发布于一体的免费在线剪辑平台,能够为用户提供从端到端的一站式视频剪辑及制作服务。智影已接入多个腾讯系内容生态产品,帮助用户提升视频剪辑效率和成片优质率。智影强大的产品能力和海量素材,在业内产生较高的影响力,欢迎各方接洽合作。
智影卓越的的云端合成能力,在稳定性和耗时方面都有不错的表现。那背后的技术方案是如何实现的呢?让我们一起来看看 TAVMedia 吧
TAVMedia全平台视频剪辑方案集合了跨平台渲染框架、音视频编解码、PAG动画工作流、可自定义扩展的滤镜框架、视频生成云服务等能力,新的方案提供了行业领先的动效素材生产工具,动效素材资源商店,有利支撑了业务方海量动效素材需求,当前已为AMS模板产量带来了16倍的增速,为智影提供了3500+可复用的素材;TAVMedia实现了全平台覆盖,包括Web端、服务端、移动端、PC端,并为各端提供了一致性对外接口,除了标准化原子素材格式PAG,也统一了模板素材、自由剪辑模板的格式,让视频生成服务和特效素材可以在各个业务场景中打通复用。标准化了视频渲染生成服务,为腾讯智影、AMS等业务服务端渲染效率提升了3-5倍,显著降低了服务器成本,在腾讯视频年中运营活动中,实现了仅1人天的开发成本就完成了服务对接。
这几年短视频行业的迅速发展,视频内容生产作为内容生态的重要一环,逐渐成为内容平台必备基础能力,像手Q、抖音、快手、视频号等各种内容或社交类产品,都需要音视频编辑能力。除短视频行业之外,AMS广告对于动态视频需求也愈发强烈,游戏行业对于战报视频也成为刚性需求,比如头部的王者战报、吃鸡战报等等。
但是音视频编辑相关业务复杂度,技术门槛比较高,已成为业务团队最主要的发展瓶颈。从下边的框架图,可以看出视频发布的技术需求非常复杂,最上层用户可以感知的业务能力,比如视频裁剪拼接、音乐或贴纸添加、AI效果和模板应用等等,而只是冰山浮出水面的一角,要实现这些复杂的视频发布需求,需要设计一个庞大的渲染系统,还要解决大量音视频相关的硬件兼容性问题。
当前团队的主要成员都是最早微视发布器的骨干,深耕视频剪辑这个领域已有4年+,已接入腾讯40多款业务目前已对外开源的PAG[1]就是团队的产物,视频剪辑方案也经历了TAVKit、Light SDK这2个历史版本迭代,最终走到了TAVMedia。
TAVKit以Timeline的轨道结构与渲染链的组织方式来串联了微视内的视频剪辑能力,灵活支持了AI特效、PAG模板、一键出片等需求, 2019年立项开发,带UI的版本TAVCut获得腾讯2020年上半年卓越研发奖,目前已接入了王者荣耀、手Q、微视、鹅剪等公司内部业务。但由于TAVKit诞生自移动端业务,因此只支持android、iOS两端,没有做到跨平台,且同时需要维护2套代码。
为了解决视频剪辑方案跨平台的问题,2020年Light SDK应运而生,该方案通过ECS系统,灵活组织了这些年积累的100多项能力;一套代码应用到移动端、PC端,减少了代码维护与问题解决的成本;统一了拍摄与视频剪辑方案,该方案比较完美的解决了拍摄上的AI能力如何应用到视频剪辑上的问题,只是输入源上一个来自Camera,一个来自视频画面,当前美摄SDK、剪映SDK都是这种方式,但拍摄与视频剪辑还存在许多差别,简单列举下:
• 同一时刻,拍摄的画面只有一路而视频剪辑可以有多路,所以在AI识别与特效处理上都有逻辑上的不同
• 拍摄中的AI事件与数据具有不确定性,而视频剪辑中的画面都是固定的,也就是AI时间与事件都是确定的,这点就可以做诸多优化。
• 为了兼容拍摄,AI触发与脚本控制的玩法,需一开始时初始化耗时比较高的触发需显示的资源(相应的内存占用也高),在该资源显示完后也不敢对其进行回收,因为怕又被触发显示,这样会导致内存占用高。
• 在AI触发或者脚本控制的相关玩法中,seek时的画面与预览画面不一致,因为有可能seek会跳过视频触发点。
目前手Q、微视android都已迁移到这种方案,该方案提供了可视化的玩法编辑器Tecent Effect Studio[2],一套玩法可同时应用在拍摄与视频编辑的场景,虽有些资源占用上的瑕疵,但微视与手Q这种移动端上的拍摄与后编辑都需要的业务不失为比较好的方案。
针对light sdk里视频编辑和拍摄合并的ecs架构导致无法真正对视频编辑进行优化的问题,同时也有不少web端与服务端的业务过来咨询视频剪辑的方案,为了真正做到全平台覆盖(支持Web、小程序和服务端),我们启动了TAVMedia。在TAVCut、Light SDK这2个方案的积累下,TAVMedia做了如下的优化:
• 业务中所有轨道数据(图片、视频、特效、滤镜)在TAVMedia都有对应的clip,而非Light SDK中的模板数据。
• 所有渲染结构都支持CPU\GPU任务分离,充分利用每个渲染间隔,高并发渲染。
• 渲染节点之间绝大部分由纹理传递方式改为FrameBuffer传递方式,减少离屏的次数实现渲染合并。
• 在扩展性上,业务可自定义的effect效果,只需要将其add到TAVMedia的Composition中即可。
• 更加灵活的预加载策略,在视频、特效、PAG轨道确定的情况下,预初始化CPU资源。
针对web端和服务端的应用场景,我们做了如下的优化:
• TAVMedia支持渲染结构实时序列化和反序列化,方便草稿存储、web端预览与服务器导出间通信。
• 更加智能的分段导出策略,根据服务器的CPU数量,以及导出一段视频所需的线程数量,智能分段导出。
• 纯净的视频片段(该视频段没有特效滤镜),无需渲染,只需要转码导出,减少渲染耗时。
上诉点的技术细节,在后续的文章中逐一介绍。
除SDK之外,我们还提供了可视化的制作工具,设计师只需要在自己最熟悉的动效制作环境AE中,设计完成后一键导出成PAG,包括原子特效与视频模板,并在桌面端提供了效果一致的预览工具,来查看效果与性能,确认OK之后,可一键上传到动池素材商店,当然也可以私藏。各个垂直场景在自己动效产能不够情况下,也可以在动池素材商店下单,内外部设计师接单之后用制作工具设计完成后,再上传到各业务的素材管理后端,通过TAVMedia SDK渲染导出成MP4。另外这个视频中所用到的AI事件比如游戏事件、AMS广告事件都前置识别,这样有几个优点:
• AI事件识别库与TAVMedia渲染库,从流程上做到解耦。
• 解决在AI触发或者脚本控制的相关玩法中,seek时的画面与预览画面不一致的问题
• 兼容各个业务情况,比如游戏事件、音乐卡点、AMS广告事件都是前置预设好的。
智影是TAVMedia第一个落地业务,TAVMedia SDK为智影带来了:
• 为智影提供了3500+可复用的素材。
• 从Web端到服务端全套解决方案,且web端和服务端协议数据打通。
• 渲染性能相比于原来老的渲染导出性能提升了将近3.9倍,也意味着服务器成本降低了80%左右。
除提供SDK外,还可以提供标准化的视频渲染Paas化服务,以AMS广告业务(之前已接入PAG的方案)为例,接入TAVMedia Paas服务可以为其带来:
• 性能优化:同样的资源情况下,通过提升CPU利用率和优化渲染链路,使得渲染耗时比降低26.67% ,从0.451到0.331
• 成本优化:同样任务量,同样的任务完成时间,CPU核心降低24.6%,内存降低 94.5%,总成本钱降低 39.2%。详见(实验设计,根据52个生产环境录制请求和16个consumer实例集群测试结论)
• 稳定性加固:解决自动扩缩容问题、增加监控手段7个,定位问题手段2个,最终成功率SLI保障(内网) 99.95%(原来旧集群99.95%)
• 迁移成本低:1人天完成开发,协议兼容现有AMS业务请求,增加少量字段如鉴权和租户信息
• 减少人力成本:不需要AMS运维
• 新业务接入效率高:增加TAVMedia-Template适配层,新业务进入服务端只需更新js文件即可
1.平均渲染耗时减少: 31.91%
2.平均渲染耗时比减少: 26.67%
欢迎登录智影(点击阅读原文一键直达):https://zenvideo.qq.com
欢迎关注智影公众号智影Zenvideo了解最新产品与活动信息
欢迎加入智影X企鹅号公众号用户群,解锁更多福利与服务,欢迎分享你的使用心得和需求
[1]
PAG: http://pag.io/[2]
Tecent Effect Studio: https://effect.qq.com/