内容来源:华为开发者大会2021 HMS Core 6 System技术论坛,主题演讲《抖音短视频网络性能优化实践》。

演讲嘉宾:卡涛,抖音Android架构师

大家好!我是来自字节跳动抖音体验团队的卡涛。我的分享主题是抖音短视频网络性能优化实践。接下来,我将介绍短视频应用的弱网瓶颈,以及集成HMS Core无线传输服务后的改变。

弱网:短视频应用的网络瓶颈

日活跃用户数量突破6亿的抖音,面对巨量的用户群体,迎来了巨大的网络体验挑战。播放视频卡顿、视频加载时间长、卡顿5秒以上,这些都是困扰我们的问题。抖音还有直播业务,其中的“推拉流”过程对带宽的要求非常高,网络不行会直接导致用户在直播抢购时“卡了”。针对这些问题,我们一般会进行局域网探测,查看带宽问题;诊断测试,判别哪条链路出现问题。

随着抖音业务范围的不断扩大,安卓端侧的业务需求也逐渐增多,面临许多网络困境——

  • 视频下载/上传:抖音的很多用户不仅会下载视频分享给他人,还会自主上传的高质量的视频,这对网络要求很高。

  • 动态化:抖音的电商业务发展蓬勃,其中的信息流广告会调用一部分动态化资源。

  • 插件化:除了短视频,抖音的直播、本地生活、社交等功能插件的终端体验尤为重要。

  • 离线化:在春节、购物节等时间节点举办大型活动时,抖音会上线很多玩法、游戏。这时要保证活动的即时性,比如春晚抢红包的场景需要提前下发,对带宽也有很高要求。

  • 直播:抖音的直播业务如火如荼,需要保证带宽足、时延低、弱网环境尽量流畅等条件。“推流” 情况下,上传的带宽足够即可;“拉流”则对观看直播的实时性、时延、带宽、弱网可用性都有非常高的要求。

  • API请求:抖音用户量级大,若要持续拉取用户信息和视频播放信息,就对带宽、时延、弱网和稳定性提出了挑战。

系统能力:网络优化的突破口

那么,抖音如何在应用侧提升网络体验呢?应用业务层网络可用性优化有动态码率、动态分辨率、业务降级等。比如视频可以在低网速下自动降低码率;用智能心跳能力探测网络的心跳间隔。

网络框架层可用性优化有数据包压缩、动态选路、DNS解析优化、复合请求、链接层优化、CDN加速、协议层优化、弱网切换。如果用户的网络环境比较差,我们会提示用户登录免费Wi-Fi;或是提示他们选择免流模式。针对流量敏感的用户,我们也会尽量让他在较高质量的网络下浏览A,不对资费造成很大影响。有些业务的实时性要求不高,但对抖音的前台流量影响很大,后台还会对这些业务进行CDN限速,从而保证前台的播放和直播体验。系统层网络可用性优化则体现为更准确的用户感知、更精准的预测、更强的三方管制、更精细的链接保护。

以上都是目前业界比较通用的网络优化方式。HMS Core无线传输服务中的系统网络增强能力,包括链路保护、带宽加强、场景预测、弱网可用、信号评估,基本做到全覆盖。

针对网络卡顿,经过测试发现根本原因是关键链路的加载导致的。应用侧的弱网诊断手段有限,无线传输服务提供了更强的弱网感知和识别能力,进而进行更精准的弱网预测。它可以帮助应用理解网络API链接的优先级,主动控制带宽的并发量,感知更多的网络状态切换、更全面的用户体验信息,提升用户体验。

最佳实践:抖音弱网优化的典型案例

弱网预测,可以在弱网来临之前让应用有所准备。无线传输服务接到通知后,可以在地铁、电梯、高铁等不同弱网场景采取不同的云控弱网措施。比如用户在弱网场景下观看点播或直播,可以智能预加载,调整推送码率,并进行流量管控,提前下载流量。

如果预估弱网环境持续时间不长,无线传输服务会进行弱网的行为指引,提示想要退出应用的用户“您的网络即将恢复,请耐心等待”。预感弱网环境变化后,它还会提前调整协议层参数。另外,针对一些对前台影响大、耗流量的业务场景,抖音也会考虑撤掉。但在网络质量好的情况下,这些业务场景对用户体验是有益的,我们一般会通过实验观察表现后决定去留。

卡顿透传,可以让系统精细化决策。用户在播放长视频时,如果后台请求超时,基本没有感知;在前台点播短视频时,如果看到十几秒卡住再播,体验就会变得非常差。造成这一现象的主要原因有瞬时无网、延迟波动、带宽受限等。如何解决呢?为了优先保证视频加载和流媒体,无线传输服务可以结合卡顿事件定制策略,在预估Wi-Fi信号、5G信号、基站信号后,定义网络通道优先级并增强带宽。

网络卡顿快速响应,让隐藏的卡顿不再成为体验瓶颈。之前,网络断连1-2秒,应用无法及时感知。但前台的点播或直播就会有5-6秒的卡顿。集成无线传输服务后,可以做到事件可预测、双向事件通知和时常评估。在可感知的前提下,保证无网条件不发送无效请求,有网之后立即请求,更好地服务于对实时性要求高的应用场景。

大数据量带宽扩容,让痛苦快速消失。随着用户视频质量的提升,抖音面临大幅度的带宽消耗以及应用流量需求。比如插件下载、大型活动离线化资源下载、动态化资源预加载、视频上传、直播推流、安装包下载。首先,抖音会进行应用级优化,通过流量调度,完成错峰下载,保证前台流量顺畅,同时在服务端限制CDN速度。集成无线传输服务后,Wi-Fi高优先级发包、双Wi-Fi功能、多网并发、带宽管控等功能持续优化。

总的来说,基于抖音用户的大体量,集成无线传输服务能力的表现很不错。我们还有很多和华为在功耗、显示、网络等方向的合作,希望有机会和大家再次分享,感谢!

了解更多详情>>

访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHub、Gitee

关注我们,第一时间了解 HMS Core 最新技术资讯~

华为开发者大会主题演讲:抖音短视频网络性能优化实践相关推荐

  1. 华为开发者大会主题演讲:3D建模服务让内容高效生产

    内容来源:华为开发者大会2021 HMS Core 6 Graphics技术论坛,主题演讲<3D建模服务使能3D内容高效生产>. 演讲嘉宾:华为消费者云服务 AI算法专家 3D建模服务(3 ...

  2. 华为开发者大会主题演讲:图形引擎服务开启图形渲染的无限可能

    今天很高兴来到这里,跟大家分享我们图形引擎服务这一年来开放的能力,也欢迎各位小伙伴共同交流. 华为图形引擎服务简单来说就是一个图形3D的渲染引擎,实际上提供了两种服务能力,第一种是轻量化的3D渲染引擎 ...

  3. 华为开发者大会主题演讲:全链路网络加速,全场景极速体验

    大家好!今天我要介绍的是全链路网络加速解决方案.现代社会人们离不开网络,上班地铁刷短视频.中午打场游戏.晚上看网络视频.但我们经常会遇到短视频转圈刷不出来.游戏资源下载慢.视频卡顿等问题. 全链路网络 ...

  4. WordPress仿抖音短视频主题插件

    WordPress仿抖音短视频主题插件 安装包大小:9.13MB 出品方名称:WordPress组织 已包含服务:短视频上传.短视频标签.自动添加水印.带水印短视频下载.作者主页.点赞.评论.聊天 服 ...

  5. 抖音矩阵号/抖音短视频SEO矩阵系统源码开发及开发者思路分享......

    抖音矩阵号短视频系统,抖音矩阵号系统源码开发,思路分享,说一点开发者掏心窝子的话...... 一套优秀的短视频获客系统,支持短视频智能剪辑.短视频定时发布,短视频排名查询及优化,短视频智能客服等,那么 ...

  6. 鸿蒙系统会有新主题吗,华为开发者大会主题确定:鸿蒙系统、HMS及EMUI 11三大升级...

    华为开发者大会主题确定:鸿蒙系统.HMS及EMUI 11三大升级 2020-08-31 14:57:41 40点赞 12收藏 66评论 华为此前已经宣布9月10日将举行2020年的HDC开发者大会,目 ...

  7. 抖音短视频流量获取攻略,掌握好这些一定可以出爆款

    想知道如何获取抖音流量,必须先了解抖音流量的分发机制. 抖音有8级流量推荐机制,如下图所示.达人发布1条短视频后,会先获得300左右的基础流量,基础流量之后进入PK阶段,主要是与同标签的短视频进行PK ...

  8. 途志分享几个抖音短视频拍摄技巧

    为什么没有人看我自己做短视频的过程?那是因为别人看似随意的视频,其实用了很多短视频的拍摄技巧.要在短视频平台上产出优质内容,掌握短视频拍摄技巧是我们必不可少的技能.目前手机拍摄的便利性也非常高,拍摄的 ...

  9. 视频伪原创批量处理工具 抖音短视频解去水印

             视频伪原创批量处理工具 抖音短视频解去水印          智能机器人怎么,,能知道网民的兴趣爱好,靠的就是大量网民的行为数据.这是因为文章形式的内容跳过率自然很高.       ...

最新文章

  1. 自己写的一个测试函数执行效率的单元(test on Delphi 7)
  2. SD-WAN为企业业务出海提供网络保障
  3. 存clob为空的值_oracle clob 存储空间
  4. [js] 处理字符串换行造成的json解析失败
  5. html自动执行函数,JS 自执行函数原理及用法
  6. 二叉树的遍历 《算法导论》10.4-1~10.4-3 10.4-5
  7. css预处理器--sass学习($变量名)
  8. java中mvc框架有哪些,MVC框架详解,框架到底是什么? | 学步园
  9. dw1510_超低温种子储存柜
  10. PWM的基本原理及应用实例
  11. 《孙子兵法》第一篇《始计》的主要原则
  12. PHP的抽象类和抽象方法 abstract
  13. 机器视觉入门——VisionPro软件简介
  14. 无限流量+AI投屏:爱奇艺电视果4G亮相CES
  15. 转:什么是 CRA ?
  16. Linux+宝塔安装swoole教程
  17. 新产品、新特性、新生态丨一文回顾openGauss峰会云和恩墨分论坛150分钟的精彩...
  18. Windows10下Latex缺少sty文件时的安装方法
  19. wxpython的简单使用【代码实现】
  20. 推荐系统常用的评价指标

热门文章

  1. 【厉害了】台达PLC可以实现无线下载程序!
  2. 【图像转换】基于matlab灰度图像转换彩色图像【含Matlab 1233期】
  3. 大数除法——超详细讲解
  4. Codeforces Round # 555 (Div3)
  5. Photoshop cs6 如何让图层渐变透明
  6. 大学英语综合教程一 Unit 6 课文内容英译中 中英翻译
  7. Python新建一个文件目录,python怎么创建新文件
  8. 安卓手机硬件信息修改 Device ID Changer 2020
  9. 电子电路设计——分频电路设计
  10. html分级管理目录,卫生部抗菌药物临床应用分级管理目录(2018最新版)