什么是视频编码?
视频编码是将原始视频文件转换成数字格式的做法。这一过程以数字方式压缩、存储或分发视频内容。如果你曾在视频平台上流式传输视频、下载电影或在线分享视频片段,那么您就直接受益于视频编码。
视频编码是一种将摄像机捕获的原始视频数据转换成数字格式的方法。这种格式可以方便地在各种设备上存储、传输和播放。它涉及一系列复杂的数学算法,用于处理和压缩原始数据,从而显着减小文件大小,同时最大限度地减少对视频质量的影响。
编码后的视频文件是一个包含视频和音频数据的数字包。它通常比原始视频小得多,更易于存储和网络传输。
为什么需要视频编码?
减小文件大小
进行视频编码的主要原因之一是减小原始视频文件的大小。未经压缩的视频文件可能非常大,因此很难存储、共享或在线流式传输。例如,仅一分钟的未压缩高清视频就可能占用几 GB 的存储空间。这带来了一个重大问题,尤其是在处理电影或电视节目等长篇内容时。
视频编码结合了有损和无损压缩技术,以减小文件大小。它的工作原理是消除冗余数据和近似某些信息,从而生成更小的文件,并保留原始视频的整体质量。这使得编码的视频文件更易于管理,也更适合存储和分发。
优化视频质量
视频编码不仅可以减小文件大小,还可以优化视频质量。该过程涉及平衡适当的压缩量,以保持高质量的视频,同时保持文件大小可控。压缩过多会导致视频质量明显下降,而压缩过少可能不会显著减小文件大小。
视频编码器使用多种技术来优化视频质量。这包括调整比特率、帧速率和分辨率,以在给定文件大小的情况下实现最佳质量。
确保视频兼容性
视频编码的另一个重要方面是确保跨不同设备和平台的兼容性。并非所有设备或媒体播放器都支持所有视频格式和编解码器。因此,将视频文件编码为流行的、广泛支持的格式对于确保它们可以在任何设备上播放至关重要。
视频编码还可确保视频在各种网络条件下都能流畅播放。例如,腾讯视频、爱奇艺等视频流服务使用自适应比特率流,可根据观看者的网络条件实时调整视频质量。如果没有视频编码,这是不可能的。
视频编码如何工作?
视频编码是一个涉及几个步骤的过程:
- 原始视频数据被分成几帧。然后分析每一帧以删除任何冗余或不必要的信息。这个过程称为压缩,可以大大减小视频文件的大小。
- 压缩数据使用特定的编解码器进行编码。编解码器是一种对数字数据进行编码和解码的程序。它将压缩的视频数据转换为易于存储和传输的格式。
- 编码数据被打包到容器中。容器是一种文件格式,用于保存编码的视频和音频数据以及任何附加信息,例如字幕或元数据。
- 生成的文件是最终编码的视频,可以存储、共享或流式传输。
视频编码中使用的流行格式和编解码器
以下是目前用于向最终用户提供视频的一些最流行的编解码器:
H.264(AVC)
H.264,又称 AVC(高级视频编码),是最广泛使用的视频编解码器之一。它具有出色的压缩效率,可生成文件大小相对较小的高质量视频。更多详细信息请查看文章《什么是 H.264/AVC》
H.265 (HEVC)
H.265,又称 HEVC(高效视频编码),是 H.264 的后继者。它提供更好的压缩效率,允许以相同的文件大小获得更高质量的视频。这使其成为流式传输高清内容(例如 4K 和 8K 视频)的理想选择。
AV1
AV1 是由开放媒体联盟开发的一种相对较新的视频编解码器。它旨在提供比 H.264 和 H.265 更高的压缩效率,同时无需承担专利许可费用。AV1 正越来越多地被大型科技公司和视频流媒体服务所采用。
VP9
VP9 是 Google 开发的视频编解码器。它的压缩效率与 H.265 相当,但与 AV1 一样,它无需支付专利许可费。VP9 广泛用于 Google 平台(包括 YouTube)上的流媒体视频内容。
👉以上编解码器在虽然在实时音视频领域应用非常广泛,但都有各自的局限。为带来更优的画质体验,即构推出了自研编码器Z264,对多种开源代码的编码能力进行特定优化和综合升级,以帮助客户更好平衡CDN成本与用户观看体验。详情了解《Z264自研编码器 画质更优且适用范围广》
视频编码最佳实践
以下一些最佳实践可帮助您有效地编码视频内容。
比特率选择
比特率是指单位时间内处理的数据量,通常以每秒千比特 (Kbps) 为单位。它在决定编码视频的质量和大小方面起着重要作用。比特率越高,质量越好,但文件也越大。相反,比特率越低,文件越小,但质量越差。
选择合适的比特率需要在质量和文件大小之间取得微妙的平衡。加载时间过长或缓冲时间过长的高质量视频可能会让观众感到沮丧。相反,加载速度快但质量低的视频可能无法吸引观众。要取得适当的平衡,请考虑观众的平均互联网速度以及他们观看视频所使用的设备。
可变比特率 (VBR) 和恒定比特率 (CBR)是两种应该了解的编码方法。VBR 根据视频的复杂程度调整比特率,从而提供更好的质量和更小的文件大小。但是,它需要更多的处理能力。另一方面,CBR 在整个视频中保持稳定的比特率,这对流式传输有利,但可能会导致文件较大。
分辨率和长宽比
分辨率是指屏幕上显示的像素数。像素越多,视频质量越高。常见的分辨率包括 480p(标清)、720p(高清)、1080p(全高清)和2160p(4K)。但是,分辨率越高,文件大小也就越大,因此在选择分辨率时,请考虑观看者的设备和互联网速度。
另一方面,宽高比是视频宽度和高度之间的比例关系。最常见的宽高比是 4:3(标准)和16:9(宽屏)。编码时,请确保视频的宽高比与播放器的宽高比相匹配,以避免出现垂直黑条或水平黑条。
帧速率注意事项
帧速率是每秒显示的帧数 (fps)。它对视频的流畅度有很大影响。常见的帧速率为 24、25、30、50 和 60 fps。帧速率越高,视频越流畅,文件越大。
选择帧速率时,请考虑源材料和最终输出。如果您处理的是以高帧速率拍摄的素材,则可能希望在编码的视频中保持该帧速率。但是,如果您为网络编码,则较低的帧速率更常见。
关键帧间隔
关键帧或 I 帧是包含完整图像数据的帧。它们作为后续帧的参考点,后续帧仅包含关键帧的变化。关键帧之间的距离称为关键帧间隔或 GOP(图片组)大小,会影响视频质量和文件大小。
较短的关键帧间隔可提高质量,但文件大小也会更大,因为更多的关键帧意味着更完整的图像数据。较长的关键帧间隔可减小文件大小,但可能会降低质量,因为更改可能无法准确反映。编码时,请找到适合您需求的平衡点。对于大多数应用程序来说,2 秒的关键帧间隔是一个不错的起点。
测试和质量保证
编码视频后,必须在分发前进行测试。在不同的设备和浏览器上播放视频,以确保播放流畅且效果良好。密切关注快速动作或复杂细节的场景,因为这些场景可能会出现编码伪影。
除了目视检查外,您还可以使用客观质量指标(例如 PSNR(峰值信噪比)、SSIM(结构相似性指数)和 VMAF(视频多方法评估融合)来评估视频质量。这些指标量化了源视频和编码视频之间的差异,因此比单纯的主观目视检查提供更准确的评估。
优化视频编码的技巧
1. 在编码过程中利用硬件加速
如果系统支持硬件加速编码(如英伟达 NVENC 或英特尔 Quick Sync Video),则应加以利用。这将大大加快编码过程,同时保持较高的视频质量,尤其适用于大规模视频处理。
2. 使用分层视频编码
分层视频编码,将码流分为基本层和扩展层,此编码方式可以为不同网络状态的用户提供更好的体验。基本层保证了最基本的视频质量,而扩展层则是对基本层的补充。
3. 对直播内容使用自适应比特率流
对直播或点播视频实施自适应比特率流 (ABR)。此技术以不同的比特率对视频的多个版本进行编码,并根据观看者的网络状况动态切换,确保流畅播放而无需缓冲。
4. 针对特定平台和设备进行优化
根据受众使用的特定平台或设备定制编码设置。例如,较低的比特率和分辨率可能更适合移动用户,而较高比特率的 4K 可能是智能电视应用的理想选择。
5. 预处理视频以提高压缩效率
在编码之前应用降噪、去隔行或其他预处理步骤。这些技术可以删除不必要的数据,使视频更易于压缩,并提高编码过程的整体效率。
6. 优化音频编码设置
不要忽视音频 — 根据目标用例优化音频比特率和编解码器(如 AAC 或 Opus)。均衡的音频设置可以减少文件大小而不会牺牲音质,从而补充您的视频优化工作。
7. 根据内容监控和调整 GOP 结构
根据您的内容微调 GOP(图片组)结构。对于快速移动的场景,较短的 GOP 可以保持质量,而较长的 GOP 可以减小静态场景的文件大小,有助于在质量和压缩之间取得平衡。
8. 利用机器学习自动检查视频质量
集成基于机器学习的质量控制工具,可自动标记编码视频中的潜在问题,例如带状或块状。这种主动方法可确保所有视频输出的质量一致。
9. 定期更新编码工具和编解码器
保持编码工具和编解码器的最新版本。新版本通常包含优化、错误修复和更好的压缩算法,这可以显著提高质量和性能。
最后,在实时音视频或直播应用中优化观看体验并保持低延迟是一项挑战,这时视频编码就派上用场了。在短视频、直播、社交等并进的互动时代,“得画质者得人心”,ZEGO 实时音视频 SDK 有多项视频编码设置优化,还有客户端实时超分、主体分割与传输、插帧等技术能力。相信我们,有了 ZEGO SDK ,一切都变得前所未有的简单!现在立即注册,即享 120,000 分钟免费音视频通话额度。
原创文章,作者:ZEGO即构科技,如若转载,请注明出处:https://market-blogs.zego.im/reports-baike/2096/