Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gstreamer 为什么T型台分割的视频流只在一个显示窗口中显示?_Gstreamer - Fatal编程技术网

Gstreamer 为什么T型台分割的视频流只在一个显示窗口中显示?

Gstreamer 为什么T型台分割的视频流只在一个显示窗口中显示?,gstreamer,Gstreamer,我还不是gstreamer的天才,但我正在尝试一些基本知识,以减少无知。我尝试了这个,希望在单独的弹出窗口中看到两种测试模式: gstl videotestsrc ! tee name=t ! autovideosink t. ! autovideosink 这将导致弹出两个新窗口,但只有一个窗口显示颜色栏测试模式。另一个显示了它碰巧覆盖的桌面背景的冻结快照。为什么会发生这种情况,我将如何修改管道以使其正常工作?请尝试以下操作: gst-launch-1.0 videotestsrc

我还不是gstreamer的天才,但我正在尝试一些基本知识,以减少无知。我尝试了这个,希望在单独的弹出窗口中看到两种测试模式:

gstl  videotestsrc  ! tee name=t  ! autovideosink   t. ! autovideosink
这将导致弹出两个新窗口,但只有一个窗口显示颜色栏测试模式。另一个显示了它碰巧覆盖的桌面背景的冻结快照。为什么会发生这种情况,我将如何修改管道以使其正常工作?

请尝试以下操作:

gst-launch-1.0 videotestsrc!发球台名称=t!队列自动视频接收器t!队列autovideosink

请这样尝试:


gst-launch-1.0 videotestsrc!发球台名称=t!队列自动视频接收器t!队列autovideosink

顺便说一句,“gstl”是gst-launch-1.0BTW的别名,“gstl”是gst-launch-1.0BTW的别名。您能否解释为什么会这样做,以及当“队列”不存在时会发生什么?队列会添加线程。当管道进行预滚动时,它将等待所有接收器接收到数据。在没有队列的情况下,tee的第一个输出焊盘将数据发送到接收器-接收器阻塞并等待,因此阻止tee将数据发送到第二个输出焊盘。线程将允许这样做,以便两个接收器都将获得数据,并且您可以从预滚动状态切换到播放状态。当“队列”不存在时,管道将在推模式下工作。由于t形元素存在,第一个汇元素的链函数将阻止源元素的pad push函数,第二个汇元素无法完成预滚。请参阅:您能解释一下为什么会这样做,以及当“队列”不存在时会发生什么情况吗?队列添加了一个线程。当管道进行预滚动时,它将等待所有接收器接收到数据。在没有队列的情况下,tee的第一个输出焊盘将数据发送到接收器-接收器阻塞并等待,因此阻止tee将数据发送到第二个输出焊盘。线程将允许这样做,以便两个接收器都将获得数据,并且您可以从预滚动状态切换到播放状态。当“队列”不存在时,管道将在推模式下工作。由于t形元素存在,第一个汇元素的链函数将阻止源元素的pad push函数,第二个汇元素无法完成预滚。参考: