目前国内直播行业已呈现一片红海,各直播产品的用户增长速度在逐渐放缓,行业内竞争进入白热化阶段,急需通过在直播体验上的精细化运营来保障平台营收。

  如针对重大活动、头部主播进行直播体验优化保障。对于出海APP来说更是如此,复杂的网络环境、机型设备等问题,导致直播产品面临诸多体验问题,如首帧加载时间过长、画面模糊、卡顿等,极度影响了用户的直播观看体验,导致头部主播离家出走、营收下降、用户流失严重、APP 活跃度下降等问题,还有些直播系统甚至需要缓存几十秒才能加载出正常画面,那么,如何在直播系统开发中缩短首屏打开时间呢?以上问题出现的原因通常可以从网络、设备、成本三方面来进行归纳。

  直播体验拦路虎

  网络

  ·网路环境复杂

  ·地区之间网络差异巨大

  ·存在跨网等情况

  ·CDN 质量不稳定

  设备

  ·终端设备机型种类繁多

  ·部分地区低端机型占比高、问题复杂

  成本

  ·使用 RTC 做直播效果好,但成本较高

  ·画质高清带来成本增加,还容易引发卡顿,该如何确定合适的画质是让人头疼的问题

  ·全链路数据监控系统复杂

  ·如何将有限的资源更好的用在高收益的地方

  本篇文章将针对秒开、清晰度、流畅度这三个技术方向进行技术解析,带你了解ZEGO即构科技在畅直播服务方案上的核心技术优化思路。

  1、可定制化的调度策略

  首先说一说接入调度。接入点的好坏直接影响拉流质量,也直接影响建连速度。如果客户端与接入点的网络较差,比如存在200ms的RTT,那么即使能在一个RTT内完成建连和拉流,这里至少也需要200ms后才能看首帧画面。如果存在丢包,可能会引入更大的延迟。传统的CDN是使用域名解析的方式来指定接入点。一定程度上解决了就近接入和负载均衡的问题,但是仍然无法实现更精准的可定制化的调度策略。

  ZEGO为了解决这些问题,自建了调度系统。该系统可以根据客户的业务模型定制最合适的调度方案。即构自建的统一接入层,负责解决全球用户第一公里的接入质量,能保证用户接入到时延质量最优的接入节点。

  例如我们实现了可以精确到人级别的调度能力,这样可以在资源有限的情况下,优先保证热门主播直播间的体验。简单的说就是,热门主播会得到标记,标记后的热门主播会得到全网最好的接入资源,观众因为拉取热门主播的流,同样可以得到最好的接入资源而带来更好的观看体验。

  再例如ZEGO的调度系统可以结合源的位置给出最合适的接入点:比如主播在深圳推流,如果单纯的根据就近接入的原则,那么这个观众大概率会选择广州的接入点。这样广州的接入点需要回源到深圳,这样分发的链路变长,不但增加成本,而且回源也引入了更多延迟和增加了首屏加载时间。

  ZEGO的调度系统由于参考了源的位置,广州的观众可以直接从深圳拉流,而无需回源。当然,这里的前提是我们认为广州的观众接入广州或者接入深圳并无链路质量上的差别。域名解析的方式,由于无法带入源信息的原因,无法实现如此精准的调度。另外,链路的质量可能是时变的,在不同的时间段可能存在不同最优接入点,由于DNS缓存的原因,域名解析的方式也很难及时的给出时变的调度结果。

  总之,ZEGO的调度系统考虑到了空间,时间,运营商,热度,位置等信息,给出最优的调度结果。

  2、建联和回源

  然后我们说一说建连和回源。由于TCP协议三次握手的存在,建立一个TCP链接至少需要1.5个RTT,加上应用层的数据交换,用户至少要在2个RTT之后才能看到首屏画面。而ZEGO通过优化私有协议,可以实现0 RTT建连,最少可以在1 RTT后即可展现首屏。

  另外,一种直观的回源方式是逐级回源,可以看成是串行的方式:A回源到B,B发现自己并不存在该流资源后再回源到C。这种多级跳转在跨国线路中普遍存在,有时需要 4-5 跳才能实现很好的传输效果。但多跳的链路会使得串行的回源方式显得低效,回源的总时长为各跳之和。

  ZEGO 则采用并行回源的方式,即A回源B,B回源C同时进行,这样可以将回源的总时长压缩至各跳中的最大值。以上打通了整个传输链路,拉流端可以接收到音视频数据。

  3、播放器的自适应技术

  影响秒开的最后一个环节是播放器。目前很多开源的播放器为了减少卡顿,都需要预先设置一个播放的缓冲区,填满缓冲区后才开始解码渲染。缓冲区设置的太小容易频繁卡顿,缓冲区太大,填满缓冲区的时间变长,直接影响秒开体验。

  而 ZEGO 的播放器则采用了自适应的缓冲技术,在播放过程中,实时的根据网络的好坏即时的调整缓冲区的大小来应对网络的变化。也不存在填满缓冲区才开始解码播放的问题,可以理解成,首帧收到的那一个刻已经开始解码渲染。相比填满缓冲区才开始解码渲染,假定设置1秒的缓冲区大小,即使拉流初期以5倍于实时码率的速度进行传输,填满缓冲区也要200ms,这里的优化显著。

  秒开方案上线后,国内大盘秒开率达到99%,在所有的秒开行为中,85.07%的用户在500ms 内打开,秒开率相对提升14.5%,在泰国等网络较好的区域,实现96.8%的秒开率。

  畅直播的系统架构,可以灵活高效的解决流畅性全链路问题,支持不同业务场景。一次接入,即可获得CDN直播、CDN Plus、L3等多种服务,并可针对地区、人群等多种维度,通过控制台、API等设置差异化服务,且平滑切换RTC连麦。All-in-One全链路升级的一站式直播服务,秒开、流畅、超高清画质,一次接入,畅享直播!

如何实现直播秒开技术?相关推荐

  1. 什么叫直播秒开?如何实现秒开?

    什么叫直播秒开?如何实现秒开? 樰篱  2017-11-21 2624浏览量 简介: 什么叫做"秒开"? 秒开即从视频播放开始到真正看到第一帧画面所消耗的时间要尽可能的短,不能让观 ...

  2. 如何实现1080P延迟低于500ms的实时超清直播传输技术

    最近由于公司业务关系,需要一个在公网上能实时互动超清视频的架构和技术方案.众所周知,视频直播用 CDN + RTMP 就可以满足绝大部分视频直播业务,我们也接触了和测试了几家 CDN 提供的方案,单人 ...

  3. 直播 相关技术文章 相关调研文章

    移动直播相关技术文章 移动直播技术秒开优化经验 七牛直播云技术详解 Facebook 如何做在线直播的 Android音视频点/直播模块开发 做一款仿映客的直播App?看我就够了 移动直播爆发始末 2 ...

  4. 周高嵚:秀色直播的技术实践之路

    3月17日,ZEGO Meetup 视频直播+的技术实践之道第二期在北京成功举办,现场吸引了满堂的音视频开发人员到场聆听.会上,如预期一样. 齐聚科技创始合伙人 王国良 即构科技资深技术专家和架构师 ...

  5. 陌陌移动端直播P2P技术

    Photo by Mídia from Pexels 直播业务的主要成本就表现在于带宽上,尤其是在用户要求日益提高的未来,带宽带来的成本问题会越来越大.本文来自陌陌流媒体高级研发工程师白松灵在Live ...

  6. 如何实现 1080P 延迟低于 500ms 的实时超清直播传输技术

    导语:视频直播是很多技术团队及架构师关注的问题,在实时性方面,大部分直播是准实时的,存在 1-3 秒延迟. 最近由于公司业务关系,需要一个在公网上能实时互动超清视频的架构和技术方案.众所周知,视频直播 ...

  7. 直播带货源码如何实现1080P延迟低于500ms的实时超清直播传输技术

    众所周知,视频直播用 CDN + RTMP 就可以满足绝大部分视频直播业务,我们也接触了和测试了几家 CDN 提供的方案,单人直播没有问题,一旦涉及到多人互动延迟非常大,无法进行正常的互动交谈.对于我 ...

  8. 直播技术:如何实现1080P延迟低于500ms的实时超清直播传输技术

    若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 原博主博客导航:https://blog.csdn.net/qq21497936/ ...

  9. 如何实现1080P延迟低于500ms的实时超清直播传输技术【图文版本】

    最近由于公司业务关系,需要一个在公网上能实时互动超清视频的架构和技术方案.众所周知,视频直播用 CDN + RTMP 就可以满足绝大部分视频直播业务,我们也接触了和测试了几家 CDN 提供的方案,单人 ...

最新文章

  1. 风之语.我看苏州511房产新政
  2. GetSafeHwnd()函数
  3. Android 图形系统
  4. 实战演示 Go 反射的使用方法和应用场景
  5. 在移动端a、input、label等标签点击后会出现背景阴影问题
  6. java最常见的runtime_Java常见runtime exception
  7. 工厂方法模式的一种特例——简单工厂模式
  8. 如何判定某个类的职责是否够“单一”?
  9. 【codeforces】【01字符串匹配】Equalize【Manthan, Codefest 18 (rated, Div. 1 + Div. 2)】
  10. C语言学生管理系统源代码
  11. Fedora 33 配置Samba 服务器
  12. 员工离职原因分析_分析员工离职调查
  13. 计算机专业的技能测试,中职学校计算机专业技能测试方法存在的主要问题及其对策...
  14. 2019第十届蓝桥杯大赛软件类省赛C++ B组真题题解
  15. Mac-----Mac安装虚拟机
  16. SpringWeb项目Maven执行clean命令后编译拒绝访问的解决方法
  17. python使用垂直投影法进行字符串分割
  18. 解决linux“嘟嘟”的报警声
  19. 让计算机猜测你心中想的0-100之间的一个整数
  20. 跨境电商开店咨询话术

热门文章

  1. 【QCM2150】WCN3680 WFA WPA3 STA 5.6.1测试失败
  2. 证券股票交易接口需要满足什么要求才能在实盘中用?
  3. 谈谈对儒家与道家的一些小小看法
  4. Win10亮度调节无效
  5. 计算机专业英语期末考试,《计算机专业英语》期末试卷
  6. 结对-动漫网页设计-需求分析
  7. ubuntu配置mta_如何在Ubuntu 18.04上使用Apache为您的域配置MTA-STS和TLS报告
  8. 计算机派位录取,北京小升初派位入学随机录取志愿优先,与成绩无关
  9. linux内核max函数实现
  10. 瑞莎 Renesas Flash烧录