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

投递校招研发职位

期待在深圳与你相遇~!

↓查看更多急招岗位

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

  1. 深度剖析「圈组」消息系统设计 | 「圈组」技术系列文章

    导读: 网易云信新晋的 IM 顶流产品「圈组」出道后获取到了极大的关注,很多云信的客户在接入的同时对于「圈组」的底层技术细节和原理也非常关注,为此,我们决定推出云信「圈组」相关的系列技术文章,分享网易 ...

  2. 最新资讯!ONES 宣布收购「思否」技术社区!

    近日,知名技术问答社区 SegmentFault 思否(下称「思否」)创始人祁宁在官网宣布:ONES 完成了对 思否 的收购. ONES 是谁? ONES 成立于 2015 年,是国内领先的企业级研发 ...

  3. 18K-28K/m, 南京的卢技术社招:感知、OCR、SLAM方向

    关注公众号,获取更多AI领域发展机会 公司介绍 2018年,的卢技术在南京创立,未来将在各地布局研发.交付团队.从公司成立起,以"创造让人信任.智慧.优雅的个人产品,让人生活得美好.有趣&q ...

  4. await原理 js_「速围」Node.js V14.3.0 发布支持顶级 Await 和 REPL 增强功能

    本周,Nodejs v14.3.0 发布.这个版本包括添加顶级 Await.REPL 增强等功能. REPL 增强 通过自动补全改进对 REPL 的预览支持,例如,下图中当输入 process.ver ...

  5. 国行 iPhone 12/Pro/Max双卡模式支持5G网络;支付宝推出「晚点付」功能;MySQL 8.0.22 GA|极客头条

    整理 | 郑丽媛 头图 | CSDN 下载自东方 IC 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 国内 ...

  6. 支付宝、微信回应3D面具破解人脸识别;ofo 否认「发币」;Kafka 2.4.0 发布 | 极客头条...

    整理 | 屠敏 快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注 ...

  7. 12月18日科技资讯|支付宝、微信回应3D面具破解人脸识别;ofo 否认「发币」;Kafka 2.4.0 发布

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧.扫描上方二维码进入 CSDN App 可以收听御姐萌妹 Sty ...

  8. 开发2年半,「纪念碑谷」的团队做了一款开放世界“观鸟”游戏

    如果你随便抓一个路人问他/她在手机上玩过最有艺术感的游戏是什么,相信大概率会得到的答案是「纪念碑谷」. 这款由英国Ustwo Games在2014年公布的作品极具个性和创意,在当时一众良莠不齐的移动游 ...

  9. 智能网联技术 英文_揭秘!智能网联汽车技术应用与发展趋势!

    互联网.信息技术等技术的进步改变了各行各业的发展模式,尤其是作为技术型与集约型产业,汽车行业迎来了新的发展时期.近年来,智能网联汽车逐步成为汽车发展的主要趋势,虽然取得了一定的发展成果,但是还存在一些 ...

最新文章

  1. 树、森林与二叉树的相互转换
  2. php两次访问时间,php – 检查当前时间是否介于两次之间,可能会有几天的时间
  3. portainer 启动mysql_docker 安装portainer容器后,启动/Portainer 安装MySQL并开启远程访问...
  4. 2019年春计算机应用基础随堂作业,华南理工2019年《计算机应用基础》随堂练习 doc...
  5. 在Raspberry Pi上轻松设置.NET Core并使用VS Code进行远程调试
  6. 算捡漏么?我发现了一个值2万美金的 Facebook DOM XSS 漏洞
  7. C++--第0课 - 学习C++的意义
  8. C语言打印结构体的值,怎么才能把结构体里面的二维数组打印出来?
  9. 设置session时间 php,php中设置session过期时间方法
  10. https数据传输协议(安全套接字层超文本传输协议)
  11. 深入浅出Direct3D 蔡军生 版权所有
  12. 基于药效团的药物设计(Pharmacophore Construction)
  13. ui-bootstrap-tpls 中文 现在还不全的啊~,组件太多了,有空就更新
  14. 计算机考研地域重要还是学校,考研选城市还是选大学?想知道考研学校重要还是地域重要...
  15. 最新版Ubuntu 18.04将语言改为中文(简体)
  16. Error contacting service. It is probably not running解决
  17. 2022年5月远程网络教育大学英语B统考题库试题
  18. Vue实现离线创建项目
  19. sortable实现拖动排序
  20. 一个程序员的真实故事(下)

热门文章

  1. 计算两个经纬度坐标点之间的距离
  2. cad查看_怎么在安卓手机中查看CAD图纸
  3. 用一段哲理来鞭策自己
  4. Win10 开启开发者模式的几种方法
  5. [湖南大学程序设计实训训练作业三]1.部分A+B(字符串搜索)
  6. 【Java】锁的原理以及应用最详细教程
  7. Ubuntu: 删除ubuntu桌面的两个图标
  8. 2019燕山大学程序设计新生赛(二)
  9. Qt platform plugin “windows Available plugins are:windowsXXX问题
  10. 关于在Python语音识别这方面的小总结