可以轻描淡写地说,作为一种技术的实时视频流在过去几年中的使用迅速增长。高质量的视频流已经出现在我们的许多日常活动中,例如:
- 向并发用户提供实时流媒体视频内容的游戏
- 流式传输高质量视频点播 (VOD) 的平台
- 启用实时在线视频聊天的应用程序
- 新闻媒体、体育和现场活动广播公司进行现场直播
- 由 HTTP Live Streaming (HLS) 提供支持的 YouTube 等直播视频问答
事实上,流媒体工具提供商 StreamElements 和指标跟踪器 Arsenal.gg 的一份报告显示,直播行业在 2019 年增长了 12%。Facebook Gaming 占这一增长的大部分,观看时长增加了 210%。自 2018 年 12 月以来,面向游戏玩家的直播平台 Twitch 的观看时长增加了 3%。
内容交付网络 (CDN) 和 CDN 提供商的发展促成了直播视频的蓬勃发展。这项技术允许在线视频流以低延迟和实时的方式交付给全球用户。
什么是 CDN?
内容交付网络 (CDN) 是分布在全球各地的服务器及其数据中心的网络,旨在以最小的延迟交付高质量的内容,以实现无缝一致的用户体验。CDN通过称为存在点或 PoP 的战略性数据中心使内容更接近最终用户。
不同类型的 CDN
您使用的 CDN 类型可能因他们专门从事的特定服务而异。通常,CDN 可以是点对点 (P2P) 或私有 CDN。
点对点或 P2P 网络 CDN
P2P 网络 CDN 涉及已打开以允许服务器从中下载文件的各个系统。启用它的服务器称为跟踪器,尽管它也可以是一个小型服务器网络。想想像 BitTorrent 这样的通用文件共享平台,用户可以在其中查找要下载的特定文件。跟踪器不会从单个服务器下载文件,而是搜索包含相同文件的多台计算机,并从每个系统下载文件的不同部分。这样,P2P CDN 本质上是非常分散的,但这种模型可能存在安全风险。
私有或对等模型 CDN
私有或对等类型的 CDN 是公司拥有网络并在其覆盖范围内维护服务器的那些。对等/私有 CDN 不依赖于去中心化模型,而是控制其容纳网站内容的服务器。当访问者登陆网站时,文件将从物理上离他们最近的服务器下载。另一种对 CDN 进行分类的方法是基于它们是推式还是原始拉式。
推送 CDN
这些是用户或主服务器将内容推送到 CDN 的 CDN。它本质上就像一个辅助服务器,用户将内容直接上传到 CDN。用户可以指定要上传的内容以及更新或过期的时间。当您想要控制流量及其使用方式时,这种类型的 CDN 非常有用,因为只有在发生变化时才需要进行上传。
来源拉取 CDN
在源拉 CDN 中,用户不会将文件推送到 CDN,而是会发生相反的情况。CDN 从所有者保存内容的源服务器中提取内容,然后再将其交付给最终用户。与推送 CDN 相比,源拉 CDN 可能更慢且灵活性较差,因为流量中可能存在一些冗余,尤其是在进行更改之前重新查询文件时。使用源拉 CDN 的好处是它们更容易设置并最大限度地减少存储空间。
什么是直播?
直播是指以高质量视频、音频和其他媒体形式的数据在创建时从创建者通过互联网实时传输给用户的过程。与在播放之前下载大型视频文件不同,实时流媒体让用户可以从远处一次下载一点文件并实时播放。
从本质上讲,直播是一种允许您实时创建、分享和观看在线视频的技术。它可以通过互联网使用连接的设备(如笔记本电脑、手机、平板电脑或允许直播的网站或应用程序)完成。想想流行的消费者应用程序和功能,如 Instagram Live、Facebook Live、Twitch 和 Tik Tok,它们可以让您在用户直播时查看用户创建的在线视频内容。YouTube 视频和 vlog 等媒体文件在技术上也是流式传输的,但不是实时流式传输,因为广播不需要实时进行。
直播视频流不仅用于公开可见的内容。它们也可以设置为私有且仅可供选定用户访问,例如 Zoom 或 Teams 等视频会议工具。直播技术的兴起改变了媒体和娱乐行业。从职业体育到新闻媒体,从社交媒体平台和应用程序到视频游戏,当今几乎所有形式的媒体和娱乐都涉及到直播视频流的某些方面。
直播 CDN 是如何工作的?
实时流媒体的工作原理是通过互联网实时发送内容,而无需记录整个文件并存储它们。如果我们看一下高质量的视频流,从创作者的创作到最终用户对高质量内容的消费涉及 5 个步骤。
第 1 步:视频捕获
首先,内容创建者使用相机捕获原始数据或视觉信息。数据在设备中以二进制 1 和 0 表示。
第 2 步:细分
这是视频文件被分解成几秒长的较小部分的地方。实际上,视频文件的大小要大得多,甚至下载整个文件也需要很长时间。将它们分解成片段有助于一点一点地流式传输整个视频。
第 3 步:压缩和编码
每个片段都经过压缩和编码。压缩会删除多余的视觉信息,例如视频中没有变化的背景。这使得在流式传输之前仅渲染视频中的移动帧变得容易。编码是将数据转换为与最终用户消费内容的各种设备兼容的格式所必需的过程。例如,H.264、HEVC、VP9 和 AV1 是视频编码成的一些流行格式。
第 4 步:内容分发和 CDN 缓存
接下来,将分段、压缩和编码的视频分发给最终用户。当最终用户访问网站或播放视频时,他们的设备(客户端)会向源服务器发送请求以检索这些文件。现在,如果用户位于服务器附近或附近区域内,这应该不是问题,并且视频文件流式传输没有太大问题。
实际上,如果您的收视率很小且分布不广,则单个服务器可以流式传输给您的所有用户。无需在您的流媒体工作流程中引入更多元素。
但是当用户分散在更大的地理区域时,在某些情况下跨越不同的国家,服务器交付内容的往返时间可能会更长,从而导致延迟或延迟。这导致用户体验低于标准,并且在所有视频消费者中都不一致。使用 CDN 通过在其分布式流服务器网络中缓存内容来解决这个问题。离特定最终用户最近的 CDN 服务器将负责将内容交付给该用户。
第 5 步:解码和播放
一旦视频数据到达用户,他们的设备将逐段解码和解压缩视频为二进制原始数据。通过视频播放器,用户可以看到视觉信息并播放视频。
为什么使用 CDN 进行直播?
CDN 通过将内容分发到更接近最终用户的流媒体服务器来帮助提高实时流媒体的质量。具体来说,CDN 提供商通过以下方式使实时视频流更好。
1、它们确保高流量期间有足够的带宽
如果请求超出其带宽限制,CDN 有助于避免源服务器不堪重负。如果直播突然看到收视率迅速飙升,并且他们都从单个源服务器请求内容,则可能会产生“阻塞点”并导致服务器停机。使用 CDN,可以保护服务器免受这些情况的影响,并且可以将交付内容的责任分散在流服务器网络中。
2、它们减少了延迟和往返时间
通过在更靠近最终用户的 CDN 服务器中缓存内容,CDN 减少了实时流请求一直到达源服务器以及内容一路返回的需要。这减少了往返时间或 RTT,重要的是,最大限度地减少了延迟和缓冲以保持流的实时性。
3、他们帮助向全球观众直播
由于分发是通过位于世界各地的内容分发网络中的边缘服务器完成的,CDN 提供了全球直播流媒体的可扩展性。不仅如此,无论它们位于何处,观看体验都是相同的,并且通过离最终用户最近的 CDN 服务器将延迟和缓冲降至最低。
4、它们减少了原始服务器上的工作量
CDN 有助于将大部分工作负载从源服务器转移到网络。由于单个服务器响应请求需要大量计算能力,对于视频直播流更是如此,CDN 从本质上保护源服务器免于过载并保持其运行。同样的方法有助于保护服务器免受分布式拒绝服务或DDoS 攻击。
依赖向全球分布的用户群提供高质量视频流服务的企业将从直播 CDN 中受益匪浅。寻求与提供实时和点播视频流功能以及高级转码流程的 CDN 提供商合作,以实现自适应比特率。一些提供商还允许您使用 API 构建自己的工具和功能。