写点什么

抖音增长的技术密码,我们在火山引擎增长沙龙找到了

  • 2021-09-12
  • 本文字数:3236 字

    阅读完需:约 11 分钟

抖音增长的技术密码,我们在火山引擎增长沙龙找到了

工具的迭代,让内容创作迎来了人人都是创作者时代。以抖音为代表的音视频产品的出现,让内容创作不再是单一的图文。电商社区的种草拔草、旅行行业的 vlog 等,各行各业都在音视频平台分享具有行业特色的内容。


从文字到图像再到视频,内容表达越来越直观,内容创作的工具门槛在不断放低。内容创作者、内容消费者和平台之间的相互感知,链路越来越短。泛娱乐行业在 AI 的助力下,飞速发展,身处其中的企业如何建设内容生态?如何保证移动端音视频产品的稳定性?如何做出一款好的互动娱乐产品?在刚刚结束的火山引擎增长沙龙上海站,我们找到了一些答案。

在改变中增长,AI 助力内容生态建设

直播和短视频让“人人都是创作者”的时代加速到来,“人人都是内容创作者,人人都是内容消费者”的说法也广受认同。直播和短视频,逐渐成为各行业面向用户场景的增长新引擎。直播和短视频创作中,需要什么样的创作体验?基础要求是操作稳定、运行低耗和效果精准,升级要求是简单便捷、满足个性化以及可充分延展。


以图像编辑为例,经历从最开始的一键修图到十级美颜,再到萌趣美化、高级质感、超清原生感和医美级人像的变化。不仅美妆界追求“无妆感”,美颜界也在追求“美得更像自己”。千篇一律的审美观念热度稍降,“美也要美得自然”更受 Z 世代的追捧。审美趋势的变化可见一斑。


工具也在随之改变,最开始只有单一的图像创作工具,后来视频创作工具诞生,如今在 AI 的加持下,图像创作工具和视频创作工具有了更多的玩法。图片编辑不再只是简单的调色和剪裁,新增萌趣贴图、老照片修复等。据字节跳动 UED 团队的观察,一键修图功能最开始只是简单加一层滤镜,通过滤镜的明暗弱化瑕疵,如今在 AI 加持下,一键修图有了关键点的概念,通过图像识别和定位,可以触发不同的特效贴纸。


内容的生产消费模式或者说内容生态的逻辑也在改变。如今,一位用户既是内容消费者,也可能是内容生产者,双重身份随时可能发生改变。作为平台方,不仅要为内容消费者进行个性内容推荐,还要为内容生产者提供智能视觉特效和智能视频创作工具,需要全盘考虑产品设计,做好内容生态建设。


火山引擎智能视频编辑解决方案总监郭沣仪表示,做一款 App,首先要思考的是产品建设的目标。从运营角度考虑,一款健康的产品有拉新、留存、促活、营收四个要素。能力建设、内容建设和平台建设三方面,决定了留存和促活。只有做好“用户—内容—平台”的生态链路建设,让整个链路能够转起来,拥有低成本地不断产生新内容的能力,内容生态建设才算有了雏形。


抖音能够做好这样的内容生态建设,与 AI 的助力密不可分。火山引擎智能互动特效解决方案总监范青举了一个具体的例子:“如果将拍摄环节拆解开,其实分为拍和编辑两个步骤,拍摄的产品设计逻辑是让人更容易打开摄像头去产生内容。抖音在做的智能互动特效,降低了生产者的拍摄门槛,让拍摄出有创意、被认可的作品变成一件更简单的事情,进一步提高了转换率,盘活了内容社区。”


内容社区被盘活,增长的产生变得自然而然。范青进一步解释,用户本身有双重身份,在内容生态中既是生产者又是消费者,而“增长”就在用户的双重身份转换的时候出现。在她看来,生产者在这样的内容生态中可以提供更多内容,所以当生产者和消费者的身份不断转换,这个内容社区就“活”起来了。


火山引擎 AI 业务的解决方案负责人骆怡航谈道:“在字节跳动,火山引擎将抖音和剪映背后的生态能力开放出来,包括素材、模板、特效、音乐。我们的设计师为大家定制一些玩法,同时我们把设计师用到的生产工具、生产模板、生产工具开放出来,让大家根据自己的场景创作属于大家想要的一些效果。另外,我们通过中台复用的能力,使得我们的技术、产品可以快速迭代。”

如今,火山引擎 AI 产品线以 AI 中台为基础,通过中台复用,持续面向不同行业不同场景,搭配不同智能体验套件,提供解决方案。火山引擎决定将 AI 产品线全面开放,通过增长沙龙、开发者社区和火种计划,助力伙伴成长。

构筑移动端智能视频创作体系化质量平台

这些技术能力在移动端实现并不容易。为了做好内容生态建设,向用户提供良好的智能视频创作体验,面向亿级 DAU,火山引擎在构筑移动端智能视频创作体系化质量平台上,也有不小的压力。


据字节跳动音视频高级开发工程师 Phoenix 介绍,移动端视频编辑面临的稳定性挑战包括:视频编辑业务对于性能和资源的要求比较高,涉及视频的编解码、美妆特效用到的推理引擎;对计算资源要求比较高,即对 CPU 性能的要求比较高;视频和图片资源在内存资源的占用上也比较高。平衡性能稳定和资源占用,成为稳定性挑战面临的首要问题。


此外,移动端的算力和资源环境也相对劣势,在移动端常做的视频创作开发调试,相对于传统的开发调试来说,问题现场不易获取,一旦出现程序突然崩溃的情况,很难立刻知道第一现场的崩溃原因,后期调试过程中,由于移动端开发中调试工具能力不足,效率也相对低下。这些问题对于抖音而言,还要严峻一些,毕竟万分之一的崩溃在亿级 DAU 面前都会被放大。不过据 Phoenix 介绍,字体跳动在质量治理上投入了非常大的人力,视频编辑 SDK 在火山引擎一年的治理下,在安卓端有了明显的优化,从 2019 年至今,SDK 崩溃情况有明显下降。


“从视频编辑场景崩溃来说,80% 的崩溃都在内存上,因为移动端资源劣势太大了。内存占用过大、内存泄漏治理(内存泄漏指在使用应用过程中,视频编辑持续申请内存,忘记释放或没有机会得到释放,是 C++ 开发典型的场景)、内存越界和野指针访问(应用在运行时,访问非法的内存区域导致崩溃)占线上 80% 的崩溃原因。”传统的处理方式,是针对崩溃报告进行针对性修复,但是研发人员在实践过程中发现这种方式只能解决小部分崩溃,所以针对内存崩溃字节跳动自研了一系列工具。其中,视频编辑质量工具名叫 VEHook。


据 Phoenix 介绍,VEHook 有四大优势:

  • 可以精准的跟踪内存和显存的申请,跟踪系统里面的内容由哪个代码申请。

  • 基于申请的跟踪可以精准的定位哪一块代码发生内存泄漏。

  • 对于内存的越界能够精准的定位,到底是哪一块发生问题。

  • 工具无需 root 或者越狱。


除了内存崩溃,剩下 20% 的崩溃情况主要包括两方面:厂商驱动的 bug 和移动端设备存储可靠性引发的崩溃。Phoenix 称,字节跳动针对厂商驱动 bug 的技术方案是,基于常见的 bug 类型,注入保护性代码,通过 Hook 技术避免应用崩溃;另一方面可以通过和多个厂商一起分析排查,在调用层面避免崩溃发生。除此之外,对于应用崩溃无响应或者视频编辑卡死,字节跳动会在视频编辑 SDK 对接口进行异步改造,对于编辑交互卡顿,进行资源池管理、低端机型降低分辨率以及功能阉割方式最大化提升用户体验,实现视频创作体系质量治理。


在构筑视频编辑 SDK 防劣化体系方面,字节跳动主要从两方面着手。其一是线上质量监控,通过进行线上质量监控当前 SDK 的稳定性,在出现问题时报警,对劣化问题进行自动化分析,并且对共同特征尝试给出归因报告,提出解决方案。其二是线下自动化,包括功能接口自动化、性能接口自动化以及 UI 性能自动化。Phoenix 谈道:“自动化归因本质是基于线上的大量运行时数据,整理基于运行时的环境数据,路径数据,日志数据、崩溃类型等得到的一系列特征值,利用深度学习和统计模型训练出一套自动归因的模型数据,并能针对具体数据自动推荐相应的解决方案,可以大幅度降低研发排查问题的效率 。”


火山引擎增长沙龙上海站圆满结束了。接下来,火山引擎增长沙龙将走进深圳和北京,从技术、产品和应用等角度分享实践经验,两站议题内容包括:

  • 不同场景下,智能互动特效如何助力企业业务增长?

  • 字节跳动的内容生态搭建逻辑是什么?

  • 面向音视频行业,字节跳动有哪些最佳技术实践?

  • 如何用智能视频剪辑技术推动创意孵化?

  • ……

如果你对创意 SDK 的孵化有莫大的兴趣,9 月 14 日下午 2 点,深圳深铁皇冠假日酒店的这场沙龙将非常适合你。如果你对多端、多产品音视频作品二次创作和协同创作背后的技术感兴趣,9 月 16 日下午 2 点,北京望京凯悦酒店期待你的到来。点击链接快速报名吧!

2021-09-12 17:213864

评论

发布
暂无评论
发现更多内容

08-消息队列备选架构选择和细化

Lane

手撸二叉树之二叉树的最大深度

HelloWorld杰少

数据结构与算法 8月日更

软件测试基础面试常问问题

程序员阿沐

面试 软件测试 自动化测试 经验分享 测试工程师

Vue进阶(十九): ES6 箭头函数

No Silver Bullet

Vue 箭头函数 8月日更

golang--切片(slice)

en

slice Go 语言 切片

理解 defer、panic 和 recover

Rayjun

Go 语言

十大排序算法--计数排序

Ayue、

排序算法 8月日更

千万级学生管理系统考试试卷存储方案

面向对象的猫

Go并发之同步异步、异步回调

Regan Yue

高并发 协程 Go 语言 8月日更

kubernetes/k8s CRI分析-kubelet创建pod分析

良凯尔

Kubernetes 源码分析 Kubernetes Plugin #Kubernetes# cri-o

Flutter Android 端 Activity/Fragment 流程源码分析

工匠若水

flutter android 0 基础学习 Flutter 8月日更

阿里云-云开发平台计算篇——加强应用本身的计算能力

若尘

阿里云 云开发 8月日更

模块四作业

Geek_35a345

kubernetes入门:可视化界面dashboard极简安装教程

小鲍侃java

8月日更

架构实战训练营模块四作业

NewBranSTONE

架构实战营

【Flutter 专题】74 图解基本 DropdownButton 下拉选项框按钮

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 8月日更

架构实战营模块 4 作业指导

华仔

架构实战营

写作 7 堂课——【3. 碎片式写作】

LeifChen

时间管理 写作技巧 8月日更 碎片化 心流

毕业总结

梦寐凯旋

#架构实战营

07-数据库存储架构

Lane

Vue进阶(十七):proxyTable 配置

No Silver Bullet

Vue 8月日更

🏆【Git 实战专题】你知道git rebase如何让代码提交变得清晰明白吗?

码界西柚

git Rebase git rebase 8月日更

python--语句的多样性

加里都好

千万级学生管理系统试卷存储场景

张文龙

#架构实战营

模块四作业:千万级试卷结构设计

buoge

oeasy教您玩转vim - 10 - # 插入新行

o

电商秒杀系统

Presley

Python代码阅读(第6篇):根据给定的函数对列表中的元素进行分组

Felix

Python 编程 Code Programing 阅读代码

搜索二维矩阵②

Memorys

Java 面试 算法

奥运背后的5G赛场,竟然也这么激烈?

白洞计划

【Vue2.x 源码学习】第二十九篇 - diff算法-节点比对| 8月更文挑战

Brave

源码 vue2 8月日更

抖音增长的技术密码,我们在火山引擎增长沙龙找到了_技术管理_张俊宝_InfoQ精选文章