GStreamer将appsrc附加到另一个管道

时间:2014-06-03 10:49:17

标签: c gstreamer

我是GStreamer的新手,我面临的问题是

管道1

v4l2src device = / dev / video241! video / x-h264,身高= 720,宽度= 1280,帧率= 30/1! tvcameradmx name = demux demux.video_0!排队! omx_h264dec! xvimagesink

管道2

appsrc! video / x-h264,身高= 720,宽度= 1280,帧率= 30/1! avimux!文件接收

我想将appsrc附加到管道1的队列

为此,我在推模式下使用appsrc。

  1. 我为" need-data"创建了一个回调函数。信号
  2. 当管道2从暂停状态变为播放状态时触发此回调
  3. 现在推送队列缓冲区我必须使用gst_app_src_push_buffer。
  4. 我的问题是如何从队列中检索缓冲区????

1 个答案:

答案 0 :(得分:2)

如果您尝试从v4l2转到文件接收器和X,您将需要使用T恤,如JPS所示。管道将成为这些方面的东西:

v4l2src device=/dev/video241 ! video/x-h264,height=720,width=1280,framerate=30/1 ! tvcameradmx name=demux demux.video_0 ! tee name=t ! queue ! omx_h264dec ! xvimagesink t. ! queue ! avimux ! filesink location=...

创建T恤并命名后(在这种情况下为“t”),您可以通过附加“。”在管道中再次引用它。在它之后。然后它成为一种新的源元素。