最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

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

  • 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:463991

评论 2 条评论

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

DPDK大页内存原理

赖猫

Linux DPDK

TCP 协议灵魂问题,巩固你的网路底层基础

一、MongoDB简介

Kylin

数据库 mongodb 学习 七日更 二月春节不断更

竞猜商城系统软件制作

v16629866266

前端学习总结,经验分享,项目经验分享过程

我是哪吒

学习 程序员 Vue 大前端 2月春节不断更

日记 2021年2月19日(周五)

Changing Lin

2月春节不断更

15. Python 程序运行速度如何提高十倍?第一遍滚雪球学 Python 收工

梦想橡皮擦

Python 2月春节不断更

Hive HMS Canary 时间较长异常分析

笨小康

大数据 hadoop hive

数据中心决策如何快人一步?一块大屏轻松实现3D数据可视化

一只数据鲸鱼

物联网 数据中心 数据可视化 IDC 机房管理

linux内核协议栈 邻居协议之ARP协议处理初始化

赖猫

Linux 协议栈 Linux内核

LeetCode题解:1143. 最长公共子序列,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

CoralCache:一个提高微服务可用性的中间件

华为云开发者联盟

数据库 微服务 中间件 内存 CoralCache

架构师week12心得

Geek_xq

Kafka.01 - 简介

insight

kafka 2月春节不断更

【STM32】ST-LINK下载器下载后需复位,程序才运行的问题

AXYZdong

硬件 stm32 2月春节不断更

技术秘籍 | 如何简单优雅的适配textview行间距?

百度开发者中心

大前端 TextView

诊所数字化:就诊流程标准化和产品SOP设计

boshi

数字化转型 医疗 七日更

使用 Tye 辅助开发 k8s 应用竟如此简单(三)

newbe36524

Docker 微服务 k8s dotnet

最新Hadoop的面试题总结

大数据老哥

GitHub上爆火的Java性能优化100+小技巧!(干货建议收藏)

Java架构师迁哥

地表建筑物识别Dayo1

IT蜗壳-Tango

七日更 2月春节不断更

Elasticsearch Search API 基础语法

escray

elastic 七日更 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

如何读懂CNN、BBC、经济学人、卫报、纽约时报?看完这本经典即可事半功倍!

wbliu85

学习 英语

架构师week12作业

Geek_xq

对DevOps的九大误解,是时候纠正了!

禅道项目管理

开源 DevOps 敏捷 自动化 持续交付

【LeetCode】最大连续1的个数三Java题解

Albert

算法 LeetCode 2月春节不断更

翻译:《实用的Python编程》01_07_Functions

codists

Python 人工智能 后端 数据结构与算法 函数

开源数据库管理系统现在比商业产品更受欢迎

PostgreSQLChina

数据库 postgresql 软件 开源社区

万字长文:解读区块链7类共识算法

华为云开发者联盟

区块链 公有链 拜占庭容错 共识算法 公式算法

DIY一款4路USB转TTL串口调试模块

不脱发的程序猿

DIY 电路设计 硬件设计 USB电路 USB转TTL

一文搞懂TCP的三次握手和四次挥手

不脱发的程序猿

三次握手 四次挥手 TCP/IP 网络通信协议 二月春节不断更

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