一、直播为什么需要QUIC?

众所周知,决定直播观看体验的因素有很多,比如:卡顿、首屏时间、延时、清晰度等等。而卡顿被称为直播体验的头号痛点,从“主播推流端”→“CDN”→“观众拉流端”,整个流媒体传输链路中,任何一个环节出现丢包都可能导致卡顿。尤其是主播推流端的推流流畅度更是决定了原流的质量,如果主播推流时网络丢包较高、延时较大,将会出现推流卡顿,那么所有观众在观看这路流时都会出现卡顿。那么拉流端是否存在痛点呢?拉流端同样存在痛点,因为在移动互联网时代,大量观众是使用手机观看直播视频的,移动蜂窝网络在不同地区、不同位置的覆盖质量是不同的,在信号覆盖不好的地区就会出现弱网问题,弱网的显著特点是丢包率和延时都很高,在这些弱网地区使用传统的TCP拉流体验是很差的。

而QUIC具有弱网环境下抗丢包、缩短首屏时间等优势,因此可以用QUIC来解决直播业务上存在的上述痛点。不了解QUIC的小伙伴别着急,我们下文将会为您详细介绍QUIC的技术原理和优势。

二、金山视频云直播QUIC+解决方案概要

为了解决直播业务上存在的痛点,金山视频云直播推出了QUIC+解决方案,该方案不仅支持RTMP over QUIC推流,同时还支持RTMP over QUIC/ HTTP-FLV over QUIC/ HLS over QUIC拉流功能,真正实现了端到端支持QUIC,此外金山云直播QUIC+解决方案采用了最新的BBR拥塞控制算法,在弱网环境下的表现更出色。

相比而言,有些友商的直播产品不支持QUIC,少数厂商仅支持over QUIC推流,不支持over QUIC拉流,无法做到端到端支持QUIC,并且需要使用他们的推流SDK,这会导致SDK对接繁琐,并且头部客户因为有顾虑一般不愿意使用云厂商的SDK,而是选择自己开发SDK;还有友商的直播QUIC方案中没有集成BBR拥塞控制算法,在弱网环境下抗丢包的能力不如采用BBR算法的金山视频云直播QUIC+解决方案,这一点我们可以从测试数据中得到证实,从友商公布的测试数据来看,over QUIC推流,当丢包率20%时,流畅度只有30-40%;而金山视频云直播QUIC+解决方案在丢包率达到30%时流畅度还有96.51%。可见,金山视频云直播QUIC+解决方案是率先真正完美支持直播推拉流over QUIC的云厂商。

我们下文将会为大家呈现金山视频云QUIC+解决方案在直播业务上与传统TCP方案的实际测试对比,大家能够在下文的测试报告中看到金山视频云QUIC+解决方案的优势:传统的RTMP over TCP推流在5%丢包率时就已经非常卡了,当丢包率超过10%时,RTMP over TCP直接无法推拉流,而金山视频云QUIC+解决方案采用RTMP over QUIC推流在30%丢包率时持续5分钟的播放过程中只出现了7次卡顿,流畅度为96.51%,这样的流畅度还是不影响观看体验的,大多数的观众还能接受。

追求无止境,除了在直播场景下率先真正端到端完美支持直播推拉流over QUIC外,金山云CDN还支持直播多流择优方案,通过稳定的性能、透明的数据服务体制,金山云成功保障国庆70周年庆典直播、建军90周年阅兵、“十九大”、全国两会、香港回归20周年、G20峰会、金砖国家峰会、央视春晚、世界互联网大会、世界杯、亚运会等大型活动和体育赛事。作为云计算行业的领导者,金山云将致力于为用户打造高品质的直播体验而保驾护航。选用视频云,就选金山云!选用CDN,就选金山云!

三、QUIC介绍

1、QUIC简介

QUIC(Quick UDP Internet Connection,发音'quick')是一种互联网传输协议,最初由Google的Jim Roskind设计,并于2012年被应用和部署,随后在2013年随着实验的扩大而开始对外公开,并于同年向IETF(Internet Engineering Task Force,国际互联网工程任务组)递交了协议草案。

互联网人士都知道,TCP/IP协议簇是互联网的基础,任何数据在互联网中传输都依赖它。TCP/IP四层模型中输层协议只有两种:TCP和UDP协议,其中TCP协议是面向连接的协议,是一种可靠的协议,TCP保证数据的正确性和数据包的顺序;而UDP协议是非连接的协议,也就是说传输数据时不需要建立连接,是不可靠的协议,UDP不保证数据的正确性和数据包的顺序。因为TCP和UDP各有优缺点,TCP的优点是可靠、稳定,但是也有明显的缺点:建连需要经过3次握手,繁琐、效率低、占用系统资源高。UDP的优点是效率高、快、轻量占用系统资源少,但是缺点很明显:不可靠、无序。

QUIC其实是在UDP协议之上提供一种可靠的、可建立面向连接的服务,它继承了UDP的优点,同时基于UDP之上加入了拥塞控制、多路复用、前向纠错等特性,从而弥补了UDP的缺点,使得QUIC既提高了数据的传输效率,也变得可靠了。

如下图所示,QUIC所处的网络层次如下。从功能上看,HTTP-over-QUIC ≈ TCP + TLS + HTTP2,但是基于UDP之上实现的。

2、QUIC的优势

前面咱们聊到QUIC是基于UDP实现的,在UDP之上加入了一些新特性从而弥补了UDP的缺点,这些优势有哪些呢?

1)极短的建连时间

QUIC的建连时间中大部分为0 RTT,极少部分是1 RTT。分为以下两种情况:

a) 若客户端与服务器未建连,则第一次建连时需在客户端生成证书和协议栈相关的配置并生成ConnectionID,这些数据会保存在服务端;

b) 若客户端与服务器已建连过,服务端已保存了客户端的证书和ConnectionID等数据,服务端会直接进行校验,校验通过后直接向客户端发送数据,从而实现0RTT极短的建连时间。

TCP的一个建连包含三次握手,而如果是HTTPS,则还需包含TLS层的一次握手,同时增加1 RTT的时间;因此,就TCP+TLS而言,已完成建连的连接需要2 RTT,而首次建连的则需3 RTT。相比而言,QUIC 0~1 RTT的建连时间就显得极短了,因此直播业务支持QUIC推拉流后,能够显著缩短首屏时间,至少能将首屏时间降低一半。

2)改进的拥塞控制

金山视频云直播QUIC方案采用了BBR拥塞控制算法,其中BBR算法是先在QUIC中试验,由于效果很好,后来还被移植到TCP内核中了。可见QUIC在弱网环境下的拥塞控制方面是很优秀的,金山云直播QUIC方案在推流和拉流上都实现了BBR算法,并且经过对BBR算法的适配和优化,能保证在弱网环境下丢包30%时仍然能流畅推流和拉流。

3)避免队头阻塞的多路复用

HTTP1.1中,每条数据流基于一个TCP连接,每个TCP连接都单独传输数据,但此TCP连接方案会明显增加服务端与客户端的并发负载,浪费服务端和客户端的资源;

HTTP/2中,对此问题进行了有效优化也就是采用多路复用的传输策略,通过一条TCP连接传输多路数据,但此方案容易造成队首阻塞问题。队首阻塞(Head-of-Line Blocking)是指因为队首的数据流丢失而重传造成其他队首之后的多条数据流被阻塞的现象。

如下图所示,以HTTP/2 over TCP数据流为例,若Stream 3丢失那么Stream 1与Stream 2都会被阻塞,直到丢失的Stream 3数据重传完成之后Stream 1与Stream 2才能被继续传输。

而在QUIC中,改善了HTTP/2中的队首阻塞问题,实现了避免队首阻塞的多路复用,具体实现是把每个重传过程安排在每条Stream中单独完成,由于Stream本质上是一个基于UDP的小数据包,所以这种方案并不会造成队首阻塞问题。如下图所示,Stream 3 是队首数据,当Stream 3中出现丢包后,不影响Stream 2和Stream 1的数据传输,Stream 2可以独立传输,不用等Stream 3丢失的数据重传完成。

4)前向纠错

前向纠错算法(FEC,Forward Error Correction)是一种对抗网络丢包的算法,具体实现是当弱网环境下出现丢包时,可以通过未丢失的报文和FEC报文将丢包恢复出来,减少了不必要的重传,从而实现在弱网环境下丢包率较高时不影响数据接收端的体验。金山视频云直播QUIC+方案,在丢包30%时主播端仍然能流畅推流,观众端仍能流畅观看,具体数据可继续看下面的TCP与QUIC测试对比。

5)连接转移

假设用户在家中使用WiFi观看直播视频,这时突然有事需要出门,一边刷着直播视频一边下电梯,当用户进入电梯时手机连接的WiFi将会断开,手机网络自动切换到移动蜂窝网络,在网络从WiFi到蜂窝网络切换的瞬间,TCP连接会断开重连,这是因为TCP采用四元组(源IP、目标IP、源端口、目标端口)的方式来标识一个连接;而QUIC是用数据包中一个64位的数值ConnectionID来标识一个连接,无论WiFi与蜂窝网络之间如何切换,只要发送给的服务端的ConnectionID没变,服务端就会认为是同一个连接,从而避免出现切换网络需要重连的问题。

QUIC优势总结

以上这些优点将帮助互联网内容服务商实现更快的连接建立、弱网环境抗丢包、切换网络无需重新连接等特性,因此业内越来越多的厂商开始拥抱QUIC,发展前景一片光明。金山云作为云计算行业的领导者、金山云云直播产品作为行业内的旗舰产品,现已率先推出金山视频云直播QUIC+解决方案。

四、金山视频云直播QUIC+解决方案效果测试

上文说到了直播为什么需要QUIC,以及QUIC的优势,那么金山云直播over QUIC推拉流的效果相较于传统的over TCP推拉流如何呢,我们通过长期的线上验证,并通过头部客户使用后的反馈来看,效果非常好。我们将用数据说话,告诉大家金山云直播支持QUIC推拉流后带来哪些改善。

测试方法

1)使用同一个媒资,推流分辨率、码率、编码格式都相同;

2)使用ATC工具模拟弱网环境,分别采用RTMP over TCP和RTMP over QUIC推拉流,用srs播放器持续播放5 mins,记录流畅度和卡顿次数。

推流视频媒资信息:

分辨率

码率

编码

640x480

800 Kb/s

H264

测试结果:

弱网环境1:delay 100ms loss 1%

 

tcp

quic

卡顿次数

9

0

流畅度

96.8%

100%

观看感受

流畅

非常流畅

1)RTMP over TCP测试截图:

2)RTMP over  QUIC测试截图:

弱网环境2:delay 150ms  loss 5%

 

tcp

quic

卡顿次数

383

0

流畅度

43.86%

100%

观看感受

非常卡

非常流畅

1)RTMP over TCP测试截图:

2)RTMP over QUIC测试截图:

弱网环境3:delay 200ms loss 10%

在这种弱网环境下,RTMP over TCP推流非常卡,播放器拉流35秒后被断开连接;而RTMP over QUIC推流和播放都很流畅,在持续5分钟的播放过程中0次卡顿,流畅度100%,效果非常好。

 

tcp

quic

卡顿

35秒,58次

5分钟,0次

流畅度

39.14%

100%

观看感受

无法推流

非常流畅

1)RTMP over TCP测试截图:

2)RTMP over QUIC测试截图:

弱网环境4: loss 20%

在这种弱网环境下,RTMP over TCP推流非常卡无法正常推流,播放器拉流马上就被断开;而RTMP over QUIC推流和播放都很流畅,在持续5分钟的播放过程中0次卡顿,流畅度100%,效果非常好。

 

tcp

quic

卡顿

无法推流

0

流畅度

无法推流

100%

观看感受

无法推流

非常流畅

RTMP over QUIC测试截图:

弱网环境5:delay 500ms,loss 30%

在这种弱网环境下,RTMP over TCP直接无法推流,而RTMP over QUIC推流和播放仍然还是流畅的,在持续5分钟的播放过程中只出现7次卡顿,流畅度96.51%,这样的流畅度大多数观众还是能接受的。

 

tcp

quic

卡顿

无法推流

7

流畅度

无法推流

96.51%

观看感受

无法推流

流畅

RTMP over QUIC测试截图:

金山视频云推出QUIC+,畅快直播再升级相关推荐

  1. 5G 时代:进击AI+边缘计算 金山视频云引领创新机遇

    5G技术革命爆发前夜,万物互联.万物皆媒的智慧场景跃跃欲试,在这场变革中视频行业必将迎来新机遇.新挑战. 为什么视频行业会迎来机遇?纵观5G三大应用场景,首先是增强移动宽带.理论上,5G网速是4G网速 ...

  2. 视频云的革新:直播迎来产业进化时代

    在刚刚结束的ArchSummit全球架构师峰会上,网易视频云CTO邱似峰分享了关于直播架构演进的演讲.基于移动互联网的迅猛发展和终端设备的更迭频率,移动直播已呈百花齐放之势,而其背后视频云服务的革新似 ...

  3. 网易视频云助力网易新闻直播,凸显内容价值

    自去年11月正式上线之后,网易视频云已经积累了百余家企业级用户,俨然是踏上了视频直播风口的一匹黑马.除了秀场直播.游戏直播等高频场景,网易视频云还在深耕在线教育.移动医疗等细分市场.事实上,网易视频云 ...

  4. 阿里云视频云推出低代码音视频工厂vPaaS

    大势所趋 众所体感,社会已演进到超视频化时代,视频云技术从内容和交互视角,推动了用户端全方位的体验革新,更驱动了众多行业的音视频数智化转型. 音视频技术积累 阿里云视频云凭借阿里巴巴卓越的技术能力和生 ...

  5. 直播攻略:网易视频云送上OBS直播完整版教程

    OBS是什么? OBS是一款直播串流软件,中文无广告,完全免费,含32位与64位版本,通吃各种电脑,支持MAC的OS X系统. 各大平台都有自己的直播软件了还需要用OBS么? 因为,当前平台直播软件存 ...

  6. 网易视频云正式发布,移动直播将走向何处?

    据数据显示,目前中国市场上生长着近300多家直播平台,用户规模达到3.25亿,占网民总体的45.8%.对于2016年的移动互联网来说,直播无疑是众望所归的"网红". 很难想象, 2 ...

  7. 阿里云「海外战事」再升级:从出海到本土化,再到国际化

    文|智能相对论 作者|沈浪 前三! 在全球云计算赛道上,中国终于跑出了一家国际级的云服务商.根据Gartner数据,2021年阿里云以9.55%的市占率位居全球前三,其中在亚太市场的市场份额更是超过2 ...

  8. 阿里视频云点播解决方案,直播转点播最佳实践

    产品简介 阿里云视频点播(VoD)是集音视频采集.编辑.上传.自动化转码处理.媒体资源管理.分发加速.视频播放于一体的一站式音视频点播解决方案.其构建在阿里云强大的基础设施服务之上,借助灵活和可伸缩的 ...

  9. 万物生长,合作共赢,阿里云原生合作伙伴计划再升级

    作者:宁晓民 在过去的几年中,"云原生"的概念逐渐被广大的客户.合作伙伴所熟知.云原生技术.云原生产品.云原生架构,一系列云原生的概念都逐步定义出来了.在2020云栖大会上,阿里云 ...

  10. 京东掌柜宝直播再升级 姚晨空降舒蕾直播间分享秀发呵护秘籍

    北京2018年7月17日电 /美通社/ -- 7月14日,舒蕾携手品牌大使姚晨以"邂逅女神.助力梦想"为主题,做客京东掌柜宝超品日直播间,与广大网友分享新消费趋势下的前沿护发和生活 ...

最新文章

  1. MPB:南土所褚海燕组-小麦相关微生物的野外采样与样品保存
  2. Static 作用探讨
  3. redis哨兵机制在集群中的应用
  4. linux 64平台上编译32位程序: GCC编译选项 -m64 -m32 -mx32
  5. 题目1015:还是A+B
  6. iOS实现自定义的弹出视图(popView)
  7. 多线程编程3 - NSOperationQueue
  8. js-----Date==字符串
  9. 将 Fortinet 连接到
  10. 收藏 | 机器学习特征选择方法总结
  11. 通过Ftp put命令上传导致文件损坏的解决办法
  12. python随机生成验证码_Python生成随机验证码的两种方法
  13. 蓝牙打印 设置打印样式_双编辑模式 打印自由更轻松!——海鸟贴纸打印机蓝牙按键版体验...
  14. MVVM框架原理浅析
  15. 万能 解决ubuntu网易云音乐不能播放的各种问题
  16. 投奔“自动驾驶第一城”—— 一场说走就走的“迁都”
  17. 程序员自我营销,如何打造个人品牌
  18. html5动态加载图片和加载视频
  19. Oracle启用、禁用触发器
  20. 数学无敌—王老菊教你当典狱长

热门文章

  1. 成功解决不能完成“视频帧到图层”的命令,因为需要QuickTime7.1或者更高版本
  2. 如果计算机正执行屏幕保护程序 当用户,计算机一级考试参考试题(含答案)篇节一.doc...
  3. 使用Perl5获取有道词典释义
  4. NetSpeedMonitor
  5. 阶乘的java编程_java编程求n的阶乘
  6. 手机型号大全_骁龙710手机推荐 骁龙710手机新品年度盘点:共12款
  7. pscad4.5 matlab,pscad4.2|pscad(电力系统仿真软件)下载v4.2 免费版 附安装教程 - 欧普软件下载...
  8. GnuTLS recv error (-54): Error in the pull function(解决方法)
  9. java根据ip获取经纬度城市地址
  10. (1)python基础语法