海康摄像头开发笔记(一):连接防爆摄像头、配置摄像头网段、设置rtsp码流、播放rtsp流、获取rtsp流、调优rtsp流播放延迟以及录像存储

文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/131679108

红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)

其他(编程相关)

上一篇:没有了
下一篇:敬请期待…


前言

  Hik防爆摄像头录像,因为防爆摄像头会有对应的APP软件,与普通的网络摄像头和球机不一样,默认认为它不可以通过web网页配置,所以弄了个来实测确认。
  经测试实际上也是可以通过web网页配置(与网络摄像头基本是一致的,在码流方面可能会有些不一样),然后提取rtsp流的,界面与球机无异,只是没有球技的云台控制功能,但是界面上也是有的。


Demo演示

  请添加图片描述

  请添加图片描述


相关博客

  《产品分享:Qt视频播放器(不依赖系统编解码),当前版本v1.1.2》
  《案例分享:Qt+FFmpeg录屏应用(支持帧率、清晰度设置)》
  《案例分享:Qt内窥镜相机录像程序(打开摄像头、支持多种摄像头、分辨率调整、翻转、旋转、亮度调整、拍照、录像、回放图片、回放录像)》
  《项目实战:Qt球机控制工具 v1.0.0(球机运动八个方向以及运动速度,设置运动到指定角度,查询当前水平和垂直角度)》
  《项目实战:Qt+OpenCV视频播放器(支持播放器操作,如暂停、恢复、停止、时间、进度条拽托等)》
  《项目实战:Qt+ffmpeg摄像头检测工具》
  《项目实战:Qt+OpenCV操作摄像头拍照、调节参数和视频录制》
  《海康摄像SDK开发笔记(一):海康威视网络摄像头SDK介绍与模块功能》


防爆摄像头

  在这里插入图片描述


效果图

网页预览

  在这里插入图片描述
  在这里插入图片描述

主码流

  在这里插入图片描述

子码流

  在这里插入图片描述
  防爆摄像头还解决了之前球机存在的,谷歌浏览器无法播放实时视频的插件bug(只能用ie)。


网络配置同一网段(ip网段不同适用)

  当摄像头的网段,如192.168.1.64,那么倒数第二段一半是网段,就是1网段,网段与网段之间是无法通过直接通过网线、路由器连接的,需要先把网络配置成同一网段。

步骤一:获取ip地址

  本摄像头为静态ip,ip地址为192.168.1.64,局域网网段为0(192.168.0.1),而直接插入0网段是无法通向1网段(192.168.1.1)。

步骤二:一台电脑使用网线直接与摄像头网线直通

  网线一头接有网口的电脑,一头接防爆摄像头。

步骤三:配置电脑的ip与摄像头同一网段

  此时,需要打开网络配置,寻找到网线使用的网卡,(PS:多网卡时,将其他非与摄像头网线的网卡禁用),如下图:
  在这里插入图片描述

  然后双击这个“网卡”,此处时“以太网”(PS:有可能时本地连接或其他名字,确认只有这一个网线网口是对应的就可以)
  在这里插入图片描述

  点击“属性”,弹出如下:
  在这里插入图片描述

  双击“Internet协议版本4”,设置本机ip,摄像头是1网段,所以只能1网段可以连接,随便设置个ip(192.168.1.210)临时用,如下图:
  在这里插入图片描述

  点击“确认”,即可。
  此时,可以测试与摄像头ip是否相通,打开windows的命令行终端,使用ping查询:
  在这里插入图片描述

  已通,可以开始登录设置摄像头了。


摄像头网段配置

  (PS:前提可以ping通摄像头,pc不在一个网段则先“网络配置同一网段”)

步骤一:打开浏览器,登录

  打开浏览器,输入摄像头ip,192.168.1.64:
  在这里插入图片描述

  登录,一定要注意,海康摄像头对密码验证策略比较严,输入正确的账号和密码即可登录:
  在这里插入图片描述
  登录进去,如下图:
  在这里插入图片描述

步骤二:重配ip地址

  点击“配置”,进入配置页面:
  在这里插入图片描述

  然后,按照下图,设置新的ip地址网段,由1改为0:
  在这里插入图片描述

  然后,点击“保存”,重启:
  在这里插入图片描述

  然后,将摄像头的网线接入到目标断网去(0网段),然后这台设置ip地址的机子可以设置会自动获取ip,网线接入0网段了)。

步骤三:摄像头ip同一网段测试

  (PS:这时,摄像头已经接入0网段,然后电脑也重新设置回自动ip,接入0网段。)
  打开电脑的cmd终端,测试ping一下摄像头:
  在这里插入图片描述

  能ping通,再看能否连接登录界面:
  在这里插入图片描述

  至此,摄像头网络配置完成。


摄像头配置rtsp码流并播放

  (PS:防爆这种非球机的可能一开始就是支持hk自己的软件,没有开放rtsp流,所以需要配置一下,可以检查,避免没有配置)

步骤一:打开浏览器,登录

  在这里插入图片描述

  登录进入:
  在这里插入图片描述

步骤二:配置rtsp码流

  点击“配置”:
  在这里插入图片描述

  进入“视音频”配置码流:
  在这里插入图片描述

  主码流:主码流一般不动,是默认的,如app打开可能用的。
  所以,优先设置“子码流”,切换至“子码流”,然后设置,具体的码流参数可以实际用,设置参照“主码流”,主要是分辨率和码流参数的改变:
  在这里插入图片描述

  但是这里有一个问题,子码流只能2个分辨率,录制480p和720p为主,再看主码流的分辨率:
  在这里插入图片描述

  最后,我们使用主码流来实时播放,主码流来录像(其他监控录制可能就480p常用,按照提供的需求来,录制1080p的)。
  如下,只录视频流:
  在这里插入图片描述

  然后保存。
  在这里插入图片描述

步骤三:使用第三方软件播放测试

  推荐使用vlc,自行搜索下载:
  启动应用:
  在这里插入图片描述

  在这里插入图片描述

  打开网络流地址:
  在这里插入图片描述

  然后,输入主码流地址:
  在这里插入图片描述

  主码流:
  在这里插入图片描述

  在这里插入图片描述

  主码流可以用两个地址打开:

rtsp://admin:admin123@192.168.1.64:554/h264/ch1/main/av_stream
rtsp://admin:admin123@192.168.0.64:554/Streaming/Channels/1

  子码流:
  在这里插入图片描述

  所以,末尾就是通道号,多个通道就可以多n,从1开始。
  在这里插入图片描述

  在这里插入图片描述


摄像头码流调优

调优方法

  调试主码流,主码流地址:

rtsp://admin:hik12345@192.168.0.64:554/Streaming/Channels/1

  一边播放的时候,一遍web进去配置视频参数调整主码流,直接保存,再查看几分钟效果如何即可。

调优参数1(测试结果:马赛克多,错位):

  在这里插入图片描述

  (PS:上面的配置缓存较大,容易马赛克,错位,ffmpeg处理存在问题)。

调优参数2:图像质量不是很好,会有点马赛克

  在这里插入图片描述

调优参数3(当前采用):图像质量一致,延迟最低

  在这里插入图片描述

  码率类型,图像质量,码率上线,编码复杂度,码流平滑来综合调试实际现场可接受的效果。
  在这里插入图片描述
  在这里插入图片描述


记录仪循环录像测试

  在这里插入图片描述
  在这里插入图片描述


摄像头rtsp播放延迟

  下面是基于本摄像头继续开发的播放录像程序以及几个其他播放器的播放效果和延迟时间:

  在这里插入图片描述

  在这里插入图片描述

  请添加图片描述

  请添加图片描述

  请添加图片描述

  请添加图片描述


上一篇:没有了
下一篇:敬请期待…


文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/131679108

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/74016.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++如何用OpenCV中实现图像的边缘检测和轮廓提取?

最近有个项目需要做细孔定位和孔距测量,需要做边缘检测和轮廓提取,先看初步效果图: 主要实现代码: int MainWindow::Test() {// 2.9 单个像素长度um 5倍double dbUnit 2.9/(1000*5);// 定义显示窗口namedWindow("src"…

【使用机器学习和深度学习对城市声音进行分类】基于两种技术(ML和DL)对音频数据(城市声音)进行分类(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【ASP.NET MVC】生成页面(6)

本应该继续数据库访问的问题进行探讨,前文确实比较LOW。但本人认为:初学者需要解决的是快速了解知识路线的问题,所谓“生存问题”,所以,干脆把流程先走完。 一、页面生成 下面这张图在前面已经介绍过: 前…

网工内推 | 云计算工程师专场,CCNP/HCIP认证优先

01 弧聚科技 招聘岗位:网络工程师(云计算方向) 职责描述: 1、作为H3C初级云计算交付工程资源培养对象,需配合完成相关华三产品及服务规范培训。 2、培训赋能后,安排到H3C云项目交付中进行项目交付及驻场支…

【从零开始学习JAVA | 第三十七篇】初识多线程

目录 前言: ​编辑 引入: 多线程: 什么是多线程: 多线程的意义: 多线程的应用场景: 总结: 前言: 本章节我们将开始学习多线程,多线程是一个很重要的知识点&#xff…

【Spring Boot】请求参数传json数组,后端采用(pojo)新增案例(103)

请求参数传json数组,后端采用(pojo)接收的前提条件: 1.pom.xml文件加入坐标依赖:jackson-databind 2.Spring Boot 的启动类加注解:EnableWebMvc 3.Spring Boot 的Controller接受参数采用:Reque…

openCV C++环境配置

文章目录 一、openCV 安装二、新建项目三、配置环境变量四、测试使用 编译器:vs2017 OpenCV:4.5.4 一、openCV 安装 将openCV安装到一个路径下,我安装到了D盘根目录下 二、新建项目 在vs2017新建控制台空项目,打开项目属性 在VC目录 -> 包含目录下…

【Spring Boot】请求参数传json对象,后端采用(map)CRUD案例(101)

请求参数传json对象,后端采用(map)接收的前提条件: 1.Spring Boot 的Controller接受参数采用:RequestBody 2.需要一个Json工具类,将json数据转成Map; 工具类:Json转Map import com…

面试热题(接雨水问题)

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 我们看到题的第一步,永远是对入参进行判断 public int trap(int[] height) {if (height null) {return 0;}...} 但是我们想想看,接…

Springboot -- 按照模板生成docx、pdf文件,docx转pdf格式

使用 poi-tl 根据模板生成 word 文件。 使用 xdocreport 将 docx 文件转换为 pdf 文件。 xdocreport 也支持根据模板导出 word ,但是 poi-tl 的功能更齐全,操作更简单,文档清晰。 poi-tl 、xdocreport 内部均依赖了 poi ,要注意两…

伊语IM即时通讯源码/im商城系统/纯源码IM通讯系统安卓+IOS前端纯原生源码

伊语IM即时通讯源码/im商城系统/纯源码IM通讯系统安卓IOS前端纯原生源码, 后端是java源码。

利用鸿鹄快速构建公司IT设备管理方案

需求描述 相信应该有一部分朋友跟我们一样,公司内部有很多各种各样的系统,比如资产管理、CRM、issue管理等等。这篇文章介绍下,鸿鹄是如何让我们的资产系统,按照我们的需求展示数据的。 我们的资产管理系统,是使用开源…

机器学习---线性回归、多元线性回归、代价函数

1. 线性回归 回归属于有监督学习中的一种方法。该方法的核心思想是从连续型统计数据中得到数学模型,然后 将该数学模型用于预测或者分类。该方法处理的数据可以是多维的。 回归是由达尔文的表兄弟Francis Galton发明的。Galton于1877年完成了第一次回归预测&…

51:电机(ULN2003D)

1:介绍 我们51单片机使用的是直流电机 直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极,当电极正接时,电机正转,当电极反接时,电机反转 直流电机主要由永磁体(定子)、线圈(转…

SpringCloudAlibaba之Ribbon

Ribbon是nacos自带的负载均衡器,属于客户端的负载均衡 但是在Spring高级版本中让LoadBalancer替代了 本人用的是2.1.0的nacos,ribbon还没有被替换。 使用: 在配置类中:LoadBalanced BeanLoadBalancedpublic RestTemplate restT…

MacOS Monterey VM Install ESXi to 7 U2

一、MacOS Monterey ISO 准备 1.1 下载macOS Monterey 下载🔗链接 一定是 ISO 格式的,其他格式不适用: https://www.mediafire.com/file/4fcx0aeoehmbnmp/macOSMontereybyTechrechard.com.iso/file 1.2 将 Monterey ISO 文件上传到数据…

编辑接口和新增接口的分别调用

在后台管理系统中,有时候会碰到新增接口和编辑接口共用一个弹窗的时候. 一.场景 在点击新增或者编辑的时候都会使用这个窗口,新增直接调用接口进行增加即可,编辑则是打开这个窗口显示当前行的数据,然后调用编辑接口。 二.处理方法 在默认的情况下,这个窗口用来处理…

【从零开始学习JAVA | 第三十八篇】应用多线程

目录 前言: 多线程的实现方式: Thread常见的成员方法: 总结: 前言: 多线程的引入不仅仅是提高计算机处理能力的技术手段,更是适应当前时代对效率和性能要求的必然选择。在本文中,我们将深入…

使用贝叶斯滤波器通过运动模型和嘈杂的墙壁传感器定位机器人研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

微服务系列<3>---微服务的调用组件 rpc 远程调用

什么是rpc调用,让我们调用远程方法就像调用本地方法一样 这就属于rpc调用 rpc是针对于本地来说的 调用远程方法根调用本地方法一样 如果能达到这种效果 就是rpc调用如果达到一种效果 调用远程和调用本地一样 他就是一种rpc框架2个微服务 之间发的调用 我们之前通过ribbon的方式…