0

我正在尝试使用脚本运行 YOLO,此行适用于我笔记本电脑上的相机:

cap = cv2.VideoCapture(0)

我想从在 Gazebo 的模拟无人机中运行的摄像机获取视频流,如本文档所示。从终端获取流的命令是这样的:

gst-launch-1.0 -v udpsrc port=5600 caps='application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264'! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink fps-update-interval=1000 sync=false

我可以使用如下代码使其适用于jetson的相机:

cap = cv2.VideoCapture("nvarguscamerasrc ! video/x-raw(memory:NVMM), width=1920, height=1080, format=(string)NV12, framerate=(fraction)30/1 ! nvvidconv flip-method=2 ! video/x-raw, format=(string)BGRx ! videoconvert ! video/x-raw, format=(string)BGR ! appsink")

对于来自 Gazebo 的 UDP 视频流,我无法做到这一点,该怎么做?

这将启动视频流,但它被冻结:

cap = cv2.VideoCapture("udpsrc port=5600 ! application/x-rtp,payload=96,encoding-name=H264 !" "rtpjitterbuffer mode=1 ! rtph264depay ! h264parse ! decodebin ! videoconvert ! appsink drop=true max-buffers=1 emit-signals=true sync=false", cv2.CAP_GSTREAMER)

4

0 回答 0