云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

百度云_化合物数据库_新用户

小七 141 0

直播视频变得更加生动:引入并发流加速

今天,我们很高兴引入并发流加速,这是一种在使用流媒体时减少网络实时视频的端到端延迟的新技术交货。让我们深入研究了流媒体的延迟,为什么它很重要,以及人们已经做了哪些改进怎么了"直播"就是"直播"视频?实时流媒体在网络视频中所占的份额越来越大。无论是电视广播,游戏直播,还是在线课堂,用户都希望视频能够快速、顺利地到达。而"直播"的承诺是用户看到事件发生时的情景。但"实时"网络视频到底有多接近"实时"?在互联网上传输实时视频仍然很困难,而且增加了很多延迟:内容源服务器录制视频并将其发送到编码服务器;源服务器将该视频转换为DASH、HLS或CMAF等格式,可以高效地传送到数百万台设备;CDN通常用于在globeClient播放机上传送编码的视频解码视频并在screee上呈现,所有这些都有时间限制-整个过程需要在几秒钟内完成,否则视频体验将受到影响。我们将视频拍摄到终端用户设备上观看视频之间的总延迟称为"端到端延迟"(可以将其想象为从相机镜头到手机屏幕的时间)。传统的分段交付视频格式(如DASH、HLS和CMAF)是通过将视频分成小文件(称为"片段")来工作的。典型的段持续时间为6秒。如果一个客户端播放器需要等待整个6s段被编码,通过CDN发送,然后解码,这可能是一个漫长的等待!如果您想让客户机建立一个段缓冲区来防止传输过程中的任何中断,则需要更长的时间。HLS的典型播放器缓冲区是3细分市场:客户可以必须缓冲三个6秒的数据块,至少会带来18秒的延迟;当你考虑编码延迟时,很容易理解为什么互联网上的直播延迟通常是20-30秒。我们能做到更好。减少延迟与分块传输编码解决这个问题的一个自然方法是让客户端播放器在下载时开始播放块,甚至在它们还在创建时。要做到这一点,需要一点巧妙的合作,以一种特定的方式编码和传递文件,即所谓的"分块编码"。这涉及到将片段分成更小的、一小块大小的片段或"块"。分块编码通常可以将实时延迟降低到5或10秒。令人困惑,单词"chunk"重载为两个不同的意思事情:CMAF或HLS块,它是一个段(通常是1)的小块,在关键帧上对齐shttp chunks,它只是通过WebChunk编码分割段传递任何文件的一种方式在较短的块中shttp块很重要,因为web客户端处理数据流的能力有限。大多数客户机只有在收到完整的HTTP响应(或者至少是完整的HTTP块)后才能处理数据。通过使用HTTP分块传输编码,我们使视频播放器能够开始解析和解码视频更快.CMAF块很重要,因此解码器可以实际播放HTTP块中的位。如果不仔细编码视频,解码器将有一个视频文件的随机位,这是不可能的播放.CDNs可以使用HLS和CMAF引入额外的bufferingChunked编码,如今在web上的使用越来越多。这项技术之所以伟大,部分原因在于HTTP分块编码受到cdn的广泛支持,它已经成为20的HTTP规范的一部分年.CDN支持是至关重要的,因为它允许低延迟的实时视频扩展到数千或数百万的并发观众中,这是目前很难做到的与其他非HTTP的协议。不幸的是,即使您启用分块来优化交付,您的CDN可能会因为缓冲整个段而对您不利。为了理解为什么要考虑当许多人同时请求实时片段时会发生什么时间:如果文件已经在缓存中了,太好了!cdn在将缓存文件传递给大量用户方面做得很好。但是当段还没有在缓存中时会发生什么呢?记住-这是典型的实时视频请求模式!通常,cdn能够从源站"缓存未命中时流式传输"。看起来有点像这个:但是又一次当多人同时请求时发生什么?cdn通常需要在提供额外服务之前将整个文件拉入缓存观众:只有一个查看器可以流式传输视频,而其他客户端则在cds处等待片段缓冲,这种行为是可以理解的。CDN数据中心由许多服务器组成。为了避免源服务器过载,这些服务器通常使用一个"缓存锁"(mutex)在它们之间进行协调,这个"缓存锁"(mutex)只允许一个服务器在给定的时间从源服务器请求特定的文件。这样做的一个副作用是,当文件被拉入缓存时,除了第一个请求它的用户之外,它不能被提供给任何用户。不幸的是,这个缓存锁也破坏了使用分块编码的目的!重述far:分块编码将视频片段分割成更小的片段这可以减少端到端的延迟,允许播放器获取和解码片段,即使在原始服务器上生成数据段时,一些CDN通过在CDN中缓冲整个文件来抵消分块编码的好处,然后才能将它们传递给clientsCloudflare的解决方案:并发流加速—您可能已经猜到了,但我们认为我们可以做得更好。简单地说,我们现在能够同时将未缓存的文件传递给多个客户机,而我们只需从源文件中提取一次服务器。这个听起来是一个简单的改变,但有很多微妙的安全做到这一点。在幕后,我们对缓存基础设施进行了深入的更改,以消除缓存锁定,并使多个客户机能够在单个文件仍处于运行状态时安全地读取该文件写的。那个最棒的是–所有Cloudflare现在都是这样工作的!不需要选择加入,甚至不需要更改配置来获取好处。我们几个月前就推出了这个功能,到目前为止,我们对结果非常满意。我们用"缓存锁等待时间"(cache lock wait time)来衡量成功与否,也就是说,一个请求必须等待多长时间,这是到第一个字节的时间的直接组成部分。一位OTT客户看到该指标从P99的1.5s下降到接近0,如期望:这是直接的转化为端到端延迟的1.5秒改进。现场视频直播更精彩!结论像分块编码这样的新技术彻底改变了实时传输,使出版商能够大规模地交付低延迟的实时视频。并发流加速可以帮助您在CDN上释放这项技术的威力,可能会节省宝贵的端到端时间延迟。如果您有兴趣使用Cloudflare进行实时视频传输,联系我们的企业销售团队。还有如果您有兴趣从事这样的项目,并帮助我们改善整个互联网的实时视频传输,请加入我们的工程团队!