这将被转换:
gst-launch -v ximagesrc startx=0 starty=0 endx=800 endy=600 ! ffmpegcolorspace ! "video/x-raw-yuv,width=800,height=600,framerate=30/1" ! v4l2sink device=/dev/video0
我找到了here
“ffmpegcolorspace”元素已替换为新元素 “视频转换”元素。
简单地将gst-launch
替换为gst-launch-1.0
而将ffmpegcolorspace
替换为videoconvert
是不够的,并产生错误:
警告:错误的管道:无法将videoconvert0链接到v4l2sink0
简单的gst-launch-1.0 videotestsrc ! ximagesink
工作正常,而gst-launch-1.0 videotestsrc ! v4l2sink device=/dev/video0
会产生不同的错误:
错误:来自元素 / GstPipeline:pipeline0 / GstVideoTestSrc:videotestsrc0:内部数据 流量错误。
答案 0 :(得分:3)
首先,GStreamer改变了他们的限制方式,因此video/x-raw-yuv
变为video/x-raw,format=YUV9
(或许多其他格式之一)。因此,根据GStreamer 1.0,您的上限会出错。
其次,你可能会稍微调整你的管道。我猜你可以这样做:
gst-launch -v ximagesrc startx=0 starty=0 endx=800 endy=600 ! videoconvert ! v4l2sink device=/dev/video0
如果源和接收器之间的帧速率不匹配,则必须添加视频速率:
gst-launch -v ximagesrc startx=0 starty=0 endx=800 endy=600 ! videoconvert ! videorate ! video/x-raw,framerate=30/1 ! v4l2sink device=/dev/video0