读取海康威视摄像头实时显示视频流

提示:文章用于学习记录

文章目录

  • 前言
  • 一、设置同一网段
  • 二、密码重置
  • 三、VLC 读取视频流
  • 四、opencv 读取视频流
  • 总结


前言

  • 摄像头一般有网线和电源线两个接口,如下图所示,

  • 用网线将摄像头与电脑连接在一起,电源接口连接适配器。

    读取海康威视摄像头实时显示视频流_第1张图片


一、设置同一网段

  • 在“网络和Internet”->“以太网”中,点击“编辑”,

  • 保证跟电脑跟摄像机的 IP 为同一个网段,并且 IP 不会冲突。如下图所示:

    读取海康威视摄像头实时显示视频流_第2张图片

  • 海康摄像头的默认 IP 是192.168.1.64,直接在网页输入192.168.1.64 进入海康威视的登录页面,

  • 用户名默认为 admin,密码需要进行一个重置激活操作。

    读取海康威视摄像头实时显示视频流_第3张图片

二、密码重置

  • 下载密码重置助手
    读取海康威视摄像头实时显示视频流_第4张图片

  • 通过设备型号或者 IP 地址识别相应设备,勾选设备,

  • 确保设备使用 DHCP 勾选启用,输入管理员密码进行修改并刷新,密码重置之后即可登录。

    读取海康威视摄像头实时显示视频流_第5张图片

  • 设备网络搜索 SADPTool,是一款用于海康威视搭载的一款局域网设备搜索的工具软件。

  • 这款软件可以搜索同一局域网内所有在线的设备,并且可以显示设备的相关信息。

  • SADPTool 使用简单,功能实用,能够修改设备的缺省密码,修改网络ip地址和端口号,子网掩码及网关地址等等。

    读取海康威视摄像头实时显示视频流_第6张图片

  • 首先用快捷键 win+R 调出运行命令框,输入 cmd,点击确定,会弹出 DOS 窗口。

    读取海康威视摄像头实时显示视频流_第7张图片

  • ping命令的应用格式:ping IP 地址,试 ping 一下摄像机的 IP 地址192.168.1.64,

  • 如下图所示,发现可以 ping 通,发送数据包的大小默认为32字节,从发出数据包到接受到返回数据包所用的时间小于1ms,TTL 表示生存时间值。

    读取海康威视摄像头实时显示视频流_第8张图片

  • 重新在电脑的浏览器地址栏中输入摄像机的 IP 地址192.168.1.64,

  • 发现可以进去了,登录后就可以查看摄像机的画面了。

  • 点击配置中的系统配置,可以进行与计算机时间同步的时间配置。

    读取海康威视摄像头实时显示视频流_第9张图片

  • 点击配置中的视音频,可以对视频的分辨率,视频帧率进行设置。

    读取海康威视摄像头实时显示视频流_第10张图片

三、VLC 读取视频流

  • 下载 VLC media player 进行安装,
  • 选择菜单栏:媒体 - 打开网络串流,输入RTSP点击播放即可。
  • 目前海康威视摄像头,网络球机的RTSP取流格式如下:
  • rtsp://用户名:密码@IP:554
  • 用户名是admin,密码为前面重置密码,海康威视摄像头的默认 IP 是192.168.1.64
    读取海康威视摄像头实时显示视频流_第11张图片

四、opencv 读取视频流

  • videoCapture 方法表示读取摄像头的视频流,

  • 参数 rtsp://admin:[email protected] 读取视频流,参数0表示读取默认摄像头,

  • cap.read() 读取视频流方法会返回来两个返回值,

  • ret 表示是否成功获取视频流,需要对 ret 是否存在进行判断,

  • 第二个返回值 frame 是每一帧的画面,

  • 使用 imshow 方法将捕获画面显示出来,

  • 最后通过监听用户行为,判断用户是否按下 q 键,如果用户按下q键来执行退出循环,

  • 退出循环后,需要释从内存中将 cap 对象进行释放。

  • 也可以在输出每一帧画面前,对画面进行处理,

  • 这里通过 cvtColor 读取 frame 视频流,

  • 根据指定第二个参数 cv2.COLOR_BGR2GRAY 将视频流数据转换为灰度图片,

  • 然后通过 cap 的 isOpened 方法来判断是否成功开始捕获到图片。

    import cv2
    cap =cv2.VideoCapture("rtsp://admin:[email protected]")
    while(cap.isOpened()):
    	ret, frame = cap.read()
    	gray = cv2.cvtColor(frame, CV2.COLOR BGR2GRAY)
    	cv2.imshow(frame',gray)
    	
    	if cv2.waitKey(1) & 0xFF == ord('q):
    		break
    cap.release()
    cv2destroyAllWindows()
    
  • 视频检测

    HIKVISION

总结

以上就是读取海康威视摄像头实时显示视频流的学习过程。

你可能感兴趣的:(网络,网络协议,运维)