Gstreamer多个接收器不工作

Gstreamer多个接收器不工作,gstreamer,tee,Gstreamer,Tee,我试图从网络摄像头中获取一个流,然后使用tee获得两个接收器(FileLink和autovideosink),这样我可以在窗口中可视化视频,同时将其保存到文件夹中。当我运行这个命令时,我在窗口中只得到一个冻结的图像,而不是一个视频流。它与两个自动视频接收器(我有两个窗口和两个视频流)一起工作,所以我想问题出在文件链接部分。filesink单独工作时效果很好 gst-launch-1.0 -v v4l2src device=/dev/video0 ! tee name=t \ t. ! q

我试图从网络摄像头中获取一个流,然后使用tee获得两个接收器(FileLink和autovideosink),这样我可以在窗口中可视化视频,同时将其保存到文件夹中。当我运行这个命令时,我在窗口中只得到一个冻结的图像,而不是一个视频流。它与两个自动视频接收器(我有两个窗口和两个视频流)一起工作,所以我想问题出在文件链接部分。filesink单独工作时效果很好

gst-launch-1.0 -v v4l2src device=/dev/video0 ! tee name=t \
    t. ! queue ! videoscale ! video/x-raw,framerate=30/1,width=320,height=240 ! \
    videoconvert ! autovideosink \
    t. ! queue ! video/x-raw,framerate=30/1,width=320,height=240 ! \
    x264enc ! mpegtsmux ! filesink location=~/Videos/test1.mp4

尝试将
async=0
属性添加到FileLink

    gst-launch-1.0 -v v4l2src device=/dev/video0 ! tee name=t \
    t. ! queue ! videoscale ! video/x-raw,framerate=30/1,width=320,height=240 ! \
    videoconvert ! autovideosink \
    t. ! queue ! video/x-raw,framerate=30/1,width=320,height=240 ! \
    x264enc ! mpegtsmux ! filesink **async=0** location=~/Videos/test1.mp4

一种方法是使用
队列泄漏=1!autovideosink sync=false
from