这将被转换为:
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 我发现这里
"ffmpegcolorspace“元素已被新的”视频转换“元素所取代。
仅仅用gst-launch-1.0替换gst-launch和用videoconvert替换ffmpegcolorspace是不够的,并且会产生一个错误:
警告:错误的管道:无法将videoconvert0链接到v4l2sink0
一个简单的gst-launch-1.0 videotestsrc ! ximagesink可以正常工作,而gst-launch-1.0 videotestsrc ! v4l2sink device=/dev/video0会产生一个不同的错误:
错误:来自元素/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:内部数据流错误。
发布于 2015-12-14 19:17:52
有两件事,第一,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
https://stackoverflow.com/questions/34246719
复制相似问题