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

学习目标:

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

  • 掌握opencv-python获取网络摄像机视频数据的方法

代码内容:

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

import cv2

# ip摄像机地址url
# url = r"rtsp://admin:[email protected]: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()

测试结果:
在这里插入图片描述


进阶学习:

了解更多关于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:[email protected]:554/h264/ch1/main/av_stream”

  2. 大华
    在这里插入图片描述

  3. 雄迈/巨峰
    在这里插入图片描述

  4. 天视通
    在这里插入图片描述

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

猜你喜欢

转载自blog.csdn.net/beauthy/article/details/127286740