我正在尝试从网络摄像头获取流,然后使用tee获得两个接收器(filesink和autovideosink),这样我就可以在窗口中显示视频,同时将其保存到文件夹中。当我运行此命令时,我只在窗口中获得冻结的图像,而不是视频流。它适用于两个autovideosinks(我得到两个带有两个视频流的窗口),所以我猜问题是在filesink部分。 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
答案 0 :(得分:2)
尝试将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