Jetson Xavier AGX open OpenCV | GStreamer warning: Cannot query video position: status=0, value=-1,

Jetson Xavier AGX [ WARN:0] global /home/lijinzhe/opencv/opencv-4.1.1/modules/videoio/src/cap_gstreamer.cpp (933) open OpenCV | GStreamer warning: Cannot query video position: status=0, value=-1, duration=-1
[ WARN:0] global /home/lijinzhe/opencv/opencv-4.1.1/modules/videoio/src/cap_gstreamer.cpp (1757) handleMessage OpenCV | GStreamer warning: Embedded video playback halted; module v4l2src0 reported: Internal data stream error.
[ WARN:0] global /home/lijinzhe/opencv/opencv-4.1.1/modules/videoio/src/cap_gstreamer.cpp (515) startPipeline OpenCV | GStreamer warning: unable to start pipeline 问题)

Jetson Xavier,AGX 罗技C930C摄像头,opencv4.1, tensorflow2.4,JetPack4.5
首先可以查看一下摄像头是否在位,命令行输入

ls /dev/video*

我的虽然是外部的摄像头,但是显示的是video1

而其实问题并没有那么复杂,只是因为你的帧率设置的太高了而已,把它改为

capture = cv.VideoCapture(0)  # 调用摄像头‘0'一般是打开电脑自带摄像头,‘1'是打开外部摄像头(只有一个摄像头的情况)
capture.set(cv.CAP_PROP_FRAME_WIDTH, 640)
capture.set(cv.CAP_PROP_FRAME_HEIGHT, 480)
capture.set(cv.CAP_PROP_FOURCC, cv.VideoWriter_fourcc('M', 'J', 'P', 'G'))  # 在AGX上不要去直接设置帧率,不好用,主要是opencv默认为YUY2格式的视频流,最高帧率只有40,而这个MJPG格式可以很高

在这里插入图片描述

你可能感兴趣的:(Jetson,Xavier,AGX,opencv,nvidia)