








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