暂停用T恤制作的gstreamer线

时间:2015-08-14 17:16:04

标签: gstreamer

我有一个gstreamer管道,它从网络摄像头获取视频并将其分成两个线程:
1)使用appsink,以便我可以编程方式编辑捕获的帧 2)将视频保存到文件

管道如下所示:

gst-launch-1.0 v4l2src device=/dev/video0 \
! tee name=t ! queue ! videoconvert ! videoscale ! appsink name=sink caps="video/x-raw,format=RGB,width=800,framerate=15/1" t. \
! queue ! video/x-raw,width=800,framerate=15/1 ! jpegenc ! avimux ! filesink location=/tmp/output.avi

我在C ++应用程序中使用它。

我的问题是,在大多数情况下,我不需要同时运行两个线程,而只需要其中一个。在极少数情况下 - 需要两者兼得 所以我需要一些方法暂时暂停/停止应用程序或视频保存 - 以节省CPU。

我现在的做法是销毁管道并在需要时只用一个线程重新创建它,但这看起来很难看。

我一直在寻找更好的解决方案,但到目前为止还没有运气 - 有没有办法做到这一点?

提前致谢!

0 个答案:

没有答案