写点什么

快手于冰:咱客户端工程师,还可以往哪个方向纵深?

  • 2021-07-13
  • 本文字数:2102 字

    阅读完需:约 7 分钟

快手于冰:咱客户端工程师,还可以往哪个方向纵深?

1、2019 年,于冰在一次演讲中提出了这样一个观点——5G 很可能不是革命,反而更像是一种催化剂,在 5G 的加持下,视频会像空气和水一样无处不在。 这句话得从两个角度理解。


2、从用户需求来看,图文到视频的升级是必然趋势。作为一种多媒体的载体,视频内容的信息量、丰富程度、可观看性和可消费性都是非常大的,给用户带来了全方位的沉浸感体验。再加上推荐算法的赋能,视频显然是一种体验更好的内容消费形式,如今的短视频大潮也印证了这一点。


3、从基础设施的进步来看,整个网络基础设施和移动端体验都在持续提升。包括千兆固网接入和 5G 的普及,移动端生产侧的拍摄制作能力、消费侧的清晰度和屏幕大小持续提升,这些与用户需求的转变是相辅相成的。


4、所以,无论通过平台海量数据,还是行业发展趋势都可以说明“视频会像空气和水一样无处不在”这个观点已经得到了验证,而这个趋势还将继续加速。不信的话,你看看头部互联网公司是不是都在玩视频、玩直播。


5、5G 加快落地,音视频产品越来越丰富,作为快手移动端和音视频技术负责人,于冰总结了他看到的移动开发新趋势。大概有以下几个方面:

  • 更多的业务场景:社交、电商、教育、办公……短视频生产、短视频消费、直播、RTC 场景明显增多。

  • 更深的技术栈:在 5G+AI 时代,随着带宽的提升,音视频成为主要内容载体,AI 带来了更多可能性。移动端需要对内容创作和消费体验做出更好的支持,会涉及到多种技术栈,比如网络、缓存、AI 推理引擎、图形引擎、底层编译器、OS 级别的优化等,再加上移动硬件设备的持续升级,移动端 NPU 和高色域高帧率屏幕的逐步普及,会带来技术百花齐放的局面。

  • 更大的基础资源压力:假设要在移动端播放一个 60fps/1080p 的视频,它每秒钟会加载 60 张图,这个数据量是非常庞大的,而这些图还要被高速处理,对硬件和 GPU 的渲染能力都有更高的要求。

  • 更高的算法复杂度:除了交互能力,很多在过去只能在 PC 端才能做到的内容生产制作的能力,比如视频采集 / 剪辑、AI 特效等等,如今在移动端也能实现。“端智能 + 端云一体”趋势越加明显。由于用户的机型不同,既要保证能为高端机提供更好的效果,又要保证低端机的体验流畅,需要可伸缩的能力,这让生产侧 AI 和音视频处理的算法复杂度进一步提升。

  • 更快的迭代速度:行业竞争激烈,业务需要快速迭代部署上线,这推动着移动原生开发和前端开发加速融合,向着大前端演进。


6、 除了以上几点,还有一个趋势是,随着国内流量红利见顶,越来越多的企业开始布局海外,快手也不例外。他们的主要战场在东南亚和南美,这些地方都有一个统一特征——机型更低端,网络情况更复杂、基础设施更落后,自然,移动开发面临的挑战也更大。


7、快手不只是一个用来看视频的简单 App,它更是一个既有广度又有深度的超级 App,业务非常复杂。


8、从技术的广度来说,为应对这些变化,快手移动端的技术栈覆盖数据、动态化引擎、网络、图像、音视频、传输、渲染引擎等等。举个例子,这里面单是“网络”这一项涵盖的范围就特别广:API、视频和图片的分发和下载、域名解析、缓存(预加载策略)、视频上传等等,如果从全局看,广度可想而知。


9、再从技术的深度来说,快手需要做到非常极致的性能优化和稳定性。比如,快手的视频压缩算法要用汇编来加速,视频的解码需要适配硬件的能力,AI 推理引擎的加速也需要深耕。再比如,特效的渲染、AI 的推理都需要很高的算力,在做端智能的时候,还需要在双端(iOS 和安卓)流畅运行,这就要深入到操作系统的内核去研究。


10、快手的移动端都有哪些特点或者挑战呢?挑战就是机遇,从这个视角看,你也能想清楚未来行业的横向和纵向发展趋势。


11、一是上层业务复杂,大广场小生态。 快手不仅涵盖了短视频的生产消费,还有直播(电商、教育、游戏)、小程序、长视频、社交等业务,是用户心智非常丰富的产品。所以为了承接各种各样的业务形态,快手通过业务分层,为每一层都适配了不同的动态化技术。核心业务短视频、直播等业务,会倾向于用 Native 方案来做;拓展业务,比如电商、运营等,会用动态化的方式来做;再往上一层的生态业务,快手倾向于用小程序为用户提供更全面的服务。这种不同的动态化方式可以让快手核心安装包比较小,业务生态拓展、业务的迭代速度也会非常快。


12、二是下层音视频和 AI 对性能、双端适配等都要求很高。 快手是一个以音视频生产和消费为核心,以 AI 能力为辅助的 APP,底层对双端适配的要求非常高。所以快手在上层用动态化技术实现业务的快速迭代,但在底层主要用的还主要是 C++,甚至会用汇编去写。


13、三是需要高效迭代。 复杂和海量业务下,快手需要保证每周发版频率,甚至在一些重大活动时,要做到随时发版。


14、四是架构精益求精。 快手有三亿日活,用户使用时长也很高,对崩溃率的容忍度很低,团队就要有能力支持大规模的团队并行开发,所以要做解耦和隔离,做模块化、组件化。


15、在刚刚结束的 GMTC 上,于冰有分享快手的移动端技术全景图,从这图里,你也能看到些许的方向和趋势。


16、7 月 14 日(周三)晚上 8 点,我会在视频号连麦于冰老师,没有广告,没有鸡汤,咱们实实在在,就聊聊客户端,聊聊技术趋势,聊聊选择和努力。如果你感兴趣的话,可以预约。



2021-07-13 16:464696

评论 2 条评论

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

云图说 | 华为云医疗智能体智联大健康:AI医学影像

华为云开发者联盟

AI 医学影像 医疗智能体 华为云医疗智能体 大健康

Nacos配置中心交互模型是 push 还是 pull ?你应该这么回答

程序员小富

Java 编程 程序员 分布式 nacos

JAVA 九种排序算法详解(中)

加百利

Java 数组 排序 7月日更

系统故障防不胜防?不存在的,让大佬来给你上一课!

TakinTalks稳定性社区

高可用 测试 全链路压测 测试工具 生产环境全链路压测

NumPy_2021.07.05

Flychen

社交软件上“你可能认识的人”到底是怎么找到你的?

华为云开发者联盟

知识图谱 社交软件 TransE模型 用户画像 知识图谱补全

聚星公社软件开发|聚星公社APP系统开发

GIN钱包挖矿系统开发|GIN钱包挖矿软件APP开发

BHDEX币挖矿APP系统开发内容

如何给MindSpore添加一个新的硬件后端?快速构建测试环境!

华为云开发者联盟

AI 模型 框架 mindspore

Go 学习笔记之 整型数据类型

架构精进之路

Go 语言 7月日更

快看吧系统开发|快看吧软件APP开发

国家网信办:“滴滴出行” 下架整改!

学神来啦

DDD笔记

topsion

微摩尔WMO软件系统开发介绍

数字化转型提升太平洋保险风险治理能力

数据湖洞见

大数据

聊聊数据仓库中维度表设计的二三事

云祁

数据仓库 维度建模 7月日更

项目经理的职责和权限分别是什么?

万事ONES

项目管理 ONES 项目经理

Serverless 崛起背后的五大挑战

Serverless Devs

Serverless

2022秋招vue面试题+答案

buchila11

Vue Vue 3

免费分享学习Java框架Netty的优秀图书

Java入门到架构

Java 书籍推荐

从结构体、内存池初始化到申请释放,详细解读鸿蒙轻内核的动态内存管理

华为云开发者联盟

鸿蒙

从零实现一个 k-v 存储引擎

roseduan

存储 Go 语言 KV存储引擎 存储系统

北鲲云超算平台——致力于提高科研效率,降低计算成本的云超算平台

北鲲云

XRP瑞波币系统开发|XRP瑞波币软件APP开发

《持之以恒的从事运动》二

Changing Lin

今天,「浪潮云说」直播间开讲啦!

云计算

Java开发从二面被拒到收割阿里架构offer,我花了一年时间,复盘成功经历!

Java架构追梦

Java 阿里巴巴 架构 offer 成长笔记

如何做需求分析?

万事ONES

产品经理 需求分析 ONES

真happy软件开发|真happy系统APP开发

快手于冰:咱客户端工程师,还可以往哪个方向纵深?_移动_邓艳琴_InfoQ精选文章