视频或视频流和帧的关系?怎么理解?
前言:
理解视频和帧之间的关系是掌握多媒体处理的基础。理解清楚视频与视频帧的关系,有助于研究视频相关的算法,如:识别视频是否都是静止的画面,视频中是否出现过人或汽车等。
一、帧和帧率
1、什么是帧?
- 帧(Frame)是构成视频的基本单位,可以把它想象成动画书中的每一页。每一帧实际上是一张静态图像。
- 当这些静态图像以足够快的速度连续播放时,由于人眼的视觉暂留效应,我们就会感觉到它们在动,从而形成所谓的视频。
2、帧率(Frame Rate)
- 帧率是指每秒钟显示的帧数,通常用FPS(Frames Per Second)表示。
- 帧率决定了视频的流畅度。更高的帧率意味着更平滑的动作过渡,但也需要更多的存储空间和处理能力。
如:使用ffmpeg查看视频流信息,如下为25帧。
这意味着该视频流每秒钟包含25个单独的图像帧。换句话说:
- 在一秒钟的时间内,视频会显示25张不同的图片。
- 这些图片快速地依次呈现给观看者,使得画面看起来是连续移动的。
3、帧率与分辨率不是一回事
- 帧率(FPS):每秒播放多少张图片,影响流畅度
- 分辨率:每张图片的像素大小(如 1920x1080),影响清晰度
4、简单理解
假设你有一个长度为4秒、帧率为25 FPS的视频片段,那么这段视频总共包含(4 * 25 = 100) 张图片(或帧)。如果这是一段描述一个人走路的视频,那么在这100帧中,你会看到这个人从一个位置走到另一个位置的不同瞬间。
即:
1帧 = 1张图片
25帧/秒(FPS) = 每秒钟播放25张图片
视觉暂留原理:
- 人眼对光刺激的反应不会立刻消失,图像在视网膜上会保留约0.1~0.4秒;
- 所以当图片切换速度足够快(比如每秒超过20张),大脑就会把它们“脑补”成连续动作。
二、常见的帧率标准
不同应用场景下,常见的帧率标准有所不同。
1、帧率常用标准
- 电影:传统上使用24FPS,这是因为在早期胶片电影时代,这是最经济有效的帧率,同时也能提供足够的流畅感。
- 电视:PAL制式(主要在欧洲等地使用)通常采用25FPS;NTSC制式(主要用于北美等地)则采用约30FPS(准确地说是29.97FPS)。
- 高清内容:现代高清电视节目和电影可能会采用更高的帧率如50FPS或60FPS,以提供更加流畅的画面。
- 游戏和运动捕捉:为了捕捉快速动作而不产生模糊或跳跃感,这类应用可能需要更高的帧率,如120FPS甚至更高。
2、不同帧率的实际效果
三、帧率对视频质量的影响
- 流畅性:较高的帧率可以使快速移动的对象显得更加平滑自然,减少抖动现象。
- 文件大小:帧率越高,相同时间内包含的帧数越多,因此生成的视频文件也会更大。
- 兼容性:某些设备或软件可能不支持非常高的帧率,选择适当的帧率对于确保跨平台兼容性很重要。
四、总结
- 帧是构成视频的基本单位,相当于一张静态图片。
- 帧率表示每秒显示的帧数,它影响着视频的流畅性和所需的资源。
- 分辨率标识每一帧(即每张图片)的清晰度,越大越清晰。