我正在与中国IP摄像机模块作战,其中一个具有芯片组IMX322和2MPX。我设法连接到这台相机(没有文档。该怎么做),但上面的网址似乎有效:
rtsp://<local_ip>/user=admin&password=&channel=1&stream=0.sdp
我使用标准的python循环获取数据,但是存在一些问题,我真的不确定在哪里,这可能是Nvidia Jetson TX2和Ubuntu 16.4下的相机(错误的标头)或库的问题。
#!/usr/bin/env python
import sys
from time import sleep
import numpy as np
import cv2
import time
cap = cv2.VideoCapture('rtsp://192.168.1.11/user=admin&password=&channel=0&stream=0.sdp?tpc')
while(True):
ret, frame = cap.read()
if ret:
cv2.imshow("Image", cv2.resize(frame,(800,600)))
else:
print('no video')
#cap.set(cv2.CAP_PROP_POS_FRAMES, 0)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
问题是我收到VideoCapture()的异常行为,在imgShow中生成输出帧大约需要2秒钟,但是在此之前,我在命令行级别收到2,3次错误。
Invalid UE golomb code
Invalid UE golomb code
在从相机错误中提取正确帧期间,仍以每秒1,2的频率显示。我试图在Google中找到任何有用的信息,但看起来90%的帖子与C ++或FFMPEG有关。