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

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

前言

  Hik防爆摄像头录像,因为防爆摄像头会有对应的APP软件,与普通的网络摄像头和球机不一样,默认认为它不可以通过web网页配置,所以弄了个来实测确认。

  经测试实际上也是可以通过web网页配置(与网络摄像头基本是一致的,在码流方面可能会有些不一样),然后提取rtsp流的,界面与球机无异,只是没有球技的云台控制功能,但是界面上也是有的。


Demo演示

  

  


防爆摄像头

  


效果图

网页预览

  

  

主码流

  

子码流

  

  防爆摄像头还解决了之前球机存在的,谷歌浏览器无法播放实时视频的插件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)。

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

  然后双击这个“网卡”,此处时“以太网”(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播放延迟

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

  

  

  

  

  

  

相关文章
|
Linux 数据安全/隐私保护 Windows
音视频开发:大华摄像头配置RTSP与RTMP地址访问视频画面
音视频开发:大华摄像头配置RTSP与RTMP地址访问视频画面
4467 0
音视频开发:大华摄像头配置RTSP与RTMP地址访问视频画面
|
机器学习/深度学习 算法 计算机视觉
yolov8人脸识别-脸部关键点检测(代码+原理)
yolov8人脸识别-脸部关键点检测(代码+原理)
|
Web App开发 编解码 前端开发
VUE网页实时播放海康、大华摄像头RTSP视频流完全方案,300毫秒延迟,支持H.265、可多路同时播放
在遍地都是摄像头的今天,往往需要在各种信息化、数字化、可视化B/S系统中集成实时视频流播放等功能,海康、大华、华为等厂家摄像头或录像机等设备一般也都遵循监控行业标准,支持国际标准的主流传输协议RTSP输出,而Chrome、Firefox、Edge等新一代浏览器从2015年开始取消了NPAPI插件技术支持导致RTSP流无法直接原生播放了
3554 0
|
11月前
|
应用服务中间件 Linux nginx
FFmpeg学习笔记(一):实现rtsp推流rtmp以及ffplay完成拉流操作
这篇博客介绍了如何使用FFmpeg实现RTSP推流到RTMP服务器,并使用ffplay进行拉流操作,包括在Windows和Linux系统下的命令示例,以及如何通过HTML页面显示视频流。
2359 0
|
Web App开发 编解码 前端开发
怎么把rtsp视频流转成webrtc接口
【8月更文挑战第8天】将RTSP视频流转换为WebRTC接口涉及多个步骤:首先使用工具如webrtc-streamer、ffmpeg等从RTSP源获取视频流;接着对流进行解码与编码至WebRTC兼容格式(如VP8、H.264);然后利用WebSocket建立客户端与服务器间的双向信令通道;再通过JavaScript创建WebRTC PeerConnection并交换SDP信息;最后添加Track传输视频数据,并在接收端解析显示。使用webrtc-streamer可简化这一过程,其API支持多种操作如添加ICE候选、创建Offer等。
1987 2
|
Web App开发 移动开发 前端开发
web端实现rtsp实时推流视频播放可行性方案
总之,要在Web端实现RTSP实时推流视频播放,需要使用适当的前端技术(如HTML5 Video或WebRTC),以及媒体服务器或流转换器来处理RTSP流。这需要一些开发和配置工作,但是可以实现实时视频流的播放。具体的实现方案可能会根据您的需求和技术栈而有所不同,所以需要仔细评估和选择适合您的解决方案。
1668 0
|
编解码 Dart 网络协议
Flutter如何玩转超低延迟RTSP/RTMP播放,跨平台视频流体验大升级,让你的应用秒变直播神器!
【9月更文挑战第3天】Flutter作为谷歌推出的跨平台移动UI框架,凭借高性能和丰富的生态系统广受好评。本文详细介绍如何在Flutter应用中实现低延迟的跨平台RTSP/RTMP播放,并提供具体示例代码。首先介绍了如何使用`flutter_vlc_player`播放RTSP流,然后讨论了优化视频播放以降低延迟的方法,包括调整播放器配置等。通过选用合适的播放器插件并进行优化,Flutter可在视频流播放领域提供卓越的用户体验。随着生态的发展,Flutter有望成为视频流媒体开发的首选框架。
1293 6
|
监控 Java API
Java获取实时摄像头进行拍照(附源码)
Java是一种通用编程语言,可以用来开发各种类型的应用程序,包括涉及图像处理和相机操作的应用程序。要在Java中获取实时摄像头进行拍照,通常会借助一些,例如或等。这些库和API提供了访问摄像头和图像处理的功能。通过使用这些库和API,你可以编写Java代码来调用摄像头并实时获取视频流。然后,你可以选择从视频流中捕获图像并保存为图片文件。这样,你就能够实现在Java中获取实时摄像头进行拍照的功能。
|
11月前
FFmpeg学习笔记(二):多线程rtsp推流和ffplay拉流操作,并储存为多路avi格式的视频
这篇博客主要介绍了如何使用FFmpeg进行多线程RTSP推流和ffplay拉流操作,以及如何将视频流保存为多路AVI格式的视频文件。
1042 0
|
JSON 监控 API
2024年7月免费天气API接口推荐
天气API对于开发人员来说是构建响应更快、安全性更高的应用程序的有力工具。使用天气API可以帮助开发者提供出色的用户体验,实现高效的数据管理。
1044 0