就在几十年前,手机的重量超过了今天的笔记本电脑,家庭影院里充斥着VHS磁带。将更多数据放入更小空间的能力是上个世纪最了不起的壮举之一- 视频编码等压缩技术使这一切成为可能。
在这篇文章中,我们将了解什么是视频编码及其在实时视频交付中的作用。我们还将探讨有损压缩和无损压缩之间的差异、用于流式传输的常见视频编码格式以及视频编码与转码之间的区别。
一、什么是视频编码
视频编码描述了将原始视频转换为压缩数字格式以通过互联网高效交付的过程。编码在捕获视频流后立即发生,并且在所有实时流式处理工作流中起着至关重要的作用。编码器本身可以内置到相机中,但它也可以采用硬件编码设备、OBSStudio 等计算机软件或移动应用程序的形式。
二、为什么需要视频编码?
视频编码是必不可少的,因为原始视频文件太大而无法通过大多数互联网连接发送。例如,480p(低分辨率)和每秒30 帧的未压缩视频的数据速率为220Mbps(兆比特每秒),但美国的平均家庭互联网连接的下载速度为189 Mbps,上传速度为23Mbps。这些大文件甚至不适合DVD或蓝光光盘。这就像将一个大物体塞进直径只有其一半大小的管子里——更不用说当分辨率、帧速率和颜色深度更高时,甚至更加困难。
然而,编码使得在基本家庭互联网上或通过移动数据流式传输高清视频成为可能。如果没有视频编码,观看素材的唯一方法是在录制它的原始设备上。
三、编码如何工作?
捕获实时流后的毫秒内,必须缩小数据,以便在互联网上高效传输。通常,流从千兆字节的数据减少到兆字节的数据。
视频编码软件和硬件依靠称为编解码器的两部分压缩工具来实现这一目标。具体来说,编解码器将算法应用于视频和音频数据,以各种可能的方式对其进行压缩。一旦流到达观众,播放器软件或机顶盒中内置的视频解码器就会解压缩数据以进行播放。
通过“压缩”,我们实际上意味着编码器的算法丢弃它认为无关紧要的视觉数据。它可能像素对积极的视频体验或其他东西没有影响,但与ZIP文件不同,解压缩视频不会恢复文件原来的样子——它会永远改变。
什么是编解码器
编解码器是指对视频和音频数据进行操作以将其缩小为可流式传输大小的压缩技术。从字面上看,“编码器-解码器”或“压缩器-解压缩器”,编解码器应用算法最初压缩数据以进行传输,然后解压缩以供查看。
在流式传输实时视频时,视频和音频编解码器都会发挥作用。H.264,也称为AVC(高级视频编码),是最常见的视频编解码器。AAC(高级音频编码)是最常见的音频编解码器。
与MP3 编解码器一样的编码
为了便于说明,让我们专注于一种您一定会知道的名称的音频压缩技术:MPEF-1Audio Layer III,又名.MP3。
MP3编解码器在1990年代彻底改变了音乐消费。一夜之间,曾经装满CD的音乐库可以塞进手持MP3播放器- 质量没有明显变化。
MP3编解码器通过丢弃超出人类听觉限制的所有音频组件来实现这一点,以实现高效的运输和存储。这称为有损压缩,是视频流的基本编码方法。
有损视频编码与无损视频编码
当数据被压缩而不丢弃任何信息时,就会发生无损压缩。一个值得信赖的ZIP文件就是这样做的,允许我们将一堆信息塞进少量空间,同时保持数据完整性。
另一方面,有损压缩通过丢弃不必要的数据可以大大减小文件大小。在流式传输方面,大小很重要,因此必须进行有损压缩。
有损压缩的目标有三个:
删除所有人眼或耳朵无法检测到的数据
尽可能降低质量
快速压缩所有剩余数据
四、实时流式传输的视频编码格式
在进入我们推荐的编码格式之前,先简要说明一下术语。
视频编码格式描述可用的压缩规范,而视频编解码器描述这些格式的软件或硬件实现。就本文而言,这种区别无关紧要。但是,请记住,对于任何给定的规范,可能有多个编解码器实现可用。1
事不宜迟,这是我们2021年最受欢迎的格式列表。
推荐的直播编码格式:
H.264/AVC:H.264是一种高效且广泛采用的视频压缩技术,非常适合低延迟流媒体工作流程。
VP9:VP9是一种比H.264/AVC更先进、更高质量的压缩技术,比许多替代品具有更高的兼容性,并且适用于4K流媒体。
H.265/HEVC:在向客厅设备提供优质OTT内容时,含版税的H.265编解码器是目前可用的最佳编码格式。
AV1:AV1是最新、最伟大的开源视频编码技术,但目前冗长的编码时间会导致高昂的编码成本。
五、编码与转码:有什么区别?
当然,可以对视频进行一次编码,然后再也不碰它。但大多数流式处理工作流在后面的步骤中利用视频转码来进一步处理流。
视频转码涉及解压缩编码的视频文件,(通常)对其进行更改,然后重新压缩(可能采用不同的编码格式)以交付给最终用户。此转换过程可以在媒体服务器或基于云的流媒体平台中进行。
以下是编码和转码不同的关键领域:
1.编码首先发生;转码发生在第二位。
就像一个人必须在翻译之前写一本书一样,流在转码之前必须经过编码。
2.编码是必要的;转码不是。
如果不进行编码,就无法通过互联网直播视频。这种将原始视频压缩为数字格式以便通过Web高效交付的过程始终发生,即使编码器内置于您正在广播的捕获设备中也是如此。
另一方面,视频转码不是必须的。大量的工作流程,例如端到端使用WebRTC的工作流程,不需要任何转码基础设施。