首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >控制gstreamer源码插件的输出速率

控制gstreamer源码插件的输出速率
EN

Stack Overflow用户
提问于 2014-07-16 00:06:13
回答 1查看 454关注 0票数 1

全,

我有一个gstreamer源插件,它可以从avi文件中读取视频帧。它连接到gstreamer的核心tee和两个队列元素,将视频帧推送到两个视频处理elements.These,两个视频处理元素的输出被我的多路复用插件复用。

使用tee和queue,目前我的gstreamer源码插件一直在将大约6-10个视频帧推送到两个队列中--直到队列限制被填满为止。我想要的是从我的源插件中只推送一个视频帧,并等待下一帧来自我的多路复用插件的信号。

有人可以指导如何在gstreamer框架中实现这一点吗?

谢谢!手臂

附注:我尝试使用队列元素的max-size-buffers属性设置为1,但不起作用。

EN

回答 1

Stack Overflow用户

发布于 2014-07-16 04:51:59

看看现有的GStreamer多路复用器。基本上,速率控制是通过使用GstCollectPads在每个接收板上等待一个缓冲区然后分块来完成的,一旦每个接收板有了缓冲区,您就可以将它们多路复用在一起(适当地将它们彼此同步),然后转发数据。因此,速率控制是通过多路复用器内部的阻塞来完成的,并且只有当多路复用器解除阻塞(即消耗缓冲区)时,才可以在该接收器上推送新的缓冲区。

复用器前面的队列与此无关,但如果您希望保持较低的内存使用率,则可以使用max-size-buffer=1或类似的设置。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24763035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档