一、编解码概述:视频编码的必要性、有损与无损压缩、主流编码标准概览
1.1 为什么我们需要视频编码?
先问大家一个问题:一段未经压缩的 1080p 视频,一分钟有多大?
我们来算笔账。1080p 分辨率是 1920×1080,也就是大约 200 万个像素点。每个像素用 24 位(RGB 各 8 位)表示,一帧就是 200 万 × 3 字节 ≈ 6MB。按 30 帧/秒算,一秒就是 180MB。一分钟呢?10.8GB。
一部 90 分钟的电影,未经压缩的话,大概要 1TB 的存储空间。你想想看,这还不算音频。所以视频编码不是「要不要」的问题,而是「不做不行」的问题。
核心结论:视频编码的本质,就是用算法去掉人眼不敏感的信息,把原始数据量压缩到原来的 1/100 甚至 1/1000。
我在项目中遇到过不少刚入行的同学,觉得编码器就是个黑盒子,把视频丢进去就完事了。其实不是。理解编码器在做什么,对你后面调优至关重要。
1.2 有损压缩 vs 无损压缩
视频压缩分两类:有损和无损。名字很直白,但背后的取舍完全不同。
| 类型 | 原理 | 压缩比 | 典型场景 |
|---|---|---|---|
| 无损压缩 | 完全保留原始数据,解码后与源文件逐比特一致 | 1.5:1 ~ 3:1 | 医疗影像、专业剪辑中间格式 |
| 有损压缩 | 丢弃人眼不敏感的信息,解码后与源文件有差异 | 20:1 ~ 200:1 | 流媒体、视频通话、存储 |
说白了,无损压缩靠的是统计冗余——比如连续几帧画面完全一样,那就只存一次。有损压缩更狠,它利用的是视觉冗余——人眼对高频细节、颜色变化没那么敏感,那就把这些信息丢掉。
我的经验:做编码器调优时,我建议你先搞清楚你的业务场景能接受多少「损」。直播场景下,观众更在意流畅度,码率可以压得狠一点;但如果是影视存档,那就要尽量靠近无损。我曾经因为没跟产品对齐这个阈值,调了一周的参数全白费了。
1.3 主流编码标准概览
现在市面上主流的编码标准,基本就是三足鼎立的局面:H.264、H.265、AV1。我按时间线给大家捋一捋。
1.3.1 H.264 / AVC(2003)
H.264 是当之无愧的「老将」。从 2003 年发布到现在,它依然是互联网上使用最广泛的编码格式。YouTube、B站、视频通话,底层几乎都是 H.264。
为什么它这么能打?因为它在压缩率和计算复杂度之间找到了一个极好的平衡点。而且硬件支持极其广泛——从手机到电视盒子,几乎所有的设备都有硬解模块。
关键数据:相比上一代 MPEG-2,H.264 在同等画质下码率降低约 50%。
1.3.2 H.265 / HEVC(2013)
H.265 是 H.264 的直系继任者。它的核心改进在于引入了更大的编码块(从 16×16 扩展到 64×64),以及更精细的帧内预测模式。
效果很直接:同等画质下,H.265 比 H.264 再省 30%~50% 的码率。
但问题也来了——专利授权。H.265 的专利池非常复杂,导致它在互联网平台上的普及速度远不如 H.264。我记得 2017 年做直播项目时,想上 H.265 还得跟几家专利公司谈授权,非常头疼。
避坑指南:如果你做的是面向消费者的产品,H.265 的硬件解码兼容性一定要提前测试。我曾经遇到过某款国产手机对 H.265 10bit 的支持有 bug,播放时画面出现色块,排查了整整两天。
1.3.3 AV1(2018)
AV1 是后起之秀,由开放媒体联盟(AOM)推出。它的目标很明确:免费、开源、比 H.265 再省 20%~30% 的码率。
从技术角度看,AV1 确实做到了。它引入了很多新工具,比如更灵活的块划分、基于机器学习的滤波、以及更高效的熵编码。但代价是编码复杂度极高——软件编码速度比 H.265 慢一个数量级。
不过这两年硬件编码器开始成熟了。Netflix、YouTube 已经在大量使用 AV1,国内的爱奇艺、B站也在跟进。
| 标准 | 发布年份 | 压缩效率(相对 H.264) | 编码复杂度 | 专利情况 |
|---|---|---|---|---|
| H.264 | 2003 | 基准 | 低 | 有专利池,但授权成熟 |
| H.265 | 2013 | 省 30%~50% | 中 | 专利池复杂,授权成本高 |
| AV1 | 2018 | 省 50%~70% | 高 | 免费、开源 |
1.4 编码标准选择:没有银弹
很多同学会问:「那我该用哪个?」
我的回答是:看场景。
- 实时通信(视频通话、直播):H.264 依然是首选。硬件编码延迟低、兼容性好。H.265 也可以,但要确认终端支持。
- 点播流媒体(长视频平台):H.265 或 AV1。码率省下来的带宽成本很可观。
- 影视后期、存档:可以考虑 ProRes、DNxHR 等中间格式,或者用 H.265 的高码率模式。
- 嵌入式设备(IoT、安防):H.264 最稳妥。AV1 的硬件编码器还没普及。
个人建议:如果你刚开始接触编码器调优,我建议从 H.264 入手。它的参数体系相对简单,文档丰富,踩坑了也容易找到答案。把 H.264 吃透了,再去看 H.265 和 AV1,你会发现很多概念是相通的。
1.5 本章知识体系总览
下面这张图把本章的核心逻辑串起来了。你可以把它当作后续学习的「地图」。
嗯,这张图把本章的核心脉络理清楚了。从「为什么需要编码」出发,分三条线:压缩类型、核心概念、编码标准。后面每一章都会围绕这些点展开。
记住一句话:编码器调优,本质上就是在码率、画质、复杂度这三个维度上找平衡。没有绝对的最优,只有最适合你场景的配置。