关键帧就是IDR帧
IDR是一种前面带SPS PPS的I帧。
参考 P-Frame 、B-Frame、I-Frame、GOP、IDR
IDR和关键帧
- IDR属于I帧,但是I帧不一定是IDR帧。只有IDR帧,才有SPS和PPS。解码器收到IDR帧时,将reference buffer清空;而收到I帧不会清空reference buffer。也就是说,对某个IDR帧之后的帧,解码器不会参考这个IDR帧之前的任何帧做解码。对某个I帧之后的帧,解码器可能会参考这个I帧之前的帧做解码。
GOP区间
- 两个IDR帧之间的区间,从一个IDR帧开始,到下一个IDR前的帧结束,叫做IDR区间,又叫做GOP区间。closed GOP设定下,GOP区间可以看做是独立的一段视频:它里面的所有帧,都不需要参照任何区间之外的东西,只要 一个GOP区间是齐全的,区间里面所有的帧都能被解码。
ffprobe key_frame
- 从pict_type=I可以看出这是个关键帧,
- 然后key_frame=1 表示这是IDR frame,
- 如果key_frame=0表示这是Non-IDR frame。