什么是 I 帧,它们会影响视频大小吗?

What are I-frames and do they affect the video size?

定义视频的参数有多个,您可能知道它们是 frame ratebit rateresolution、...等等。

我注意到有一些我不知道的新参数,包括 B-framesI frames 调用的参数。

我试图了解我正在实施的自定义视频捕获中的 I-intervals,这就是我得到的:

I-区间

I 间隔是视频帧之间的间隔,它们以秒为单位相互关联。所以他们要么相距 1 秒,要么相距 2 秒,要么相距 3 秒....

当我对我的视频进行编码并将 I Interval 设置为(2 秒或 1 秒)时,我注意到在媒体控制器控制下输出视频无法正确定位。

当我编码我的视频并将 I Interval 设置为(0 秒)时,我注意到视频确实正确地寻找但视频的大小增加了。

问题:

这些 I 间隔是什么?为什么它们会影响视频的大小和搜索?

I帧设置为0秒是不是错了?

基础知识

H264压缩格式是一种帧间预测格式。很简单,要完成并显示一个框架,需要其他框架存储的信息。

大多数基本帧是 I 表示独立,P 表示预测,B 表示双向帧。

I 帧,通常也称为关键帧,是完整的帧,不需要其他帧的任何数据。

P 帧使用之前帧的数据。

最后,B 帧可以同时使用之前和未来的帧数据

回到问题

现在大部分事情应该都清楚了。 大小增加是因为I帧是最不可压缩的,你可以把一个全I帧的视频想象成把jpg图片串起来。

搜索受到影响,因为一些玩家搜索到搜索位置的前一个 I 帧并简单地从那里开始播放,因为无论如何他们必须从那里解码以产生正确的视觉效果。

把I-frame间隔设置为0没有错,其实很常见。