gst-launch-1.0运行正常 调用Gst.parse_launch报语法错误如何解决
GStreamer Python调用parse_launch语法错误解决方案
错误原因
语法错误的根源是你将gst-launch-1.0命令行工具的专属参数混入了流水线描述字符串:
-v是gst-launch-1.0工具自带的参数,作用是输出流水线的详细调试信息,不属于GStreamer流水线语法的一部分。Gst.parse_launch()仅接受纯流水线结构描述,无法识别该参数,直接传入就会触发语法错误。
解决方案
移除传入Gst.parse_launch()的字符串末尾的-v即可,修改后的代码如下:
pipeline = Gst.parse_launch("v4l2src device=/dev/video2 ! video/x-raw,format=YUY2,width=2560,height=720,framerate=60/1 ! tee name=t ! queue ! xvimagesink sync=0 brightness=50 t. ! queue ! v4l2sink device=/dev/video3")
如果需要实现和-v参数等效的详细日志输出,可以通过以下方式实现:
- 运行代码前设置环境变量
GST_DEBUG=3,可调整等级数值获取不同详细程度的日志 - 在代码中注册GStreamer日志回调,自行捕获输出的调试信息
内容的提问来源于stack exchange,提问作者Chealsie
相关产品推荐
相关产品推荐

