分辨率、帧率、码率与色度采样
本教程共 32 篇 · 第 7 篇 · 更新于 2026-08-09 · 约 8 分钟阅读
本节目标:搞懂决定视频画质和文件体积的四个关键参数,以后看到 1080p60、4Mbps、4:2:0 不再犯晕。
上一章我们把「容器、编码、流」理顺了。这一章深入到流本身,看看里面有哪些参数会影响你看到的画面和文件大小。
分辨率
视频的每一帧本质是一张位图,分辨率就是这张图的宽和高,单位是像素。
常见分辨率:
| 名称 | 宽 × 高 | 俗称 |
|---|---|---|
| 360p | 640 × 360 | 流畅 |
| 480p | 854 × 480 | 标清 |
| 720p | 1280 × 720 | 高清 HD |
| 1080p | 1920 × 1080 | 全高清 FHD |
| 1440p | 2560 × 1440 | 2K QHD |
| 2160p | 3840 × 2160 | 4K UHD |
分辨率直接决定画面的细节上限。屏幕多大就配多大分辨率:手机看 720p 够了,电脑看 1080p,大电视才需要 4K。盲目追求 4K 只会让文件膨胀,手机上根本看不出区别。
宽高比(aspect ratio)是宽除以高,常见的有:
- 16:9:横屏视频的标准,1920×1080 就是。
- 9:16:竖屏短视频,1080×1920。
- 4:3:老电视、老录像带。
- 21:9:电影宽银幕。
Tip很多编码器要求宽高是偶数(H.264 通常要求 2 的倍数,4:2:0 下最好是 2 的倍数,某些格式还要求 16 的倍数)。用 scale 滤镜时用
-2代替-1可以让 FFmpeg 自动算成偶数:ffmpeg -i input.mp4 -vf scale=1280:-2 output.mp4
帧率(fps)
帧率是每秒播放多少张图片,单位是 fps(frames per second)。
- 24fps:电影标准,有「电影感」。
- 25/30fps:电视、网络视频最常见。
- 50/60fps:游戏、运动画面、高动态视频,动作更流畅。
- 120/240fps:慢动作素材,后期放慢仍然顺滑。
人眼对帧率的感知有阈值:低于 24fps 会感觉卡顿,30 到 60 之间是明显的流畅度提升,超过 60 以后提升就没那么明显了。
帧率越高,文件越大——但不是线性翻倍。因为编码器会利用帧间压缩,相邻帧很相似时只存差异。所以 60fps 的视频通常不会是 30fps 体积的两倍,而大约是 1.5 倍左右。
用 ffmpeg 改帧率:
ffmpeg -i input.mp4 -r 30 output.mp4
-r 30 表示输出 30fps。但更推荐通过滤镜或编码参数处理,简单的 -r 在某些情况下会造成音画不同步,后面讲滤镜时会展开。
码率(bitrate)
码率是每秒视频数据占用的比特数,单位通常是 kbps(千比特每秒)或 Mbps(兆比特每秒)。它是影响体积和画质最直接的参数:
文件大小 ≈ 总码率 × 时长 ÷ 8
比如一个 10 分钟、总码率 5 Mbps 的视频:
5 Mbps × 600 秒 ÷ 8 = 375 MB
码率越高,编码器能保留的细节越多,画质越好,但文件越大。码率低到一定程度,画面会出现色块、模糊、拖影——这叫「码率不够用了」。
码率多少合适没有标准答案,取决于:
- 分辨率:1080p 当然比 720p 需要更高码率。
- 帧率:60fps 比 30fps 需要更多码率。
- 画面复杂度:体育比赛、游戏、雪花噪点需要高码率;谈话、PPT 录像低码率就够。
- 编码效率:HEVC 比 H.264 省一半码率,AV1 更省。
作为参考,这里是常见平台的建议值(H.264,SDR):
| 分辨率 | 30fps 码率 | 60fps 码率 |
|---|---|---|
| 720p | 5 Mbps | 7.5 Mbps |
| 1080p | 8 Mbps | 12 Mbps |
| 1440p | 16 Mbps | 24 Mbps |
| 2160p | 35-45 Mbps | 53-68 Mbps |
音频的码率独立计算:AAC 立体声一般 128 kbps 就够,高质量用 192-256 kbps;MP3 常见 128-320 kbps。
三种码率控制方式
- CBR(Constant Bitrate):恒定码率。每秒都给同样多的比特数,适合直播和流媒体,但浪费空间。
- VBR(Variable Bitrate):可变码率。复杂画面给多、简单画面给少,体积更小,画质更好。
- CRF(Constant Rate Factor):恒定质量。由你指定一个质量等级,码率自动浮动,是离线转码最推荐的模式。
CRF 的具体取值和编码器调优会在编码篇(§19)详细讲,现在知道有这么回事就行。
色深(bit depth)
色深指每个颜色通道用多少位来表示。最常见的是 8 bit,即每个通道 256 级(2⁸=256),三通道组合约 1677 万色。
近几年 10 bit 逐渐普及(每个通道 1024 级),HDR 视频基本都用 10 bit。10 bit 的好处:
- 渐变画面(天空、阴影)不容易出现「色带」。
- 后期调色空间更大。
- 同样码率下,10 bit 编码器效率反而更高(因为减少了条带噪声)。
用 ffmpeg 指定像素格式可以控制色深:
ffmpeg -i input.mp4 -pix_fmt yuv420p output.mp4 # 8 bit 4:2:0
ffmpeg -i input.mp4 -pix_fmt yuv420p10le output.mp4 # 10 bit 4:2:0
查看支持的像素格式:
ffmpeg -pix_fmts
色度采样(chroma subsampling)
这是新手最容易被名字唬住的概念,其实原理很简单。
人眼对**亮度(luma)的变化很敏感,对颜色(chroma)**的变化相对迟钝。于是视频编码就利用这一点:亮度每个像素都记,颜色则几个像素共享一份。这就是色度采样。
YUV 色彩空间
视频里一般不用 RGB,而用 YUV:
- Y:亮度(黑白图像)。
- U(Cb):蓝色差。
- V(Cr):红色差。
把 Y、U、V 分开,就可以对亮度全采样、对色度降采样。
4:4:4、4:2:2、4:2:0 怎么读
记法是 J:a:b,表示在一个 4 像素宽、2 像素高的区域内:
- 第一个数
J:每行亮度采样数,通常是 4。 - 第二个数
a:第一行色度采样数。 - 第三个数
b:第二行色度采样数(0 表示和第一行共用,不单独采)。
直观理解:
| 格式 | 色度采样比例 | 色度信息丢失 | 典型用途 |
|---|---|---|---|
| 4:4:4 | 100% | 无 | 专业制作、绿幕、图形界面 |
| 4:2:2 | 50% | 一半色度 | 专业摄像、广播电视 |
| 4:2:0 | 25% | 四分之三色度 | 消费级视频、网络传播、蓝光 |
我们日常看的视频几乎都是 4:2:0。它丢掉了 75% 的色度信息,但因为人眼不敏感,几乎看不出来,却能省掉大量体积。
ffprobe 输出里的 yuv420p 表示「YUV 色彩空间、4:2:0 色度采样、planar 平面存储」。这里的 p 是 planar(平面),意思是 Y、U、V 三个分量分开存放;与之相对的是 packed(打包)格式,各分量交错存在一起。注意它和「逐行/隔行扫描」不是一回事——后者是场编码方式,在编码器层面设置,不在像素格式名里。
Note色度采样和色深是两回事:4:2:0 是色度「分辨率」降了,10 bit 是亮度和色度各自的「精度」高了。两者可以组合,比如
yuv420p10le就是 4:2:0 + 10 bit。
串起来看
一个 1080p 30fps 的 H.264 视频,yuv420p、8 bit、8 Mbps,这些参数合在一起才描述清楚它的画质。改任何一个都会影响最终效果:
- 把分辨率砍到 720p,文件小了但细节没了。
- 把帧率降到 24fps,运动没那么顺滑。
- 把码率压到 2 Mbps,画面开始糊。
- 换成 HEVC 编码,同画质体积能小一半。
没有「最好」的参数,只有「最合适」的取舍。后续章节我们会用 ffmpeg 实际调整这些参数。
小结
- 分辨率决定画面尺寸,常见 1080p、4K;宽高尽量保持偶数。
- 帧率决定流畅度,24/30/60fps 最常见。
- 码率决定每秒数据量,直接影响体积和画质;CRF 是最推荐的控制方式。
- 色深是颜色精度,8 bit 通用,10 bit 适合 HDR。
- 色度采样在 YUV 下省体积,4:2:0 最普遍,几乎看不出损失。
下一章讲三种最基础的处理方式:转码、转封装和流复制。