FPS 是什么意思?简单理解 60 FPS、25 FPS 和视频帧率
最近学习 FFmpeg 时,经常会看到这样的写法:
60 FPS
↓
FFmpeg
↓
25 FPS
刚开始可能会疑惑:
FPS 到底是什么?为什么 60 FPS 可以变成 25 FPS?
其实 FPS 很简单。
一、FPS 是什么?
FPS 全称是:
Frames Per Second
中文一般叫:
帧率,也就是“每秒多少张画面”。
视频其实并不是一张真正连续运动的画面。
它本质上是:
第1张图片
第2张图片
第3张图片
第4张图片
……
这些图片快速连续播放,人眼看起来就变成了视频。
例如:
25 FPS
=
1秒钟播放25张图片
而:
60 FPS
=
1秒钟播放60张图片
二、60 FPS 和 25 FPS 有什么区别?
最简单理解:
FPS 越高,一秒钟包含的画面越多,运动看起来通常越流畅。
例如一个人快速挥手:
25 FPS
1秒
↓
25张画面
60 FPS
1秒
↓
60张画面
60 FPS 记录的画面更多,因此快速运动时通常会显得更加流畅、细腻。
简单对比:
| 帧率 | 每秒画面 | 特点 |
|---|---|---|
| 15 FPS | 15张 | 流畅度较低 |
| 25 FPS | 25张 | 普通视频已经比较流畅 |
| 30 FPS | 30张 | 很常见 |
| 60 FPS | 60张 | 更流畅,适合快速运动 |
三、为什么 FFmpeg 可以把 60 FPS 变成 25 FPS?
假设原视频:
1秒 = 60张画面
FFmpeg 可以重新处理视频,只保留需要的画面,使输出视频变成:
1秒 = 25张画面
也就是:
60 FPS
↓
FFmpeg
↓
25 FPS
可以粗略理解成:
原来一秒有 60 张照片,现在挑出其中一部分,让一秒只保留 25 张。
视频还是正常播放,只是每秒使用的画面数量减少了。
四、为什么要降低 FPS?
最常见的原因就是:
降低视频处理压力和文件大小。
例如:
60 FPS
=
1分钟需要处理3600帧
25 FPS
=
1分钟只需要处理1500帧
如果后面还需要 OpenCV、AI 模型等逐帧处理视频,那么 FPS 越高,需要处理的图片就越多。
所以很多场景并不需要 60 FPS。
例如普通监控、课堂录像等场景,可能 25 FPS 已经足够。
五、FPS 和分辨率不是一回事
这两个概念也很容易混。
分辨率
例如:
1920 × 1080
表示:
每一张图片有多清晰。
FPS
例如:
25 FPS
表示:
一秒钟有多少张图片。
所以可以这样记:
1080P
=
每张图有多清楚
25 FPS
=
一秒钟有多少张图
六、最后怎么理解 FPS?
一句话:
FPS 就是视频每秒包含多少张画面。
例如:
25 FPS = 每秒25张画面
60 FPS = 每秒60张画面
FPS 越高,视频通常越流畅,但同时意味着:
- 数据量更大
- 文件可能更大
- 视频处理压力更高
所以 FFmpeg 经常会根据实际需要调整 FPS。
最后可以简单记成:
分辨率决定“每张图有多清楚”,FPS 决定“每秒有多少张图”。
浙公网安备 33010602011771号