资讯专栏INFORMATION COLUMN

视频直播关键技术:流畅、拥塞和延时追赶

Kaede / 1131人阅读

摘要:网易云信多年以来,一直深耕于音视频领域,这篇文章将和大家聊一聊视频直播的几个关键技术。另外,想要获取更多产品干货技术干货,记得关注网易云信博客。

这两年互联网领域的一个热门关键词就是视频直播,从刚开始的游戏直播和秀场娱乐开始,现在各个行业里都植入了直播元素。网易云信多年以来,一直深耕于音视频领域,这篇文章将和大家聊一聊视频直播的几个关键技术。
相关阅读推荐
《如何快速实现移动端短视频功能?》

《视频私有云实战:基于Docker构建点播私有云平台》

清晰度
4K、1080p、720p,这些概念被各大电视机厂商炒作了这么多年,已经地球人都懂了。4K在互联网视频直播里现在还不普及,主要是对网络数据传输要求太高了。1080p在一些对清晰度要求较高的场景如游戏直播里已经慢慢普及,要求的数据传输速率大约在4Mbps左右。720p是现在直播的主流清晰度,速率大约在1Mbps左右。在一些要求不太高的领域,还会有540p或者360p出现。

流畅度
如果在直播时出现卡顿、转圈,就意味着不流畅。主播和观众的连接通道好比一根水管,流量是有限的,因此如果清晰度提升意味着观众收看直播的流畅度有可能会下降。

延时
视频直播都是讲求互动性的,如果跟秀场妹妹聊天,讲了半天都没反应就略坑爹了。但是延时也不全是坏处,适当的延迟意味着在观众端能够有一定的视频流数据缓存,当出现网络不稳定时能够抵御小范围波动而使得观众无感知。

首屏时间
当观众进入直播间算起,到出现第一个主播画面的时间叫做首屏时间。为了保证直播流畅,会缓存一段数据之后再开始播放,但这个也不是绝对的,后文会详细描述。

所以,最后来总结一下这几个指标间的关系。

接下来我们会详细描述一下整个视频直播过程,视频流数据是如何在主播发送端、CDN、观众播放端之间流转的,而在技术上我们又可以做哪些事情来保证用户收看体验。

1.首屏秒开

先从观众进入直播间那一刻说起,这相当于整个直播生命周期的开始。当进入直播间后,播放器会向CDN请求数据。此时,假设主播已经发送视频流数据到了第100帧,由于数据传输的一些延时,CDN端最新收到的数据可能在第90帧。当CDN接收到拉取视频流请求时,他会做一件非常有意思的事情,即往前回溯一段数据,在图中显示的是回溯2秒钟,那就到了视频流的第五帧。CDN会把第五帧开始往后的数据,通过RTMP或其他直播协议源源不断的发送到播放器。那为什么要往回2秒钟呢,这可能算是目前视频直播技术中一个比较有特点的技术优化,能用于很好地平衡流畅度和首屏秒开时间。具体运作机制我们接下来再看。

2.流畅播放

接下去发生的事情,很好地可以说明回退2秒的作用。因为CDN是从第5帧开始发送数据,之后的数据全部缓存在CDN服务器中,因此可以源源不断地把数据发送到客户端,图中显示了从第5帧到50帧之间的数据,全部缓存在播放器内存中。这部分数据可以用于有效的抵抗网络波动造成的影响。当然,这样做的一个缺点是播放器相比于主播,延迟时间增加了2秒。所以说,视频直播所做的事情,就是在延时和流畅度之间找到一个很好的平衡点。

3.网络拥塞

网络拥塞是互联网上最常见的一个情景,接下去讨论当发生网络拥塞时发生的情景。假设当观众播放到第150帧时,用户下行网络出现问题,如果播放器没有新的数据到来,必然会画面卡住并开始转菊花。而此时,主播端并不会感知到这个事情,主播还在正常推送视频流数据。在经过了大概4秒左右的卡顿后,观众端的网络恢复,数据又会源源不断从CDN流向播放器。在图中看到网络流畅时,播放器的缓存中已经存放了第280帧数据,此时当前画面是150帧。这会产生一个什么问题?因为播放器播放数据是按照每一帧的时间戳匀速播放,因此如果不做任何优化就意味着每经过一次卡顿,直播的延迟就会增加一段时间,而增加的时间和被卡住的时间是一致的。

4.延时追赶

经过刚刚的描述,大家一定已经明白了延时累加是一个必须解决的问题。因此,播放器还需要做的事情就是延时追赶。播放器必须要实时侦测缓存中数据的情况,一旦大于某一阈值就启动延时追赶。追赶的方式,可以是直接扔掉多余数据也可以采用快进方式。快进模式相对来说用户体验会好一些,不会产生明显跳跃,处理时要注意声音不要因为快进而产生尖刺。最后再提一下,延时追赶不能太激进,还是应该在缓存中留一段数据,用于缓解以后可能再次发生的网络拥塞。

前文描述了首屏启动、流畅播放、网络拥塞、延时追赶的基本概念和每个阶段内部所发生的事情,整个直播就在流畅、拥塞和延时追赶三个阶段中来回往复。看完本文,有兴趣读者可以尝试利用开源软件自己去写个直播APP,可以拿来练手娱乐,如果要上线还有各种其他奇葩的坑。

另外,想要获取更多产品干货、技术干货,记得关注网易云信博客。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/34753.html

相关文章

  • 视频直播技术:最大限度保障流畅清晰度

    摘要:针对上述问题,本文介绍了网易云信直播的网络技术,旨在帮助读者了解在极差网络环境下如何最大限度的保障直播的流畅性和清晰度。以上简单介绍了直播中提高流畅性和清晰度的几种方法和策略。另外,想要获取更多产品干货技术干货,记得关注网易云信博客。 直播和互动直播在2017年引起了人们的极大关注,应运而生的各种直播类APP多如牛毛。随着互动直播的逐渐兴起,交互成为直播APP的强需求。然而,实际网络中...

    Paul_King 评论0 收藏0
  • 视频直播技术之iOS端推流

    摘要:网易云信推出一系列文章,对视频直播技术进行深入讲解,本篇文章将向大家介绍端的推流技术。目前视频的采集源主要来自摄像头采集屏幕录制从视频文件读取推流。音视频处理前处理模块也是主观影响主播观看效果最主要的环节。音视频发送推流使用的流媒体协议是。 随着网络基础建设的发展和资费的下降,在这个内容消费升级的时代,文字、图片无法满足人们对视觉的需求,因此视频直播应运而生。承载了实时性Real-Ti...

    Youngdze 评论0 收藏0
  • 揭秘|智慧树千万师生“停课不停学”背后的URTC技术实践之路

    摘要:接下来,本文将重点介绍在解决网络传输路径网络拥塞丢包等问题过程中的质量优化实践之路。因此我们进一步对传输内容的质量问题进行了相关优化,主要解决网络拥塞和丢包恢复。受疫情影响,在线教育迎来爆发式增长。智慧树作为教育部推荐的线上教学平台之一,为全国近2000所高校、30余万老师、1000多万大学生提供在线课程内容、在线教学平台以及全流程教学服务。自2020年4月开始, UCloud URTC实时...

    Tecode 评论0 收藏0
  • 智慧树千万师生“停课不停学”背后的UCloud RTC技术实践之路

    摘要:宋体受疫情影响,在线教育迎来爆发式增长。宋体接下来,本文将重点介绍在解决网络传输路径网络拥塞丢包等问题过程中的质量优化实践之路。因此我们进一步对传输内容的质量问题进行了相关优化,主要解决网络拥塞和丢包恢复。受疫情影响,在线教育迎来爆发式增长。智慧树作为教育部推荐的线上教学平台之一,为全国近2000所高校、30余万老师、1000多万大学生提供在线课程内容、在线教学平台以及全流程教学服务。自20...

    LeanCloud 评论0 收藏0
  • 视频编解码的理论实践2:Ffmpeg视频编解码

    摘要:和视频编码一样,解码操作的大部分细节都已经被隐藏起来了,开发者只需要设置好相关的解码参数,然后调用接口函数就可以实现解码功了。 近几年,视频编解码技术在理论及应用方面都取得了重大的进展,越来越多的人想要了解编解码技术。因此,网易云信研发工程师为大家进行了归纳梳理,从理论及实践两个方面简单介绍视频编解码技术。 相关阅读推荐《视频直播关键技术:流畅、拥塞和延时追赶》《视频直播技术详解:直播...

    LMou 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<