技术社招!揭秘「剪映」技术团队如何从0到1打造爆款APP?

2020/08/09 11:57
阅读数 2.1K

8年前,字节跳动诞生在北京锦秋家园的居民楼,如今,我们的产品和服务覆盖150个国家和地区。本着“人才在哪里,就把公司开到哪里”的理念,我们已在全球设立了15个研发中心。


字节跳动深圳研发中心2017年成立以来,业务发展迅速,吸引了大批优质人才。目前,客户端、多媒体、前后端、测试、AI Lab、安全与风控等多个团队入驻深研,深度支持今日头条、西瓜视频、抖音、抖音火山版、飞书、Faceu激萌、轻颜相机、番茄小说等众多产品和业务。


短短几年中,深研团队主导打造了多款全新产品,其中就包括2019年推出的「剪映APP」



作为一款移动端视频剪辑软件,剪映的出现让短视频时代“人人都可以简单几步搞定特效大片”。上线3个月即登顶App Store中国区免费App榜、作为工具类应用至今仍位列Top10。


如此受欢迎的产品,却实实在在诞生于“火线”——立项到上线,只用了两个多月。




01

“火线”上的内部创业



2019年3月中,公司拍板由深圳影像团队牵头做这款视频剪辑新产品,开始了字节跳动又一次的内部创业。 各方出人出力出资源,开工一个月就开发出内部体验版,两个月内完成发版,但技术难题也随之出现。


由于音视频剪辑的场景比较复杂,剪映的技术框架是为了满足产品需求而做的全新开发。新的框架意味着一定的未知性——剪映初期的视频导出失败率达到了4%。


这显然达不到团队对产品的要求,所有人都在反复试用剪映和同类产品,体验功能、定位问题。

最终经过我们深入代码分析,发现可以采用内存复用,编码和渲染并行的技术框架,极大地缩短耗时,在对比测试中,领先行业同类产品。
对于合成成功率低的问题,得益于有完善的错误数据统计, 我们针对错误原因,快速试错,迭代了两个版本, 视频导出的失败率从4%下降到了1%

经过优化,剪映在体验上得到了用户的肯定,与竞品的测试比对中也达到了top的表现。团队内部试用时零失败的情况,在业界也很难复现。



视频导出失败的case,只是剪映技术团队面临的众多挑战之一。


在架构设计上,如何保证UI状态的一致性?怎样实现编辑动作灵活的 undo&redo?如此多的编辑Action是如何实现撤销和恢复的? 贴纸/文字动画效果局限/生产困难如何解决... ...


这些难题,剪映技术团队都一一攻克。其中具有代表性的是「剪同款」功能的实现。


当时市面上的产品已经有类似“基于用户上传的视频或照片套用模板来生成视频”的方式,但是现成的模板都是PGC制作,用户的创作自由度非常有限,剪映技术团队决定解决这个问题。


团队快速梳理了技术难点,一一对应找出了解决方法:

剪同款的引擎是基于编辑引擎之上构建的,可以保持能力的一致性,这样就可以让剪辑的视频转换成模板。

我们使用了跨平台的native技术,来实现剪同款模板协议的解析和配置,解决双端一致的问题。

另外,剪映本身的剪辑功能和格式的迭代速度很快,如何向前兼容是一个大挑战。

我们做了一套非常复杂的、自动化的基础设施,能够自动地使用一系列的模板测试用例来生成视频,会通过CV技术来判断是否有渲染错误、兼容性问题或者黑屏/花屏,这样的话每一次代码更新产生的问题都可以快速地回归。


「剪同款」功能一经推出就大受欢迎,用户可以更深入地参与视频制作过程,视频模板库也丰富多样,整体的使用和传播数据都有很大提升。





02

用创新和细节推动产品



从一开始,剪映技术团队就非常重视用户的即时体验——作为小白自学视频剪辑、体验产品;直接和用户聊手感和bug,跟PM团队主动交流。


由于许多抖音创作者和用户迅速成为了剪映的“自来水”,巨大的用户基数、相对复杂的机型和运营环境也带来了“幸福的烦恼”,团队首先要解决低端机的性能优化问题。


在不同性能和价位的手机上,想做到像专业软件一样全面支持视频剪辑,这非常有挑战,我们针对低端机型做了大量的优化。

首先是剪映中有对机型的性能、帧率、内存等指标进行分析和评估的组件,根据评估结果和打分,目前机型打分平台沉淀全球数万款机型,会定制针对机器的性能调优策略。

在这样的基础设施的支撑下,剪映很快在一个月之内解决了十几个可能卡顿的使用场景。


此外,剪映技术团队在跨平台、多端上的提前布局,也走在了产品的前面,流畅的使用体验获得用户的一致好评。



针对视频清晰度,剪映也有持续的技术投入和突破,上线仅半年多的时间就支持4K视频的导出。


4K视频的支持对剪映的性能挑战非常大,无论是编解码的速度、内存或者效果渲染的压力都增加了很多倍。技术团队针对这些挑战在底层做了很多调优,用不到一年的时间将4K视频导出的耗时做到行业最优,用户体验明显提升。


这是剪映从一个idea到成品的“火线”风格的延续,也是剪映技术团队以技术推动产品不断发展的缩影。

在剪映项目启动之前,团队就针对编辑场景进行非编架构的重构,让画中画、贴纸等需求在架构上得到支持,也给剪映将来跨多端产品的演进做好了技术铺垫。

得益于重构后编辑框架的灵活和可扩展性,在半个月内就完成了需求的落地。

剪映的技术架构和能力,经过字节跳动内产品矩阵的验证,无论效率和质量,都在行业内处于领先的位置。


类似的例子比比皆是:剪映率先支持了高清视频,最高支持100倍的流畅播放;率先支持了曲线变速等高阶变速功能;剪映还是首款Android端支持矢量字体的APP... ...


剪映中的「花字」也是让用户眼前一亮的功能,这源于团队在观看综艺节目时冒出的灵感——“大量花字的出现,会让视频的表达非常生动,而当时市面上没有任何一款产品有支持花字的能力。”


于是,团队对花字的方案进行了调查,发现制作花字需要掌握非常专业的设计软件,于是这又成为了研发团队渴望突破的技术难点。技术同学火力全开,刷了上千个抖音和综艺视频、收集了海量的花字素材,和设计师反复探讨实验,确认了花字的效果如何定义。


字体的渲染是一个消耗很多的功能,经过持续的投入和试验,我们成功研发了矢量文字,可以做到在视频中缩放几十倍依然保持清晰且占用内存更小,并支持基于矢量文字的特效字。

而且剪映还配有一个花字设计工具,设计师可以像使用photoshop一样来设计样式。

花字功能无论是从最终的呈现效果,还是从生产效率都做到了行业top,剪映也成为首款双端支持PC级综艺字、动画字的App。





03

做剪映,沉淀了太多方法论



为了让交互更便捷、平衡技术和用户体验,剪映技术团队在初期“激进”地产出产品和各项功能,拿到基于大量用户的真实反馈后,又“耐心”地对后续功能提出更高的要求,细致打磨。
剪映Server团队面对高并发场景,同时承载剪映、抖音等多产品线的业务场景,峰值达到5w+ qps,对系统架构的设计有很高的要求。 
还有我们的跨地域服务面临的安全合规、隐私政策,多区域的数据同步,跨机房调用等等,都是足够刺激又很需要细致的挑战。

除了在技术上做到行业领先,对于如何发掘技术上的可优化点、持续领先并推动业务发展,剪映技术团队有着一套明确的方法论——


  • 数据导向,发现和解决问题都以数据为引导,怎么解决、解决到什么程度

  • 技术上重视用户体验和性能优化,各项技术指标打磨到业界同类产品top

  • 开放方案选型,每个人都有发挥的空间、都有机会参与并影响项目的设计和技术的选型

  • 不设边界,出现了问题,各团队之间紧密配合,不会计较问题是否出在自己的模块

  • 主题化分享,每双月一个大topic和相关子topic,自由认领、深入学习调研,促进技术积累

  • 技术方案评审,针对需求成立评审委员会、拉取合作团队共同评估,提前规避潜在问题,提升方案/架构设计能力... ...



技术能力和技术思维并重的氛围里,参与开发的每个人都和剪映一起高速成长。


“因为移动端的视频非编是一个非常新的领域,过程中遇到的所有要问题几乎都是技术难点。产品的不断迭代会推动着我们探索能力的边界,技术上的突破也会驱动产品体验达到更高的标准。


剪映技术团队的许立阳同学加入时刚毕业不久,凭着对视频产品和技术的热爱,一头扎进「花字」这个业内没人做出来的功能上。一面刷海量综艺搜集和整理花字呈现的可能性,一面全力补充基础知识,还要学习文字渲染的解决方案、考虑设计师如何所见即所得的设计花字......和团队反复讨论、实验方案后,几乎是“死磕”出了花字效果。


但效果出来了还不够,我们发现花字在手机上很卡,性能和兼容性都有问题。

就反复排查、尝试各种黑科技,最终做到了用户体验到的流畅的花字效果。

经历过剪映的花字项目,立阳已经能独立cover很多高难度的技术攻坚,后来继续负责了很多有趣、有挑战的需求。

像这样的同学,在我们剪映技术团队里非常多。




加入我们,一起创造


关于「剪映」背后的技术团队

音视频技术团队,是业界目前涵盖业务最广,技术积累最深的音视频技术团队,团队分布在北上深杭四地。我们涵盖的技术领域包括音视频的录制编辑渲染合成,创作和消费端的图像视频增强算法、高性能工程优化。从移动端、云端、web端到桌面端,打造了一套强大的跨平台SDK,满足各种业务场景的技术需求。

目前我们支持的业务包括剪映、抖音、西瓜、抖音火山、轻颜等大大小小30+的业务,业务类型涵盖短视频剪辑工具,短视频平台级应用,拍照类应用,社交应用,新闻资讯,教育等。


剪映客户端团队跨深圳、广州两地,覆盖移动端(Android,iOS)和桌面端。

从分工上,分别支持剪映编辑模块,剪映社区,支撑基础技术优化等;从能力上,对技术栈要求全面,从UI的用户体验到具体的渲染优化,都依赖客户端工程师推进和解决。和产品、设计、多媒体特效团队紧密配合,快速敏捷的迭代,让用户体验到有惊喜感的剪辑产品。


剪映server团队base深圳,主要致力于剪映社区、教程、云能力的研发。在社区发展的过程中,抽象出很多关键模块,形成“同款”中台方案,提升了多款APP接入的效率。在应对互联网海量访问的架构设计、开发上,团队积累了丰富的经验。团队技术栈以线上服务golang,离线服务python为主,拥抱新技术,持续学习,不断成长。


多媒体特效团队是互联网行业最具影响力的图形图像技术团队之一,团队分布在北京、上海、深圳、杭州和美国硅谷等多地。技术涵盖了包括图形引擎,图像处理,计算机视觉,物理仿真,特效创作工具等领域。产品功能包括视频特效、AR滤镜、美颜美妆、3D动画等。团队以“成为公司的数字化创意引擎”为愿景去建设,“通过特效开放平台连接虚拟和现实”为使命。

目前支持剪映、抖音、今日头条、西瓜、轻颜、懂车帝、飞书等大大小小近40个业务线,涉及工具、长/短视频、直播、资讯、拍照、社交、教育、汽车、房产、企业办公、视频会议等不同类型的应用。


上下滑动 查看全部团队介绍





字节跳动2021校园招聘已开启

↓点击登录校招官网

job.bytedance.com/campus

投递校招研发职位

期待在深圳与你相遇~!



↓查看更多急招岗位

本文分享自微信公众号 - 音视频开发进阶(glumes_blog)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部