当前位置: 首页 > news >正文

海康摄像头开发笔记(一):连接防爆摄像头、配置摄像头网段、设置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

相关文章:

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

文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/131679108 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结…...

【NCNN】NCNN中Mat与CV中Mat的使用区别及相互转换方法

目录 相同点与不同点cv::Mat转ncnn::Matcv::Mat CV_8UC3 -> ncnn::Mat 3 channel swap RGB/BGRcv::Mat CV_8UC3 -> ncnn::Mat 1 channel do RGB2GRAY/BGR2GRAYcv::Mat CV_8UC1 -> ncnn::Mat 1 channel ncnn::Mat转cv::Mancnn::Mat 3 channel -> cv::Mat CV_8UC3 …...

Android 13 设置自动进入wifi adb模式

Android 13 设置自动进入wifi adb模式 文章目录 Android 13 设置自动进入wifi adb模式一、前言:二、解决Android 13 wifi adb每次重启自动重置问题方法1、分析系统中每次重置wifi adb属性的代码2、在开机广播里面进行设置wifi adb 相关属性(1&#xff09…...

(笔记)插入排序

插入排序 插入排序是一种简单且常见的排序算法,它通过重复将一个元素插入到已经排好序的一组元素中,来达到排序的目的。在插入排序算法中,将待排序序列分为已排序和未排序两个部分。初始时,已排序部分只包含一个记录,…...

结构型模式 - 组合模式

概述 对于这个图片肯定会非常熟悉,上图我们可以看做是一个文件系统,对于这样的结构我们称之为树形结构。在树形结构中可以通过调用某个方法来遍历整个树,当我们找到某个叶子节点后,就可以对叶子节点进行相关的操作。可以将这颗树理…...

EDM营销过时了?不,这才是跨境电商成功的最佳工具

根据最近的一项研究,电子邮件仍然是最具说服力的营销工具和沟通形式之一。虽然即时通讯等其他渠道正在扎根,但电子邮件仍然是影响最深远的商业交流形式。到2023年,每天发送和接收的电子邮件总数可能会超过333亿封。所以,如果您希望…...

【大数据之Hive】二十五、HQL语法优化之小文件合并

1 优化说明 小文件优化可以从两个方面解决,在Map端输入的小文件合并,在Reduce端输出的小文件合并。 1.1 Map端输入文件合并 合并Map端输入的小文件是指将多个小文件分到同一个切片中,由一个Map Task处理,防止单个小文件启动一个M…...

spring 连接oracle数据库报错{dataSource-1} init error解决,电脑用户名问题

错误描述: 连接oracle数据就报错,同样的代码其他电脑不会报错。 报错如下: {dataSource-1} init error java.sql.SQLRecoverableException: IO 错误: Undefined Error com.alibaba.druid.pool.DruidDataSource-1049[main]ERROR: {dataSourc…...

行业视野::人工智能与机器人

控制和机器人领域非常重要的quote:莫拉维克悖论(Moravecs paradox) It is comparatively easy to make computers exhibit adult level performance on intelligence tests or playing checkers,and difficult or impossible to give them th…...

【Python入门系列】第十七篇:Python大数据处理和分析

【Python入门系列】第十七篇:Python大数据处理和分析 文章目录 前言一、数据处理和分析步骤二、Python大数据处理和分析库三、Python大数据处理和分析应用1、数据清洗和转换2、数据分析和统计3、数据可视化4、机器学习模型训练和预测5、大规模数据处理和分布式计算6…...

spring.profiles的使用详解

本文来说下spring.profiles.active和spring.profiles.include的使用与区别 文章目录 业务场景spring.profiles.active属性启动时指定 spring.profiles.include属性配置方法配置位置配置区别 用示例来使用和区分测试一测试二测试三 编写程序查看激活的yml文件本文小结 业务场景 …...

Docker使用总结

Docker 1.什么是 Docker 官网的介绍是“Docker is the world’s leading software container platform.” 官方给Docker的定位是一个应用容器平台。 Docker 是一个容器平台的领导者 Docker 容器平台 Docker 应用容器平台 application项目 Mysql Redis MongoDB ElasticSeacrh …...

MySQL 数据库的备份与还原案例分享 2023.07.12

/** 素材一 备份与还原 **/ 1 创建数据库booksDB mysql> create database booksDB; Query OK, 1 row affected (0.00 sec)2.1 创建booksDB表 mysql> use booksDB Database changed mysql> CREATE TABLE books-> (-> bk_id INT NOT NULL PRIMARY KEY,-> …...

verilog实现数码管静态显示

文章目录 verilog实现数码管静态显示一、任务要求二、实验代码三、仿真代码四、仿真结果五、总结 verilog实现数码管静态显示 一、任务要求 六个数码管同时间隔0.5s显示0-f。要求:使用一个顶层模块,调用计时器模块和数码管静态显示模块。 二、实验代码…...

MySQL-DML-添加数据insert

目录 添加数据:insert insert语法 注意事项 修改数据:update update语法 注意事项: 删除数据:delete 删除语法 注意事项 总结 DML英文全称Data Manipulation Language(数据操作语言),…...

Prometheus、Grafana使用

文章目录 系统性能监控相关命令lscputopfreehtopdstatglancesiftopiptrafnethogs 监控软件Prometheus安装、使用将promethues做成服务监控其他机器 exportergrafana配置、使用密码忘记重置 系统性能监控 相关命令 lscpu lscpu 是一个 Linux 命令,用于显示关于 CP…...

UG\NX二次开发 使用throw重新抛出异常

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan 简介: 在异常处理代码中,可以使用 throw 关键字来抛出异常。如果希望在捕获异常后重新抛出该异常,可以使用类似以下的代码: 在 …...

为什么单片机可以直接烧录程序的原因是什么?

单片机(Microcontroller)可以直接烧录程序的原因主要有以下几点: 集成性:单片机是一种高度集成的芯片,内部包含了处理器核心(CPU)、存储器(如闪存、EEPROM、RAM等)、输入…...

使用 uiautomator2+pytest+allure 进行 Android 的 UI 自动化测试

目录 前言: 介绍 pytest uiautomator2 allure 环境搭建 pytest uiautomator2 allure pytest 插件 实例 初始化 driver fixture 机制 数据共享 测试类 参数化 指定顺序 运行指定级别 重试 hook 函数 断言 运行 运行某个文件夹下的用例 运行某…...

Android APP性能及专项测试

Android篇 1. 性能测试 Android性能测试分为两类: 1、一类为rom版本(系统)的性能测试 2、一类为应用app的性能测试Android的app性能测试包括的测试项比如: 1、资源消耗 2、内存泄露 3、电量功耗 4、耗时 5、网络流量消耗 6、移动…...

CentOS 7 安装docker缺少slirp4netnsy依赖解决方案

CentOS 7安装docker缺少slirp4netnsy依赖解决方案 Error: Package: docker-ce-rootless-extras-26.1.4-1.el7.x86_64 (docker-ce-stable) Requires: slirp4netns > 0.4 Error: Package: docker-ce-rootless-extras-26.1.4-1.el7.x86_64 (docker-ce-stable) 解决方案 若wge…...

VIN码识别解析接口如何用C#进行调用?

一、什么是VIN码识别解析接口? VIN码不仅是车辆的“身份证”,更是连接制造、销售、维修、保险、金融等多个环节的数字纽带。而VIN码查询API,正是打通这一链条的关键工具。 无论是汽车电商平台、二手车商、维修厂,还是保险公司、金…...

性能测试-jmeter实战1

课程:B站大学 记录软件测试-性能测试学习历程、掌握前端性能测试、后端性能测试、服务端性能测试的你才是一个专业的软件测试工程师 性能测试-jmeter实战1 为什么需要性能测试呢?性能测试的作用?性能测试体系性能测试基础性能测试工具性能监控…...

VSCode+Cline 安装配置及使用说明

安装配置 打开VSCode,点击左侧Extension图标,在弹出页面中,检索Cline,选择Cline进行安装。 安装完毕,在左侧会出现一个图标,点击图标 选择【Use your own API key】,在出来的界面中选择大模型&…...

基于 Spring Boot + Vue 的墙绘产品展示交易平台设计与实现【含源码+文档】

项目简介 本系统是一个基于 Spring Boot Vue 技术栈开发的墙绘产品展示交易平台,旨在提供一个高效、便捷的在线商城平台,方便用户浏览、选购墙绘产品,并提供管理员进行商品管理、订单管理等功能。系统采用了前后端分离的架构,前…...

day12 leetcode-hot100-20(矩阵3)

48. 旋转图像 - 力扣(LeetCode) 1.辅助数组法(题目不让) 思路:很简单,新建一个二维数组,直接找新数组与旧数组的规律即可。比如这个旋转90。那就是相当于 new[col][n-row-1]old[row][col],然后…...

【Linux】环境变量完全解析

9.环境变量 文章目录 9.环境变量一、命令行参数二、获取环境变量程序中获取环境变量1. 使用命令行参数2. 使用系统调用函数getenv("字符串");3. 使用系统提供的全局变量environ 命令行中查询环境变量 三、常见环境变量1. HOME2. OLDPWD3. PATH4. SHELL 四、环境变量与…...

C#定时器深度对比:System.Timers.Timer vs System.Threading.Timer性能实测与选型指南

本文通过真实基准测试揭秘两种常用定时器的性能差异,助你做出最佳选择 一、C#定时器全景概览 在C#生态中,不同定时器适用于不同场景。以下是主流定时器的核心特性对比: 定时器类型命名空间适用场景触发线程精度内存开销依赖框架System.Wind…...

嵌入式编译工具链熟悉与游戏移植

在自己的虚拟机Ubuntu系统下,逐步编译 mininim源码(波斯王子重制开源版) 指令流程 sudo apt-get remove liballegro5-dev liballegro-image5-dev \liballegro-audio5-dev liballegro-acodec5-dev liballegro-dialog5-dev sudo apt-get install automak…...

前端流式接收数据讲解

前端流式接收数据全面讲解 前端流式接收数据(Streaming Data Reception)是现代 Web 应用中一个重要特性,尤其在处理实时通信、大文件传输、聊天、视频播放、实时日志监控等场景下。下面我们从概念到技术实现,再到应用示例&#x…...