什么是可扩展视频编码(SVC)?了解 WebRTC 和 SVC

2025/06/13

什么是可扩展视频编码(SVC)?

SVC 即可扩展视频编码(Scalable Video Coding),它最初是 H.264(也称为 MPEG-4 或 AVC)编解码器的扩展。H.264 可压缩原始视频数据以便在网络上存储和传输。它的 1 和 0 中内置了一系列有关如何压缩此类数据的规则,包括帧率和质量标准。为了改变这些数据的比特率以流式传输到不同的设备,需要解压和重新压缩不同大小的数据。这对媒体服务器来说是非常标准的,因为其工作通常需要对编码文件进行转码,以改善播放效果。不过,这需要时间。

借助 SVC,H.264 能够对原始视频数据进行分层编码,这样文件就可以被“剥离”以访问不同的比特率,而无需解压缩数据。

WebRTC 和 SVC

虽然 H.264 是 WebRTC 支持的视频编解码器,但使用 H.264 的 SVC 却不支持。不知何故,SVC 最初仅作为 Google 自有VP9编解码器的扩展才在 WebRTC 中可用 ,现在也支持 Google 的AV1编解码器。这是件好事,因为 SVC 使用较少的资源创建自适应流的方法很适合解决速度与可扩展性的难题。

当然,如果您想在 WebRTC 中使用 SVC,需要的不仅仅是 VP9 或 AV1 视频编解码器,除非您的计划只是将庞大的流以单一的高比特率发送到所有播放设备。典型的 WebRTC 不需要媒体服务器,这通常被认为是小规模流的优势。但是,SVC 需要选择性转发单元 (SFU) 媒体服务器来完成重要的工作,即剥离编码流并向播放设备发送适当的比特率,以获得最佳的流质量。

SVC 如何工作?

SVC 由三个主要部分组成:发布者、SFU 和播放设备。SVC 由以下几层组成:

  • 时间层:这是一个简单的层,用于调整上一层的帧率,并提高下一层的帧率。例如,如果某一层以 15fps 开始,则后续层将增加到 24fps、30fps 等。
  • 空间:空间层基于分辨率。它会调整前一层的分辨率,并提高后一层的分辨率。
  • 信噪比(SNR):该层有助于提高前几层的质量。

SVC 支持上述各层的组合,并保护它们以获得最佳服务质量。

如上图所示,发布者以 SVC 方式向 SFU 传输单个媒体流(包含多个视频层)。SFU 的功能是检查单个媒体流及其内部的层,并选择性地将其编码为多个高低比特率层,然后相应地分发到媒体播放设备。SFU 会根据媒体播放设备的网络限制和可用带宽来决定要分发的流是否合适。

SVC 的优势

  • SVC 在音视频应用程序中很有用,您可以同时向多个参与者发送数据。
  • SVC 有助于视频会议,根据多个参与者的 CPU 能力以及存在带宽低、互联网连接差等网络问题的参与者,确保并提供最佳的视频和音频质量。
  • 与 WebRTC 中需要更多网络和 CPU 资源的同步广播不同,SVC 会使用最优带宽来传输视频流。它减少了对带宽的需求,同时确保最终用户能够获得最佳的流媒体质量。
  • SVC 可以通过在数据包中附加额外信息来快速检测和修复错误,而不会产生更多开销。

常见问题

SVC 可以在哪里使用?

SVC 可以集成到视频会议解决方案和服务中,确保参与者获得流畅的体验。

需要不同终端显示不同质量的视频流。比如在连麦或混流业务场景中,推荐使用 ZEGO SDK 提供的视频分层编码(H.264 SVC)功能,具体实现方式请参考:视频大小流和分层编码

与 Simulcast 相比,SVC 有哪些缺点?

使用 SVC 进行视频编码可能比 Simulcast 更复杂。然而,这种复杂性源于其灵活性。

与自适应比特率流(ABR)相比,SVC 有哪些优点?

SVC 不需要转码。它比 ABR 更快,但细节处理不如 ABR 细致,尤其是在终端用户带宽波动的情况下。

最新文章
一文了解冗余音频数据 (RED)
2025/06/17
RTMP 直播指南:为什么 RTMP 协议仍然重要?
2025/06/16
什么是可扩展视频编码(SVC)?了解 WebRTC 和 SVC
2025/06/13
什么是流量整形?流量整形和流量监管区别
2025/06/12
体育直播中的边缘计算如何提升观众的实时体验
2025/06/12
扫一扫,获取更多服务与支持
关注我们
获得更多服务与支持了解价格与优惠 扫码关注我们
关注我们
获得更多服务与支持了解价格与优惠 扫码关注我们