“num buffers”在gstreamer中起什么作用?

“num buffers”在gstreamer中起什么作用?,gstreamer,Gstreamer,我只能找到几页对num缓冲区进行一行解释。像一个 发送EOS流结束前要输出的缓冲区数。默认值=-1无限制 我有一个使用gst-launch-1.0 multifilesrc的虚拟管道,默认循环为False。管道循环,因为num buffers=-1是默认值 我不希望它循环,当我设置num buffers=1或任何其他有限的数字时,它正好循环 num buffers=1或该意义上的任何值意味着什么 编辑:带有10秒视频的示例管道 1.循环=false,缓冲区数=1 $>GST_DEBUG=3 GS

我只能找到几页对num缓冲区进行一行解释。像一个

发送EOS流结束前要输出的缓冲区数。默认值=-1无限制

我有一个使用gst-launch-1.0 multifilesrc的虚拟管道,默认循环为False。管道循环,因为num buffers=-1是默认值

我不希望它循环,当我设置num buffers=1或任何其他有限的数字时,它正好循环

num buffers=1或该意义上的任何值意味着什么

编辑:带有10秒视频的示例管道

1.循环=false,缓冲区数=1 $>GST_DEBUG=3 GST-launch-1.0 multifilesrc location=preview.h264 loop=false num buffers=1!h264parse!avdec_h264!假货 ... 从元素管道0获取EOS。 执行在0:00:00.425738029后结束 ... 2.循环=false,缓冲区数=10 $>GST_DEBUG=3 GST-launch-1.0 multifilesrc location=preview.h264 loop=false num buffers=10!h264parse!avdec_h264!假货 ... 从元素管道0获取EOS。 执行在0:00:04.256451070后结束 ... 3.既没有循环标志default=false,也没有num buffers default=-1,无限制 $>GST_DEBUG=3 GST-launch-1.0 multifilesrc location=preview.h264!h264parse!avdec_h264!假货 …这永远不会结束,因为num buffers=-1。为什么? 我在任何情况下都没有收到任何警告。

num buffers定义给定元素(如videotestsrc)将发布多少帧。发送num缓冲区后,将发布EOS事件

我发现,当您可以定义帧数和帧率,然后设置在给定时间内应接收多少帧的期望值(例如使用probe)时,它在测试中非常有用

multifilesrc似乎不支持num缓冲区:它将读取所有文件并退出,或者在loop=True时重新启动。在multifilesrc上设置num buffers时,应该会看到一条警告

multifilesrc继承自GstBaseSrc元素,并具有num buffers属性。它应用于将一系列帧回放为视频:

gst-launch-1.0多文件src位置=%08d.png循环=true num buffers=1000!德克宾!视频转换!ximagesink

将名为00000000.png的图像依次回放到9999999.png

出于您的目的,只需使用filesrc元素,而不是multifilesrc。

numbuffers定义给定元素(如videotestsrc)将发布多少帧。发送num缓冲区后,将发布EOS事件

我发现,当您可以定义帧数和帧率,然后设置在给定时间内应接收多少帧的期望值(例如使用probe)时,它在测试中非常有用

multifilesrc似乎不支持num缓冲区:它将读取所有文件并退出,或者在loop=True时重新启动。在multifilesrc上设置num buffers时,应该会看到一条警告

multifilesrc继承自GstBaseSrc元素,并具有num buffers属性。它应用于将一系列帧回放为视频:

gst-launch-1.0多文件src位置=%08d.png循环=true num buffers=1000!德克宾!视频转换!ximagesink

将名为00000000.png的图像依次回放到9999999.png


出于您的目的,只需使用filesrc元素,而不是multifilesrc。

EOS在num buffers之后发布。那么,如果它是-1,它是否等于loop=true?num buffers是否表示在发送EOS之前要解析多少帧?注意:我没有看到关于使用num-buffers的multifilesrc的警告。根据文档,multifilesrc没有num buffers:,但很可能这是从GstBaseSrc继承的。因此,num buffers==-1应该发布来自给定源的所有帧。更新我的答案。不知道为什么它不起作用。我已经用示例管道更新了我的问题。你能看看他们是否有帮助吗?@KaranShah我已经看过了,自己也试过了——我想我们用错了。multifilesrc应用于使用sprintf patternEOS在num缓冲区后发布的连续图像数的回放。那么,如果它是-1,它是否等于loop=true?num buffers是否表示在发送EOS之前要解析多少帧?注意:我没有看到关于使用num-buffers的multifilesrc的警告。根据文档,multifilesrc没有num buffers:,但很可能这是从GstBaseSrc继承的。因此,num buffers==-1应该发布来自给定源的所有帧。更新我的答案。不知道为什么它不起作用。我已经用示例管道更新了我的问题。你能看看他们是否有帮助吗?@KaranShah我已经看过了,自己也试过了——我想我们用错了。应使用multifilesrc使用sprintf模式重放连续图像的数量