2017-08-30 82 views
2

我想從攝像頭流,然後利用發球得到兩片(文件接收和autovideosink),這樣我就可以在一個窗口可視化的視頻,並在同一時間將其保存到一個文件夾。當我運行這個命令時,我只在窗口中獲得一個凍結的圖像,而不是視頻流。它的工作原理有兩個autovideosinks(我得到兩個窗口有兩個videostreams),所以我想這個問題是在文件接收部分。文件鏈接完美工作。的Gstreamer多匯不工作

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 

回答

1

嘗試將async=0屬性添加到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 **async=0** location=~/Videos/test1.mp4