一、视频参数概念
- 单个视频帧:可以简单地理解成为一张图片
单个视频帧主要的参数概念:
- 分辨率:
分辨率是指图像或显示器上像素的数量,通常用横向像素数乘以纵向像素数表示。例如,1920x1080 表示宽度为1920像素,高度为1080像素的分辨率
。分辨率越高,图像就越清晰,但也需要更多的计算和存储资源
。
- 像素:
像素是图像的最小单位,是图像中能够单独控制的点。每个像素包含有关颜色和亮度的信息
。图像分辨率是通过像素的数量来描述的,更高的分辨率通常意味着图像中包含更多的像素,因此能够呈现更丰富的细节。
- dpi(Dots Per Inch)
DPI是指每英寸内的像素密度,用于描述打印机、扫描仪或显示器的输出或输入质量。较高的DPI值表示图像或文档具有更高的分辨率,因此更清晰
,但也需要更多的打印或存储资源。
- 色彩空间模型
色彩空间模型是一种描述颜色的系统,定义了颜色如何在数字图像中表示。常见的色彩空间模型包括:
- RGB(红绿蓝): 使用红、绿、蓝三个颜色通道来表示颜色。
- YUV(亮度-色度): 使用亮度(Y)和色度(U、V)分量表示颜色。
- CMYK(青、品红、黄、黑): 用于印刷颜色,包含青、品红、黄、黑四个颜色通道。
- 多个视频帧:多个视频帧指的是
一系列连续的单个视频帧,这些帧按照一定的顺序排列,形成了视频序列
。视频是通过将这些帧以一定的帧率播放而呈现的
多个视频帧的主要参数概念:
- 帧率(frames per second):
帧率是指每秒播放的视频帧数量
,通常用帧数每秒(fps,frames per second)表示。帧率决定了视频的流畅度,更高的帧率通常意味着更流畅的动画效果
。常见的帧率包括 24fps、30fps、60fps 等。不同的应用场景可能需要不同的帧率,例如电影通常采用 24fps,而视频游戏通常采用较高的帧率以提供更好的用户体验
。
- 播放时间戳(PTS,Presentation Timestamp):
播放时间戳是视频帧在播放时的时间戳,用于确定视频帧在整个视频序列中的播放顺序和时间位置
。PTS 表示视频帧何时应该被显示。PTS 的单位通常是毫秒(ms),表示视频帧在视频开始播放后多少毫秒时应该被显示
。正确的 PTS 顺序确保了视频帧的正确显示顺序。
- 码率(Bitrate):
码率是指视频文件中每秒传输的比特数,通常以每秒的比特数或千比特数(bps,kbps,mbps)表示。码率直接影响到视频的质量和文件大小。
高码率通常意味着更高的视频质量,但也需要更大的存储空间和更高的带宽进行传输。低码率则可能导致视频压缩和失真。码率实际上是为了限制数据量大小,在直播等流媒体中一般要设置最大码率以限制视频大小,防止客户端宽带不足而卡顿
。
- 注意:高帧率和高码率不相关:
高帧率可能导致更多的图像变化,特别是在快速运动的情况下,这可能需要更高的码率来维持图像质量。 高帧率通常需要更高的码率以应对更多的图像变化,以防止动态场景中出现模糊或失真。高码率并不一定需要高帧率。
一段视频可以以较高的码率传输,以保持图像质量,但帧率仍然可以是标准的 24fps 或 30fps
- I帧,P帧,B帧,GOP
I帧(关键帧),P帧(预测帧)和B帧(双向预测帧)是视频压缩中常用的三种帧类型,它们共同构成了视频序列的编码结构。这些帧在视频压缩和解压缩中扮演着不同的角色,有助于实现高效的视频存储和传输。
- I帧(关键帧) I-frame (Key Frame):
I帧是视频序列中的关键帧,它是完整的图像帧,不依赖于其他帧。每个 GOP(Group of Pictures,一组图像)的开始通常是一个I帧。
I帧存储了整个图像的信息,是视频解码的起点,也是视频编辑和切割的关键点。由于独立性,I帧对于随机访问和视频编辑是非常重要的。
I帧基本出现在视频画面突变的位置。
- P帧(预测帧)P-frame (Predictive Frame):
P帧是通过对前向参考帧进行运动估计和补偿得到的帧,只存储图像中发生变化的部分。P帧依赖于前一个I帧或P帧。
P帧在压缩中起到了减小文件大小的作用,因为它只存储了相对于前一帧变化的内容。虽然P帧本身不能独立显示,但与前一帧结合后能够还原图像。
- B帧(双向预测帧)B-frame (Bidirectional Predictive Frame):
B帧是通过对前后两个关键帧或预测帧进行运动估计和补偿得到的帧,同时存储了图像前后两帧之间的变化
。B帧通常相对于前后的I帧或P帧都有差异B帧在视频压缩中进一步提高了压缩比,因为它同时利用了前后两帧的信息。然而,由于其依赖于前后两帧,解码时需要确保这两帧已经被解码(所以在直播流的场景下,一般是不生成B帧的,有利于直播的流畅)
。
- GOP(Group of Pictures,一组完整的视频帧)
这些帧类型共同构成了视频压缩的基本单元,称为GOP。通过合理使用I帧、P帧和B帧的组合,视频编码器可以实现更高的压缩比,从而降低视频文件的大小
,并在有限的带宽条件下更有效地传输视频。
直播中设置gop和帧率的1-2倍的好处就是,画面不容易花屏,当直播中断后,重新拉取流也能更快的重新播放(因为第一秒必定是I帧,可以减少P帧的计算时间
)