我使用opencv与gstreamer从万向相机播放流。我用我的笔记本电脑和ubuntu 22.04进行开发,代码也可以在安装ubuntu 22.04的不同机器上运行。
我的gstreamer字符串如下:
rtspsrc location=rtsp://192.168.2.119:554 latency=50 ! rtph264depay ! h264parse ! avdec_h264 ! autovideoconvert ! appsink
问题是,我的代码可以在开发机器上工作,但不能在部署机器上工作。下面还提供了有关机器的相关信息。
opencv是使用gstreamer插件从源代码构建的。
开发机:
nvidia gpu;Gstreamer版本:1.20.1;Opencv版本:4.6.0
部署机:
没有专用gpu。Gstreamer版本:1.20.1;Opencv版本:4.6.0;
我试着:Gst-launch-1.0 with debug=5(在注释中输出)
编辑:无法添加调试输出,因为它太长了。
edit2:当我删除!自动视频转换,gst-launch-1.0按预期启动。
解决:
使用! videoconvert
而不是! autovideoconvert
似乎在两台机器上都工作。这可能是由于缺少编解码器库。我不确定。
! videoconvert
代替! autovideoconvert
对我很有效。