我一直在尝试从 python 代码访问不同的 IP 摄像机,但它能够访问设置在通道一上的摄像机,当我提供 NVR 的 IP 地址时也是如此,因此它可以直接访问摄像机放到第一频道。
我正在分享下面我尝试运行的代码-
import cv2
cap = cv2.VideoCapture('rtsp://Username:password@Ipaddress') #IP address
while(True):
ret, frame = cap.read()
cv2.imshow("RTSP",frame)
if cv2.waitKey(1) & 0xFF == ord('q'): #click q to stop capturing
break
cap.release()
cv2.destroyAllWindows()
我尝试访问连接到 NVR 的不同 IP 摄像机,但我无法做到这一点,只有当我传递 NVR 的 IP 地址时,我只能访问通道 1 中设置的摄像机,当我尝试提供相机的 IP 时,它显示错误。
谁能解答我的疑问吗?
我猜提供的 RTSP URL 缺少视频流的路径。通常,路径应包括摄像机的特定流和通道信息。 URL 应采用以下格式:
rtsp://Username:password@Ipaddress/Streaming/Channels/ChannelNumber
这是代码的更新版本,具有正确的 RTSP URL 格式和固定缩进:
import cv2
# Replace with your camera's credentials and channel number
username = 'your_username'
password = 'your_password'
ip_address = 'your_ip_address'
channel_number = 1
# Camera stream URL
stream_url = f'rtsp://{username}:{password}@{ip_address}/Streaming/Channels/{channel_number}'
# Open the camera stream
cap = cv2.VideoCapture(stream_url)
while True:
ret, frame = cap.read()
if not ret:
break
cv2.imshow("RTSP", frame)
if cv2.waitKey(1) & 0xFF == ord('q'): # Press 'q' to stop capturing
break
cap.release()
cv2.destroyAllWindows()
rtsp_url = ('rtsp://admin:密码@ip地址:端口/流媒体/频道/号码') 这个网址应该适用于任何 IP 闭路电视摄像机