学习目标:

​训练好的模型要到真实环境中使用,怎么能被数据源难倒​



代码内容:

​提示:这里可以添加要学的内容​

import cv2

# ip摄像机地址url
# url = r"rtsp://admin:xxxxxx@192.168.1.75:554/11"
# cap = cv2.VideoCapture(url)

# 访问摄像机需要的信息
ip = '192.168.1.75'
user = 'admin'
password = 'xxxxxx' # 访问摄像机需要密码
# 抓取视频流
cap = cv2.VideoCapture("rtsp://" + user + ":" + password + "@" + ip + ":554/h264/ch1/main/av_stream") # 端口port通常是固定的554
ret, frame = cap.read()
cv2.namedWindow(ip, 0)
cv2.resizeWindow(ip, 500, 300)
# 使用,展示
while ret:
ret, frame = cap.read()
cv2.imshow(ip, frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 退出时释放窗口和内存
cv2.destroyAllWindows()
cap.release()

测试结果:

python从网络摄像机取视频流的步骤_python


进阶学习:

​了解更多关于rtsp协议取视频流。​

  1. 取海康网络摄像机实时流
    url = “rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/av_stream”
    username:用户名,如:admin
    password:密码
    ip:设备IP。
    port:默认端口554。
    codec:视频编码,有h264,MPEG-4等。
    channel:通道号,起始为1。通道1表示为ch1
    subtype:码流类型,主码流为main,子码流sub.
    例如:url = “rtsp://admin:123456@192.168.1.75:554/h264/ch1/main/av_stream”
  2. 大华
  3. python从网络摄像机取视频流的步骤_码流_02

  4. 雄迈/巨峰
  5. python从网络摄像机取视频流的步骤_码流_03

  6. 天视通
  7. python从网络摄像机取视频流的步骤_opencv_04

其他更多参见:​​opencv-python读取多个网络摄像机视频流,解决实时延时问题​