什么是视频编码?实时流编码如何工作?

流式传输是一种通过 Internet 传递数据而无需使最终用户完整下载数据的方法。实时流式传输是一种流式传输,其中流是通过 Internet 实时发送的,而无需首先进行录制和存储。视频游戏流、Periscope 和 Facebook Live 等社交媒体流以及Internet 上专业体育广播都是实时流的示例。尽管音频和视频都可以实时流式传输,但本文将重点介绍实时视频流。

什么是视频编码?实时流编码如何工作?-南华中天

什么是视频编码

视频编码是压缩视频数据的过程,以便其高效地发送到其他位置。流的接收端设备(例如,用户观看其喜爱的电视节目的平板电脑)对编码数据进行解码。视频编码遵循众所周知的标准,因此各种设备都可以解释编码后的流。

视频编码的必要性源于两大原因:

1.未压缩的视频文件通过 Internet 发送的用时太长,无法进行流式传输。

2.视频必须采用任何用户设备(智能手机、笔记本电脑和 PC 等)可以解释的格式。

在视频实时流中,设备会获取视听输入并进行编码,然后将其全部发送给观众。此过程的编码部分对于允许各种用户设备接收和播放视频至关重要。

实时流编码如何工作?

从视频源(例如网络摄像头)捕获的实时流发送到服务器,在服务器上,HLS 或 MPEG-DASH 等流协议将视频馈送分割成更小的片段,每一段的长度为几秒钟。

然后使用编码标准对视频内容进行编码。当今广泛使用的编码标准称为H.264,但也使用 H.265、VP9 和 AV1 等标准。此编码过程通过删除冗余视觉信息来压缩视频。例如,在有人在蓝天背景下讲话的流中,蓝天不需要为视频的每一秒重新渲染一次,因为它并没有太大变化。因此,可以从视频的大多数帧中去除蓝天。

然后,使用内容交付网络(CDN)分发压缩的分段视频数据。若无 CDN,只有很少的观众真正能够加载实时流,本文的最后一部分将说明其原因。

大多数移动设备都具有内置编码器,使普通用户可以轻松地在社交媒体平台上和通过消息传递应用进行实时流式传输。想要质量更高的流的品牌和公司使用自己的编码软件和/或硬件。

什么是视频编码?实时流编码如何工作?-南华中天

新技术如何加快实时流式传输速度?

在许多实时流中,观众仍然会体验到 20 到 30 秒的延迟;换而言之,他们观看的内容比实时落后 20 到 30 秒。部分原因在于,视频的各个片段必须完整加载后才能播放,而且每个视频片段可能需要花费几秒钟来加载。

应对这种延迟的一种解决方案是称为分块编码的过程。此过程通过“分块”进行工作,即将视频片段细分为更小的碎块。然后,对那些较小的碎块进行编码,接收流的设备可以在加载整个片段之前播放这些较小的碎块。

CDN 如何更好地加快实时流式传输?

CDN 对于实时流式传输至关重要,因为 CDN 可以将流分发给位置大不相同的用户。而且,CDN 具有比单一源站服务器更多的带宽来分发流。若无 CDN,实时流可能很容易遇到带宽问题。但是,大多数 CDN 仍必须加载完整的视频片段,然后才能将其一次性提供给多个用户。这再次引入了分块编码应解决的延迟问题。