令视频直播更实时:介绍并行流加速IPTV系统用P2P能节省带宽吗?

直播软件可以用加速器么

今天,我们很高兴在这里介绍并行流加速技术,这是一项新技术,可以减少人们使用Stream Delivery时网络上实时视频的端到端延迟。

让我们深入研究实时流传输延迟,它为什么很重要以及人们为改善它而做了些什么。

视频“直播”的效果如何

在线视频中实时流媒体的份额正在增长。无论是电视直播,游戏直播还是在线教室,用户都希望视频能够快速流畅地到达。 “实时”的承诺是用户可以看到事件的发生。但是“实时”在线视频与“实时”有多近?

在互联网上发布实时视频仍然非常 困难 而且会增加很多延迟:

  1. 内容源记录视频并将其发送到编码服务器;
  2. 源服务器将视频转换为DASH,HLS或CMAF等格式,可以将其有效地交付给数百万个设备;
  3. 通常使用CDN在全球范围内传输编码视频;
  4. 客户端播放器将视频解码并显示在屏幕上。

所有这些都受时间限制-如果整个过程无法在几秒钟内完成,则观看视频的体验将受到影响。我们称视频拍摄到最终用户观看之间的总延迟为“端到端延迟”(您可以将其视为从摄像头到手机屏幕的时间)。

传统分段交付

DASH,HLS和CMAF等视频格式将视频分成小文件(称为“段”)。典型的段持续时间为6秒。

如果客户端播放器需要等待整个6s片段被编码,通过CDN发送它,然后进行解码,这可能是一个漫长的过程!如果要客户端建立段缓冲区以防止传递中断,则将花费更长的时间。典型的HLS播放器缓冲区分为3部分:

客户端可能需要缓冲3个6秒的块,这将带来至少18秒的延迟

考虑到编码延迟,我们可以轻松理解为什么Internet上的实时流传输延迟通常为20-30秒。我们可以做得更好。

通过块传输编码减少延迟

解决此问题的自然方法是让客户端播放器在下载数据块时就开始播放数据块,即使它们仍在创建中。要实现此目标,需要进行一些巧妙的协作,以一种称为“块编码”的特殊方式编码和传送文件。这涉及将片段分为较小的,位大小的片段或“块”。块编码通常可以将实时延迟减少到5或10秒。

令人困惑的是,“块”一词具有两种不同的含义:

  1. CMAF或HLS块是在关键帧上对齐的一小段(通常为1s)
  2. HTTP块,这只是在网络上传输任何文件的一种方式
块编码将片段分成较短的块

HTTP块很重要,因为Web客户端处理数据流的能力受到限制。大多数客户端只能在收到完整的HTTP响应或至少完整的HTTP块后才能处理数据。通过使用HTTP块传输编码,我们可以使视频播放器开始更快地解析和解码视频。

CMAF块非常重要,因此解码器可以 播放 HTTP块中的位。如果视频未正确编码,则解码器将在视频文件中遇到无法播放的随机位。

CDN将带来额外的缓冲

如今,使用HLS和CMAF在网络上进行块编码越来越普遍。这项技术之所以如此出色,部分原因在于CDN广泛支持HTTP块编码-它已成为HTTP规范的一部分已有20年了。

CDN支持至关重要,因为它可以将低延迟的实时视频扩展并传输到成千上万的并发查看器,这目前很难使用其他基于非HTTP的协议来实现。

不幸的是,即使您打开块优化传输,您的CDN也可能会不利于您,因为它必须缓冲整个段。要了解为什么会这样,您需要考虑当许多人同时请求实时剪辑时会发生什么:

如果此文件已在缓存中,那就太好了! CDN在将缓存的文件交付给大量受众方面做得很好。但是,如果该段尚未进入缓存,该怎么办?请记住,这是实时视频的典型请求模式!

通常,CDN可以通过源“在高速缓存未命中时传输”。看起来像这样:

但是,当多个人同时请求文件时会发生什么? CDN通常要求 首先将整个文件拉入缓存,然后为其他查看设备提供服务

只有一个观看设备可以流式传输视频,而其他客户端则等待CDN上的段缓冲

此行为是可以理解的。 CDN数据中心由许多服务器组成。为了避免原始服务器过载,这些服务器通常使用“缓存锁”(互斥锁)相互协调,这些缓存锁仅允许一台服务器在给定时间从原始服务器请求特定文件。这样做的副作用是,当文件被拉到缓存中时,该文件不能提供给其他用户,除非首先请求该文件的用户。不幸的是,此高速缓存锁也无法实现使用块编码的目的!

总结一下:

  • 块编码将视频剪辑分成较小的块
  • 通过允许播放器同时获取和解码数据块,即使在原始服务器上生成了数据块(同时进行编码和传输),也可以减少端到端的延迟。
  • 一些CDN需要 将整个文件缓冲在CDN中 ,但抵消了块编码的好处

Cloudflare的解决方案:并行流加速

您可能已经猜到了,我们认为我们可以做得更好。简而言之,当我们从原始服务器中提取文件时,我们现在能够 同时 将未缓存的文件传输到 多个客户端

这听起来像是一个简单的更改,但是安全地执行此操作有很多细微之处。实际上,我们对缓存基础结构进行了深刻的更改,以删除缓存锁,并使多个客户端能够在文件仍在写入时安全地从文件中读取数据。

最好的部分是,Cloudflare现在以这种方式运行!无需选择选项,无需更改配置,我们可以从中受益。

我们在几个月前启动了此功能,到目前为止,我们对结果非常满意。我们使用“高速缓存锁定等待时间”(即一个请求必须等待其他请求多长时间)来衡量成功-这也是“到达第一个字节的时间”的直接部分。一位OTT(最高层,通过互联网为用户提供各种应用程序服务)客户看到P99(过去10秒内请求的最慢平均延迟为1%)从1.5秒下降到接近于0的预期,就像这样:

这直接转化为1.5秒的端到端延迟改进。实时视频更加实时!

总结

块编码等新技术彻底改变了实时交付,使发布者可以大规模交付低延迟的实时视频。并发流加速可以帮助您在CDN上充分利用此技术,从而可能节省宝贵的端到端延迟。

如果您想使用Cloudflare进行实时视频交付,请联系我们的公司销售团队。

如果您有兴趣从事此类项目并帮助我们改善整个Internet上实时视频的交付,请加入我们的工程团队!

IPTV直播系统 如果使用公共网络向用户发送数据,则随着用户数量的增加,带宽和服务器配置要求将越来越高。我们知道P2P技术可以达到的目的是节省带宽并改善用户体验。那么IPTV直播系统中的P2P直播加速可以节省带宽吗?

DolitQin520(DolitQin520)从长期的技术交流中汲取了经验, 用于直播的P2P技术的加速取决于延迟要求。如果延迟要求不是很严格,例如可以接受5-10分钟的延迟,请使用 P2P直播加速 效果会更好,可以达到节省带宽,观看流畅的目的。 但是,如果延迟要求非常严格,则不适合使用P2P进行加速,因为每个人都在观看实时内容并彼此共享是不现实的,因此我们只能使用CDN,效果将非常普通。那么,在低延迟要求的情况下,P2P直播的加速原理是什么?

这实际上与P2P本身的特征有关。我们知道P2P实况广播之所以有效,是因为当许多人同时下载同一文件时,他们可以以块为单位共享自己的文件(在P2P技术中,文件将被分成不同的小文件)。片)。因此,同时观看同一直播频道的人数越多,共享效果越好,可以为运营商节省更多的带宽和流量,但是可以达到的具体效果仍然很多。人数是一个,另一个取决于网络情况。

我们知道,除了P2P实况广播加速之外,CDN服务也可以用来实现相同的效果。 那么使用P2P直播加速和CDN服务有什么区别?使用P2P加速有什么优势?

我们知道,如果使用CDN解决方案来实现实时视频可以在全国范围内快速播放,则需要大量的位置。这取决于CDN的特性。因为当用户发起一个请求时,如果他进行CDN部署,它将向用户返回最接近他的CDN地址,因此该部署与用户越近越好,但是该方法仅在通过以下方式进行智能调度后才返回DNS为用户提供该节点的ip,但是此ip可能较慢或有更多并发人员。这样,观看视频时用户体验有时不是很好。那么使用P2P技术可以解决这个问题吗?

与CDN相比,P2P技术具有不需要太多节点的优点。例如,CDN解决方案需要100个服务器,而P2P解决方案可能仅需要20个服务器。这是由P2P的特性决定的,因为P2P没有提供IP。但是有很多ip,例如10。在CDN解决方案下,如果给用户A的ip非常慢,对用户来说将是一场灾难,但是如果给用户A的IP是10 ip,尽管每个IP都是不快,十将很快在一起,例如,一个是100k,十可以达到1M。因此,使用P2P技术的优点是有许多资源可以同时为用户提供资源,这也可以避免对某个服务器节点的过度依赖,并可以解决服务器停机所引起的问题。

总之,IPTV直播系统使用点 P2P直播加速技术 ,效果远比单纯使用CDN好得多,在不要求很高延迟的前提下,也可以达到节省带宽和改善用户体验的目的。

本文网址: http://www.99188ak.com/view/2020812213451_3570_488415695/home

推荐阅读

tags

最新发布