GStreamer 中的 0(零)帧率是什么意思?

What does 0 (zero) framerate mean in GStreamer?

我正在尝试学习 GStreamer,但有些东西听不懂。

看到其他项目的一些测试代码如下,

video/x-raw,format=RGB,framerate=0/1

上面caps中的framerate=0/1是什么意思?

我尝试使用 autovideosink 来理解它。 我首先期望它直接终止 但我在它终止之前看到了这个闪烁的小帧。

所以 framerate=0/1 不是意味着每秒零帧吗?

确实说没有固定的帧率设置。例如。它可以是可变帧率(它仍然可以是恒定帧率 - 只是没有设置信息)。

这主要是历史原因造成的。现代文件容器存储每个帧的时间戳 - 因此帧率信息没有实际意义(您可以通过检查您有多少帧和视频的长度来获得近似值)。

.avi 这样的旧容器需要这个信息集,因为它写在它的 header 和 none 帧本身包含时间信息。