
作者:Akhil Ramachandran
译自:https://www.streamingmedia.com/Articles/Post/Blog/Three-CDN-Strategies-To-Lower-Live-Streaming-Latency-168673.aspx
直播已成为我们日常生活中不可或缺的一部分,它改变了我们消费娱乐、与他人互动和实时体验事件的方式。从社交媒体平台到在线游戏、体育直播和在线学习,对无缝和高质量直播体验的需求持续成倍增长。
随着行业的不断发展,内容分发网络(CDN)在确保高效、可靠和最低延迟地交付直播流方面发挥着至关重要的作用。在本文中,我们将探讨三种关键的 CDN 策略,它们有助于降低延迟并增强整体直播体验。
传统 CDN 直播延迟较高
在直播过程中,视频内容通常以编码片段的形式从源传输到播放器。这些片段是小的、可管理的视频数据块,按顺序传输以确保流畅播放。每个片段通常包含 3-6 秒的视频,这个长度兼顾了低延迟和高效缓冲的需求。为了提高性能和减少延迟,这些片段会被缓存在 CDN 中。CDN 是战略性分布的服务器网络,将视频片段的副本存储在更靠近终端用户的地方。通过在多个位置缓存内容,CDN 可最大限度地减少数据传输距离,从而减少延迟并改善观众的整体流媒体体验。
不过,这种方法通常会给观众带来至少 3 秒的端到端延迟(假设片段为 3 秒),因为播放器必须等待接收到整个片段后才能开始播放。虽然使用较小的片段来进一步减少延迟似乎很有好处,但这样做会导致开销增加和效率低下。较小的片段需要更频繁的请求和确认,这会使网络资源紧张,并可能导致缓冲问题,尤其是在不同的网络条件下。
分块传输编码
作为 HTTP/1.1 中的一种流式传输机制,分块传输编码解决了传统基于片段的流媒体所面临的延迟难题。这种技术将视频片段分解成较小的块,在编码时发送给播放器,而不是等待整个片段完成。通过实时流式传输这些小块,分块传输编码减少了源和播放器之间的延迟。这种方法允许视频播放器在接收到片段的第一个块后立即开始播放,从而降低了延迟。因此,观众可以获得更直接的流媒体体验,使直播更接近实时。重要的是,即使片段被分成较小的块,这种方法也不会增加开销,因为这些块是同一个 HTTP 请求的一部分,因此无需额外的连接或标头。
CDN 优化 1:内容意识
CDN 通常以直通方式运行,这意味着它们本身并不了解所提供内容的具体信息。它们主要专注于根据用户请求高效缓存和交付内容,而不会深入研究内容的结构或语义。然而,直播因其可预测的模式而提供了独特的机会。例如,在 HTTP Live Streaming(HLS)中,清单通常包含按顺序命名的片段,如 segment1.ts、segment2.ts 等。Pull CDN 可以利用这种可预测性,主动读取清单并在客户端请求之前缓存即将到来的片段。通过这种方式,CDN 可以减少延迟并改善流媒体体验,确保片段在边缘随时可用,最大限度地减少观众等待内容加载的时间。
CDN 优化 2:部分对象缓存
为有效支持分块传输编码,CDN 需要采用缓存策略,重点缓存和提供编码段的单个块,而不是整个段。这种方法允许 CDN 在所有块可用之前开始缓存段,并在新块到达时不断更新段。因此,请求该片段的客户端可以实时接收这些片段,确保获得更直接、更无缝的流媒体体验。通过动态管理和交付这些较小的数据单元,CDN 可以减少延迟和缓冲。此外,还可以增强边缘缓存策略,在更靠近终端用户的地方存储这些数据块,从而最大限度地减少数据传输距离,进一步降低延迟。
CDN 优化 3:异步网络 I/O
CDN 服务器通常配置有固定数量的网络线程来处理客户端请求。在传统的同步 I/O 模型中,线程按顺序处理每个传入的请求。当播放器请求一个片段时,线程会从源头读取整个片段并发送回来,然后再处理下一个请求。当片段随时可用时,此模型非常高效,因为线程可以快速完成任务并继续处理下一个请求。但是,在片段随时间流式传输的场景中(例如使用分块传输编码),线程会长时间处于占用状态,导致线程耗尽。异步网络 I/O 提供了一种解决此挑战的方法,允许在等待来自源的新块时释放每个线程。线程不会被阻塞,而是可以处理来自其他客户端的请求,从而提高资源利用率并降低基础设施成本。
扩展阅读:了解 ZEGO 超低延迟直播
为有效解决 CDN 的延迟高、同步性差、弱网播放不稳定等痛点,重塑每个观众的直播体验,ZEGO 推出了超低延迟直播。相较于传统 CDN 直播,ZEGO 超低延迟直播基于全链路自研私有协议、海量有序数据网络(MSDN)和端到端监控等多种策略,提供更加稳定、更高质量的大规模直播分发服务。
ZEGO 超低延迟直播具有以下优势:
超低延迟
基于全链路自研 UDP 协议实现毫秒级延迟,相较于传统 CDN 直播的 3s – 10s 延迟,ZEGO 超低延迟直播能让主播和观众之间的互动反馈更及时。
超强同步
实现毫秒级同步,不同观众间的同步性误差 < 400ms。观众可在不同地区针对同一帧画面进行沟通交流,轻松实现一起看、电商秒杀等场景。
抗极端弱网
ZEGO 超低延迟直播支持抗极端弱网,比如最高抗 80% 丢包仍不掉线。在出海、下沉市场等各种复杂弱网环境下,依然能够保障高质量播放,有效解决传统 CDN 等直播分发产品不稳定的痛点。
超低卡顿
对比 CDN 直播,使用 ZEGO 超低延迟直播后卡顿率可降低 75% 以上。全链路监控影响直播流畅性的各个因素,实现从采集、编码、推流、传输、拉流、解码、播放的端到端系统性优化。提供全球覆盖的稳定、流畅传输,解决“卡”的痛点,让观众们在直播间停留更长时间。
超清画质
集超低延迟直播、实时音视频、AI 画质等全音视频能力于一体,通过 All-in-one 的 SDK 提供丰富的画质优化能力,实现用户侧在各场景下的高质量画质实践。
- 主播侧算法增强,追求极致高清:最大限度的发挥采集设备的高级特性,最高支持 4K 60fps 和 HDR,同时低照度增强、AI 降噪等多种视频增强算法,让主播画面更清晰自然,有效降低开播门槛。
- 观众侧智能适配,还原高清:实现自适应转码和低端设备兼容,突破有限的网络和设备瓶颈。基于 AI 超分等算法、H.265 编码等卓越能力还原更高画质,实现高清低码。
首帧秒开
全球 500+ 可用节点和智能网络调度算法,使用独家的解耦底层架构并提供预加载直播流等秒开策略,支持观众极速进房和转场,可实现 99% 以上的秒开率,降低进房过程中的退出率。
功能完备,平滑兼容
提供混流、转码、云端录制、截图、内容审核等丰富的直播增值能力,支持开发者从传统 CDN 直播平滑迁移。
多场景无缝转场,集成无负担
相较于 CDN 直播,使用 ZEGO 超低延迟直播拉流,能实现无缝切换 RTC 上下麦,仅需调整一个参数,实现主播与观众的切换,支持直播和 1V1 等多场景无缝快速转场。
提供完整的多人跨房间 PK 方案,支持多房间登录,有效提升直播 PK 成功率,提升直播间人气。
体验 ZEGO 超低延迟直播,➡️注册入口,提供 10000 分钟免费试用。
原创文章,作者:ZEGO即构科技,如若转载,请注明出处:https://market-blogs.zego.im/reports-technique/2201/