流媒体

Facebook上的Streaming Media 推特上的Streaming Media LinkedIn上的Streaming Media
 

了解低延迟流媒体的技术

videoorx的罗伯特•莱因哈特通过低延迟流媒体的关键使能技术指导观众, 包括服务器摄取和客户端交付协议,如WebRTC, 抗利尿, RTMP, 和HLS在流媒体西部2022年的演讲中.

了解有关低延迟流的更多信息 流媒体东部2023.

罗伯特•莱因哈特: 我们拥有的技术, 当涉及到低延迟时,包括摄取协议, 或者muxers——它们不一定是同义词, 但WebRTC更像是一个传输层. 它不一定是混合音频和视频的特定方式,尽管,就像 HLS它是一个将音频和视频混合在一起的包装器. 但是当涉及到服务器摄取时,我们有低延迟协议. 抗利尿, 当然, 在COVID期间有了巨大的推动,因为许多生产工作流程都采用了完全的抗利尿——人们在云上自己的私有局域网中使用抗利尿, 使用抗利尿, 当然, 在位置, 或者从Teams或Zoom出来. 抗利尿是一种非常流行的——免许可, 在大多数情况下,超低延迟的方式来获得视频,可以是未压缩的或压缩的, 这取决于你使用的是什么口味的抗利尿.

RTSP/UDP,在安全摄像头和交通摄像头上用得更多. 同样,我们有各种各样的观众. 我并不是假设你们都来自媒体和娱乐行业. 所以说到市政直播, 我在不列颠哥伦比亚省的各个市政府工作, 在美国,我和科罗拉多斯普林斯市合作过, 加州的一些城市, 专门处理他们的交通摄像头. 他们也想要低延迟. 大多数摄像头都是IP摄像头 或者其他像轴这样的供应商, 这些都是RTSP从这些摄像头拉到一个基础设施,希望不会增加更多的延迟. 当然, RTMP Flash已经存在很长时间了,现在已经消失了, 但RTMP是它的遗产,即使是Facebook和YouTube今天仍在使用.

所以如果你在这些平台上做直播, 您可能已经知道延迟非常高, 因为我们不能再执行RTMP了. 我们可以用RTMP. 逐渐, 这将被逐步淘汰, 而是因为在RTMP之上有这样的基础设施投资, 我不认为它会在明年或后年消失. RTMP可能会是一个遗留协议,它实际上可以有很低的延迟,甚至是超低的延迟, 我马上会回到刚才跳过的那张幻灯片 Wowza 那基本上指的是调整所有这些可能存在的不同协议和muxers.

对于服务器摄取,我把流行的放在左边. 它缺少SRT,而SRT应该在那里. 当然,SRT是由 Haivision. 它是开源的, SRT正迅速成为RTMP的流行替代品, 特别是如果你使用的不是H的编解码器.264. 如果你想开始使用现代编解码器,比如 HEVC 或者AV1,你就不能很容易地使用RTMP. 尤里·乌多维琴科 Softvelum 已经改编了一个RTMP变体,将与其他编解码器一起工作, 但这对于他的公司正在开发的基础设施来说是非常具体的.

当然是客户交付, 我们是如何消费这些流的, 不仅仅是服务器如何与源点或远程位置进行通信以进行客户端交付. 我们已经使用HLS-实现了标准的HTTP传输破折号 以及它的CMAF变体. 当然,WebRTC也是为客户端提供服务的.

我们仍然有web套接字服务. nanocosmos, 谁的口号是“一秒钟环游世界”,使用web套接字的回放机制. 所以对他们来说,网络套接字不一定是端到端的传输. 这是一种比WebRTC更容易扩展的客户端交付方式. 你仍然会看到一些web套接字实现. Web套接字在浏览器中已经存在很长很长时间了,它只是一个通用的套接字. 你可以通过一个网络套接字发送任何你想要的东西:数据、音频、视频. 这不是一个简单的协议,因为, 再一次。, 它并不像WebRTC那样是为在网络上发送视频、音频和视频而设计的.

苹果HLS的延迟时间约为30秒. 通常他们会把它放在18秒以上的延迟栏里. 你的平均HLS延迟是30秒, 主要是因为人们使用的是10秒块大小和3块播放列表. 所以你用3个块乘以10——不包括那些块之间通过cdn传递的任何延迟——你看到的是30秒. 将延迟减少到6秒并不难. 你会在HLS下看到, Wowza把它放在5秒后,你可以得到一个2秒的块大小,关键帧间隔乘以3. 再一次。, 如果你开始最小化你的块大小, 用它乘以清单上列出的块的数量, 这就是你的平均延迟. 你还需要花些时间, 仅仅是因为边和原点之间的传输. 但我想说的是,如果你有一个两秒钟的片段并且它在播放列表中重复了三次, 然后你可能会在像这样的调优播放列表中看到6-10秒的延迟.

这并不难做到. 任何有媒体服务器的人都可以调整他们的包装,而不需要经过很多跳跃,不需要太多的限制. 当我们接近这个低于一秒的延迟时, 我们开始接触更多不同的技术,比如WebRTC, 你首先可以看到的是,这几乎是实时的. 我们接近250毫秒. 一般来说, 我想大多数人都希望达到500毫秒以下, 如果不低于300毫秒的延迟,当他们使用WebRTC. 当然,这是有代价的. WebRTC不像这些http交付方式那样容易扩展, 所以你得做相应的预算, 无论是使用别人的构建自己的WebRTC基础设施.

现在我们有 低延迟HLS (LL-HLS) 这本书已经出版好几年了. 我记得当罗杰·潘托斯来到2019年的流媒体西部. 他在会议上首次谈到了低延迟HLS. 所以我们有一段时间来观察新冠病毒的发展情况. 最初的低延迟HLS规范中有一些特定于HTTP版本2的PUT命令, 他们已经删除了它,这样cdn就不用使用它了. 相反,他们使用这个preload提示你可以把它放到manifest中,那是低延迟HLS. 当然,您也可以调优其他任何一种,比如RTMP.

在那些日子里 总部琐事 是一款非常受欢迎的益智游戏吗, 我有几个客户也想加入这个行列, 我们在原生应用中使用RTMP库,在智能手机应用中播放RTMP. 所以如果你想建立自己的定制回放技术, 然后你还有很多选择如果它不是严格在浏览器的范围内. 因此,如果您正在为RTMP构建自定义环境,那么RTMP可能是回放的一个选项.

我不会太看重RTMP回放,因为我们现在有了更成熟的选择, 像WebRTC. 就在几年前, WebRTC没有我们现在拥有的那种跨平台、跨浏览器的接受度或标准. 现在你不用太担心H了.264 vs. VP8. 那些仍然在使用的编解码器可能需要一些来回的转码, 取决于您的工作流程. 但这已经走了很长一段路,COVID再次加速了这一进程.

相关文章
RealEyes的David Hassoun讨论了什么是低延迟,什么不是, 并为在当前环境下进行直播时所期望的内容设定合理的目标.
CNN+现场运营经理本·拉特纳(Ben Ratner)在流媒体连接2022年的这个剪辑中讨论了“超低延迟”如何使混合(云和本地)工作流程复杂化.