COVID-19 大流行推动了许多行业的直播激增,尤其是娱乐、电子商务、在线教育和游戏。随着人工智能、云计算、先进的音频和视频技术的日益成熟,直播现在有能力将收视率从数百扩大到数百万,并以前所未有的规模覆盖全球观众。有这么多 直播服务 可供选择,观众几乎可以完全控制他们的观看决定,而不再需要满足于低质量的广播和直播。
除了观众的烦恼之外,直播流中的延迟是一个障碍,应该使用超低延迟解决方案来解决,以使在线视频流成为一种更具吸引力和身临其境的体验,并保持较高的客户满意度。
传统广播已经不能满足当今流媒体观众的需求。以下示例说明了原因。在这个图中:
- 锚通过 RTMP 或 FLV 推流。
- 流由内容分发网络 (CDN) 传送
- 最终用户使用 RTMP、FLV 和 HLS 等协议拉取流以供查看。
在上面的直播基础设施中,由于 RTMP/FLV 直播协议,RTMP 或 FLV 会产生 3 到 5 秒的延迟。通过CDN对内容进行缓存、转码、分发后,延迟可能会超过10秒。对于 HLS,它会更高。很快就会发现,传统的直播流架构根本无法满足当今流媒体用户的低延迟要求。
什么是 WebRTC,它是如何工作的?
WebRTC(Web Real-Time Communication,WebRTC)技术的出现,让低时延的直播成为了现实。
WebRTC 于 2011 年 5 月首次由 Google 发布,作为基于浏览器的实时通信的开源项目。它已被万维网联盟 (W3C) 和互联网工程任务组 (IETF) 采用为标准。与 RTMP 或 FLV 不同,WebRTC 不是一种协议。它是一个开源框架,提供标准、协议、多个流组件和 Web API。借助 WebRTC,开发人员可以轻松构建自己的多媒体应用程序,而无需安装任何插件或担心媒体处理——简单的 JavaScript 程序即可。
WebRTC 低延迟的关键是用户数据报协议 (UDP),这是互联网协议套件中的一种无连接协议。在 数据传输 通过 UDP,源端和终端不需要建立连接(也就是 TCP 握手),而是终端从源端获取数据,然后以最快的速度发送到网络,不会对内容进行拆分或拼接。这使得 WebRTC 的数据传输比 RTMP 或 FLV 等其他基于 TCP 的协议更高效。WebRTC 还具有处理数据包丢失、乱序和延迟到达的机制,这些机制使传输即使在较差的网络环境中也能正常工作。
WebRTC 流式传输的局限性
到目前为止,本文描述了 WebRTC 及其优势。在其优点中,低延迟位居榜首。但是在部署 WebRTC 时存在规模和质量的固有限制。例如,WebRTC支持的音视频编码格式和数据传输效率无法满足直播的需求。例如:
标准 WebRTC 对音视频编码格式进行了限制。
WebRTC只支持Opus音频编码格式,视频编码格式VP8/VP9和不带B帧的H264。它不支持音频 AAC 或视频 H.265,这进一步限制了 WebRTC 在超低延迟直播方面的应用。
标准 WebRTC 流是加密的。
这种加密可以进一步增加握手次数和传输带宽。 CDNetworks提供防盗链、回源认证、防劫持等一系列安全措施,保障您的直播安全。基于这些安全特性,CDNetworks 增强了标准 WebRTC 的数据加密,以减少初始拾取时间并降低带宽成本。
标准 WebRTC 仅规定基本的实时通信规则。
Besides basic rules, when searching for a complete live streaming business solution, it is also vital to choose 转码, recording, and other capabilities that are compatible with WebRTC.
CDNetworks 对 WebRTC 的优化
CDNetworks 是 WebRTC 的早期采用者,适用于低延迟实时流媒体环境。针对上述挑战,CDNetworks对标准WebRTC进行优化,对传统CDN网络架构进行升级,将直播时延降至500毫秒以下。
查看我们为标准 WebRTC 优化的内容:
支持多种推流方式
WebRTC
通过WebRTC推流可以避免拉流时转码带来的成本增加和延迟。但是WebRTC在拉流的时候只支持音频编码Opus,视频编码不支持H.264。如果通过任何其他协议推流(例如RTMP,它使用AAC格式的音频,或普通的H.264 B帧),则需要将RTMP转码为标准的WebRTC进行拉流,这会增加延迟和转码成本.以下是通过 WebRTC 推流的一些常用方法:
1)OBS的WebRTC推送插件:
OBS 是最流行的 PC 编码器。 CDNetworks 提供了OBS 插件,可以直接使用OBS 进行WebRTC 推送。
2)WebRTC推送H5的SDK:
目前,WebRTC 是将流推送到浏览器的流行选择。 CDNetworks 提供了一组 SDK,使您能够在短时间内集成 WebRTC 功能。
实时播放/实时播放
也可以通过RTMP或SRT推流,再通过WebRTC拉流。这种方法无需修改即可将流媒体迁移到我们的低延迟流媒体产品,从而降低成本并避免其他困难。
传输优化
CDNetworks 优化标准 WebRTC 以实现卓越的流传输:
- 支持AAC和H.265,减少视音频转码带来的延迟
- 支持B帧流畅播放
- 从标准 WebRTC 中删除 DTLS 加密,并提供具有较低传输消耗和延迟的专有安全策略。
CDNetworks 的 WebRTC 基础设施还支持传统的实时流媒体功能,包括转码、录制和水印。
多平台SDK支持拉流
CDNetworks 提供适用于Android、IOS 和H5 的SDK,以满足各种终端用户的需求。如果您已经拥有自己的播放器或集成任何第三方播放器,CDNetworks 有一个代理版本的 SDK,您可以快速集成它以产生低延迟的直播流,而无需对您已经使用的播放器进行任何修改。
阅读更多:
CDNetworks 将延迟减少到毫秒
直播体育流中的高延迟对粉丝来说可能是灾难性的,并且可能导致游戏剧透、错误投注和梦幻体育中的错误动作。大多数直播活动,例如英雄联盟、英超联赛、世界杯和奥运会,都使用 RTMP 作为其在 Internet 上的直播流传输协议。 RTMP 强加了 3 到 5 秒的延迟。想象一下,您的邻居正在为电视上的足球比赛现场进球而欢呼,而您却在等着在现场直播中看到同样的进球。当这些平台无法匹配电视的实时性时,在直播平台上的观看体验会大打折扣。中国领先的直播平台使用 CDNetworks 将延迟降低至 465 毫秒 WebRTC 低延迟流解决方案,为用户提供身临其境的体育直播观看体验。
多年来,CDNetworks 一直致力于解决低延迟直播问题。我们的Low Latency Streaming解决方案已广泛应用于电商、体育、远程IOT、在线教育、虚拟现实等场景。例如,在实时电子商务中,CDNetworks 的低延迟流媒体可确保为买卖双方提供时间同步的体验。由于担心 COVID-19 的传播迫使学校关闭并阻止数百万学生上学,CDNetworks 的低延迟流媒体使虚拟学习成为现实,为教师和学生提供类似于真实课堂的互动体验。
展望未来,CDNetworks 将继续探索低延迟直播技术,以提供更短延迟和更高稳定性的交互式直播。