0

定义视频的参数有多个,您可能知道它们是frame rate, bit rate, resolution,... 等等。

我注意到有一些我不知道的新参数,包括B-framesand调用的内容I frames

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

I-间隔

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

当我对视频进行编码并将 I 间隔设置为 (2 sec 或 1 sec ) 时,我注意到输出视频在由媒体控制器控制时无法正确搜索。

当我对视频进行编码并将 I 间隔设置为(0 秒)时,我注意到视频确实可以正确搜索,但视频的大小增加了。

问题:

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

将I帧设置为0秒是错误的吗?

4

1 回答 1

0

基础知识

H264 压缩格式是帧间预测格式。非常简单,要完成和显示一个框架,它需要存储在其他框架中的信息。

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

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

P 帧使用来自先前帧的数据。

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

回到问题

现在大部分事情都应该清楚了。尺寸增加是因为 I 帧是最不可压缩的,您可以将所有 I 帧视频想象为将 jpg 图片串在一起。

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

将 I 帧间隔设置为 0 没有任何问题,这实际上很常见。

于 2018-05-17T10:10:57.460 回答