海康威视SDK使用总结

海康威视SDK使用总结

公司的项目里使用到海康威视的摄像监控设备,然后项目要求在我们的B/S系统中集成摄像头的播放画面。因此通过和海康威视工作人员的沟通,和网上一些人的文章,实现了在自己的网页里进行预览和回放。

一、海康威视的SDK

海康威视的视频监控设备有网络摄像头、网络硬盘录像机(NVR)等。这些设备都自带一个小系统,可以通过在浏览器上输入设备的IP进行监控画面的查看和设备信息的修改。

如图所示。

海康摄像头播放页面

其实海康的网络摄像头自带的功能还是挺多的,但是就是当对很多网络摄像头进行批量管理的时候有些不方便,而且不符合项目要求因此还是得按照自己的需求自己来开发。

NVR最主要的功能是通过网络接收IPC(网络摄像机)设备传输的数字视频码流, 并进行存储、管理,从而实现网络化带来的分布式架构优势。 简单来说,通过Nvr,可以同时观看、浏览、回放、管理、存储多个网络摄像机。摆脱了电脑硬件的牵绊,再也不用面临安装软件的繁琐。如果所有摄像机网络化,那么必经之路就是有一个集中管理核心出现。http://http://www.elecfans.com/baike/yuyinshipin/anfangjiankong/20180102609985.html

NVR具有16/32/64路通道,也就是最多支持64路视频音频信号的接入。我们将摄像头通过网线和NVR的相连,就可以在NVR中通过添加设备的方式将该摄像头作为NVR的一个信号输入,该设备将会占用一个通道。至此我们只要通过NVR就可以实现对该摄像头的监控画面预览了。网络摄像头输出的是模拟信号,NVR将摄像头的模拟信号转换为数字信号。

此时通过浏览器输入NVR的IP进入NVR的系统,可以看到预览页和回放页都有设备列表,选中设备可以进行预览或者回放。在回放页面多了日历,有绿色标记的表示当天有视频信息的存储,可以进行播放。

为帮助客户实现定制化的监控视频实时预览功能的集成,海康威视提供了两种SDK分别用于C/S架构和B/S架构的开发。

1 C/S架构的SDK

海康威视在官网【下载】->【SDK开发】里提供了用于C/S架构的SDK,我下载的是“设备网络SDK_Win64”。下载页上这样说到:

设备网络SDK是基于设备私有网络通信协议开发的,为后端设备(嵌入式网络硬盘录像机、视频服务器)、前端设备(网络摄像机、网络球机、IP模块)等产品服务的配套模块,用于远程访问和控制设备软件的二次开发。

在解压好的文件夹中,库文件存放的是海康封装好的库文件,这些被Import(外部引入)到项目中,是SDK运行的条件,如果没有引入这些文件那么Demo程序中的SDK文件将引发错误。详情请参考SDK中的《HCNetSDKCom文件夹必须加载到工程.txt》

设备网络SDK_Win64

1.1 SDK的使用

包里有MFC、Java和C#的Demo。我用的是C#,这里就C#做一下介绍和总结。

Demo

1、是直接登录摄像头进行直接预览。
2、登录CVR、NVR,对此中的输入信号进行预览等

NVR设备预览界面

……

其他的功能就自己看一下代码吧,如果对属性或者作用不清晰的,可以对照开发文档和SDK使用手册,里面有说明。
SDK的基本使用方法是:
1、“CHCNetSDK.cs”。海康威视提供了一个静态类“CHCNetSDK.cs”,里面包含了针对各种设备的各种方法,以及各种适用于不同方法的数据结构体和属性。
2、在Winform后台代码中的使用方法(部分代码,只供解读)
`

    private uint iLastErr = 0; //错误代码private Int32 m_lUserID = -1;//登录句柄private bool m_bInitSDK = false;//sdk初始化结果private bool m_bRecord = false;//是否录像private Int32 m_lRealHandle = -1;//预览句柄m_bInitSDK = CHCNetSDK.NET_DVR_Init();// 1初始化
m_lUserID = CHCNetSDK.NET_DVR_Login_V30(DVRIPAddress, DVRPortNumber, DVRUserName, DVRPassword, ref DeviceInfo); // 2登录设备 Login the device。登录前如要先定义参数。  其中DeviceInfo为引用传递。这样在Login方法中就把设备的信息获取出来并赋值给了DeviceInfo,包含的信息参考NET_DVR_DEVICEINFO_V30结构体;如果登录成功会返回一个大于零的值,否则返回-1。if(m_lUserID < 0)  //未登录{MessageBox.Show("Please login the device firstly");return;}if (m_lRealHandle < 0) //初始为-1,表示未预览{CHCNetSDK.NET_DVR_PREVIEWINFO lpPreviewInfo = new CHCNetSDK.NET_DVR_PREVIEWINFO();lpPreviewInfo.hPlayWnd = RealPlayWnd.Handle;//预览窗口lpPreviewInfo.lChannel = Int16.Parse(textBoxChannel.Text);//预te览的设备通道lpPreviewInfo.dwStreamType = 0;//码流类型:0-主码流,1-子码流,2-码流3,3-码流4,以此类推lpPreviewInfo.dwLinkMode = 0;//连接方式:0- TCP方式,1- UDP方式,2- 多播方式,3- RTP方式,4-RTP/RTSP,5-RSTP/HTTP lpPreviewInfo.bBlocked = true; //0- 非阻塞取流,1- 阻塞取流lpPreviewInfo.dwDisplayBufNum = 15; //播放库播放缓冲区最大缓冲帧数CHCNetSDK.REALDATACALLBACK RealData = new CHCNetSDK.REALDATACALLBACK(RealDataCallBack);//预览实时流回调函数IntPtr pUser = new IntPtr();//用户数据//打开预览 Start live view m_lRealHandle = CHCNetSDK.NET_DVR_RealPlay_V40(m_lUserID, ref lpPreviewInfo, null/*RealData*/, pUser);if (m_lRealHandle < 0){iLastErr = CHCNetSDK.NET_DVR_GetLastError();str = "NET_DVR_RealPlay_V40 failed, error code= " + iLastErr; //预览失败,输出错误号MessageBox.Show(str);return;}else{//预览成功btnPreview.Text = "Stop Live View";}}else{//停止预览 Stop live view if (!CHCNetSDK.NET_DVR_StopRealPlay(m_lRealHandle)){iLastErr = CHCNetSDK.NET_DVR_GetLastError();str = "NET_DVR_StopRealPlay failed, error code= " + iLastErr;MessageBox.Show(str);return;}m_lRealHandle = -1;btnPreview.Text = "Live View";}return;}

`
代码中方法“NET_DVR_RealPlay_V40”是海康摄像头进行实时预览的方法,支持多码流播放。海康提供了这个方法调用,而我们使用时只需要定义好播放参数就行,如在哪个窗口播放

lpPreviewInfo.hPlayWnd = RealPlayWnd.Handle;//预览窗口 live view window

基本上就是上面的一个逻辑。挺简单的。但是针对不同的设备可能方法有不同,可以参照开发文档和SDK使用手册多搜索一下。比如,我在获取NVR的硬盘使用空间时就花了很长时间去找调用的方法。

		//WorkStates是我自己定义的一个结构体,用来方便的获取我想要的结果。		WorkStates workStates = new WorkStates(){ totalUsedSpace = 0,totalSpace = 0,HardDiskStatic = 0,AlarmOutStatic = 0,DeviceStatic = 0,iErrCode = 0,iLastErrStr = string.Empty};var result = new CHCNetSDK.NET_DVR_WORKSTATE();CHCNetSDK.NET_DVR_DISKSTATE[] struHardDiskStatic = new CHCNetSDK.NET_DVR_DISKSTATE[33];if (!CHCNetSDK.NET_DVR_GetDVRWorkState(m_lUserID, ref result)){iLastErr = CHCNetSDK.NET_DVR_GetLastError();workStates.iErrCode = iLastErr;workStates.iLastErrStr = FetchDescription((GlobalErrorCode)iLastErr);return workStates;}

1.2 SDK在项目中的应用

C/S 架构SDk的使用主要用来做一下工作:

  1. 系统检测到异常时调用摄像头进行拍照
  2. 定期查询NVR设备的硬盘存储空间,以确保视频文件的存储。

经过分析,上述两个需求要采用了后台服务的方式来实现。

但是海康的SDk适用于Winform控件,写WCF服务的时候,由于那些外部dll引用的原因导致无法直接进行调用,因此我们对海康控件进行了一次封装,生成了一个dll。我们在dll中用一个用户winform控件来代替winform窗体,来调用海康的各种方法。然后再项目中,搭建了一个线程服务,同事引用这个dll并进行调用。实现了定时获取NVR的硬盘存储空间的功能。

 public class NVRSpaceMonitorFactory
{public static void Start(){try{List<NVR> nvrList = NVR.FindAllEnabled(); //这里NVR、Alarm都是项目中的一个EF实体,if (nvrList != null && nvrList.Count > 0){UCHKVideo ucVideo = new UCHKVideo();foreach (NVR nvr in nvrList){int nvrid = nvr.ID;Alarm alarm = new Alarm(){DeviceID = nvr.ID,BusinessType = 8};UCHKVideo.LoginState loginResult = ucVideo.NVRLogin(nvr.IPAddress, nvr.ClientPort.ToString(), nvr.UserName, nvr.Password);if (loginResult.bInitSDK != -1) //插件登陆失败{UCHKVideo.WorkStates result = ucVideo.GetNVRWorkState();ucVideo.LogOut();if (result.iErrCode == 0) //result.totalSpace!=0表示获取成功{NVRSpaceHistory nvrSpaceRecord = new NVRSpaceHistory();nvrSpaceRecord.NVRID = nvrid;nvrSpaceRecord.UsedSpace = result.totalUsedSpace;nvrSpaceRecord.UpdateTime = DateTime.Now;nvrSpaceRecord.Insert();// if (nvr.TotalSpace != result.totalSpace){nvr.IsEnable = true; //不设定true 就会被false掉,暂时处理nvr.UsedSpace = result.totalUsedSpace;nvr.TotalSpace = result.totalSpace;nvr.AlarmOutStatic = (int)result.AlarmOutStatic;nvr.DeviceStatic = (int)result.DeviceStatic;nvr.HardDiskStatic = (int)result.HardDiskStatic;nvr.Update();//将信息写入数据库报警表中(来自系统的报警) IP、名称、报警信息List<V_Alarm_Rule> alarmRuleList = V_Alarm_Rule.FindAllBySubSystemName("视频监控");if (alarmRuleList != null && alarmRuleList.Count > 0){foreach (V_Alarm_Rule ar in alarmRuleList){double thresholdValue = 0;double.TryParse(ar.Value, out thresholdValue);if (!string.IsNullOrEmpty(ar.AlarmCondition) && thresholdValue != 0){int compareResult = (nvr.UsedSpace / nvr.TotalSpace).CompareTo((decimal)thresholdValue);var comperaResultEnum = (CompareResult)compareResult;var comperaResultStr = UCHKVideo.FetchDescription(comperaResultEnum);if (ar.AlarmCondition.Contains(comperaResultStr)){alarm.Content = "NVR硬盘存储空间已不足" + (thresholdValue * 100).ToString() + "%";alarm.AlarmTime = DateTime.Now;alarm.Insert();}}}}}}else{//如果获取失败,将信息写入数据库报警表中(来自系统的报警)IP、名称、报警信息Log4netHelper.Error(nvr.Name + "_" + nvr.IPAddress + "_" + result.iLastErrStr); //测试alarm.Content = result.iLastErrStr;alarm.AlarmTime = DateTime.Now;alarm.Insert();}}else{//如果登陆失败,将信息写入数据库报警表中(来自NVR的报警)IP、名称、报警信息Log4netHelper.Error(nvr.Name+"_"+nvr.IPAddress+"_"+ loginResult.iLastErrStr); //测试alarm.Content = loginResult.iLastErrStr;alarm.AlarmTime = DateTime.Now;alarm.Insert();}}}}catch (Exception ex){Log4netHelper.Error(ex.Message);}}
}

关于后台的服务,我将在后面进行一个专门的总结,敬请期待。总之,海康的C#的SDK挺简单的。参照SDK和开发文档就能实现自己要的功能。容易有坑的地方是 一些方法的参数实例化。因为不知道参数如何设定,总会导致调用方法时出现异常,需要多了解跟这个方法相关的信息。

下面是一个使用MFC的实例。

海康威视网络摄像头SDK中Demo的二次开发(运行) - 土豪gold的博客 - CSDN博客https://blog.csdn.net/qq_15029743/article/details/79733960

B/S架构的SDK

浏览器实时预览摄像头画面的方法有好几种。

可以参考下面这篇博文吧(只是为了让文章显得完整 才加上)。

采集rtsp流摄像头到浏览器实时播放方案 - 书写人生 - CSDN博客
https://blog.csdn.net/yelin042/article/details/78134113/

我们在项目中做的就是在WEB系统中集成海康威视的实时预览和回放,因此在通过对海康设备的一番度娘研究之后,发现海康有JS语言的SDK,经过咨询,海康威视的技术人员提供了这份SDK。

海康威视JS语言的SDK

doc文件夹里放了SDK说明文档。建议先了解一下SDK的文档。
Demo里放的是实例。webVideoCtrl.js是海康威视的插件WebComponentsKit.exe控制硬件设备的API demo.js里面是封装了的方法,引入这个文件,就可以直接使用了。海康威视的API功能还是挺全的,就是需要安装插件。安装了插件就意味着需要使用IE的浏览器(Trident内核)。这个很不爽。Chrome认为插件不安全,已经全面停止了插件的安装,因此无法使用Chrome浏览器预览实时画面。
海康摄像头通过登录IP 就可以在Chrome上进行预览。我觉得这应该是采用了视频流转换。但我还没研究这种方法。

实例画面

整个api的调用顺序如下图所示。

函数调用顺序

var iRet = WebVideoCtrl.I_CheckPluginInstall();// 1 检查是否安装//  2、初始化插件参数及插入插件。我在里面放入了一个返回结果,在调用的时候做一个判断
function clickInitPlugin(iWndowType, divPlugin) {var isSuccess = false; //用来返回的结果WebVideoCtrl.I_InitPlugin("100%", "100%", {bWndFull: true,     // 是否支持单窗口双击全屏,默认支持 true:支持 false:不支持iPackageType: 2,    // 2:PS 11:MP4iWndowType: iWndowType,bNoPlugin: true,cbSelWnd: function (xmlDoc) {……},cbDoubleClickWnd: function (iWndIndex, bFullScreen) {……},cbEvent: function (iEventType, iParam1, iParam2) {……},cbRemoteConfig: function () {……},cbInitPluginComplete: function () {WebVideoCtrl.I_InsertOBJECTPlugin(divPlugin);//  检查插件是否最新if (-1 == WebVideoCtrl.I_CheckPluginVersion()) {alert("检测到新的播放器版本,请安装最新的WebComponentsKit.exe升级!");return isSuccess;}isSuccess = true;}});return isSuccess;
}
///3、登录
var iRet = WebVideoCtrl.I_Login(szIP, 1, szPort, szUsername, szPassword, {success: function (xmlDoc) {            showOPInfo(szDeviceIdentify + " 登录成功!");$("#ip").prepend("<option value='" + szDeviceIdentify + "'>" + szDeviceIdentify + "</option>");setTimeout(function () {$("#ip").val(szDeviceIdentify);getChannelInfo();//获取通道getDevicePort();//获取端口}, 10);},error: function (status, xmlDoc) {showOPInfo(szDeviceIdentify + " 登录失败!", status, xmlDoc);}
});
// 4   按IP、端口号预览
function clickStartRealPlay(szIP, szPort, iChannelID) {
var oWndInfo = WebVideoCtrl.I_GetWindowStatus(g_iWndIndex),szDeviceIdentify = szIP,      iRtspPort = szPort,bZeroChannel = false,szInfo = "",iStreamType = 1;// 主码流              
if ("undefined" === typeof iStreamType) {iStreamType = parseInt($("#streamtype").val(), 10);
}
var startRealPlay = function () {WebVideoCtrl.I_StartRealPlay(szDeviceIdentify, {iRtspPort: iRtspPort,iStreamType: iStreamType,iChannelID: iChannelID,bZeroChannel: bZeroChannel,success: function () {……},error: function (status, xmlDoc) {……}});
};
if (oWndInfo != null) {//  已经在播放了,恢复;这个地方可以自己控制逻辑。如果正在播放就停止该播放窗口再播放。WebVideoCtrl.I_Stop({success: function () {startRealPlay();}});
} else {startRealPlay();
}
}
}

其他的方法可以多看看说明文档和实例Demo。
我做的最终效果。可以实现预览和回放。回放的日历是仿造海康的系统写的,会默认查询最近一个月内是否有视频数据,如果有就标记绿色三角。
预览
回放
说几点js语言的sdk问题:

  1. 因为要装XActive插件,因此初始化后的播放器窗口的ZIndex最高。浏览器上的任何控件都会在它下面。
  2. 是版本问题。一个webVideoCtrl.js里面都有一个版本号,必须和WebComponentsKit插件保持同一个版本。目前海康没有提供最新版本的api。
  3. 同一个页面只能初始化一个播放器页面。因此如果在原页面上有播放窗口,那么就不能通过模态框能方法再初始化一次。模态框的特性就是和原页面公用一个页面。
  4. 安全问题。目前很多监控画面都在装在保卫科的局域网中,只有保卫科才能看得到视频数据。视频播放功能集成到Web系统后,实现了远程监控、随时可查。现在如果接入了这个系统接入了保卫科的安防系统,如果不足够重视安全,一些人就可以借助缓存、窃取密码等方式查看视频画面。
  5. 在方法调用的时候,可以把检查是否安装插件、是否初始化等方法进行一次封装,通过true/false的方法可以优化代码调用时的代码精简。
  6. 另外,当调用login等方法时,不能成功登录的话 需要较长的时间才能得到“失败”的消息回传。应该做一个“正在xx请等待”的遮罩,提升用户体验。

如何查看海康威视摄像头的IP和重置密码

海康威视提供了查询已经连接的视频监控设备的应用程序。通过该应用程序,可以搜索到和主机电脑同一局域网络下的所有海康视频设备。

海康威视网络设备搜索

在页面中可以看到各个设备的型号和参数,其中关键参数有:IP,客户端端口号、HTTP端口号(用于浏览器使用的)。如果忘记了账号和密码,可以通过输入右侧的管理员密码进行重置,也可以修改其他参数。账号通常都是“Admin”。
选中设备后就可以点击右下角的【忘记密码】–>【官方公众号获取秘钥】–>【导入并重置】
重置密码

1 keyi chongfu denglu
2 bixu xian denglu caineng yulanhuozhehuifang

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

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

相关文章

海康威视监控摄像头连接电脑教程

文章目录 一.海康威视监控摄像头连接电脑教程 一.海康威视监控摄像头连接电脑教程 官网下载SADP软件&#xff1a;https://www.wolai.com/wM6rWeBrRtrfmMH2BTVUXZ 双击下载的软件进行安装 打开软件&#xff0c;将设备连接到摄像头&#xff0c;便可在软件中搜索到摄像头 选择摄…

公网Web系统集成局域网内海康威视IPC网络摄像机

当摄像头与Web应用系统不在一个网络内时,需要将摄像头接入web系统,这时的接入就是一个比较费钱的事情了,除了需要购买流量费之外还需要购买链路服务费,如果足够有钱,并且对安全要求很高的,可以接入一些现成的第三方平台,价格比如这样: 如果没钱并且有一定的开发能…

远程实时读取海康威视4G网络摄像头视频

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 远程实时读取海康威视4G网络摄像头视频 有用的废话背景 重点步骤总结 有用的废话 购买海康威视4G网络摄像头时&#xff0c;目的是基于RTSP 协议来实时读取视频&#xff0c;并…

海康威视摄像头的多通道rtsp地址格式

海康摄像头的rtsp地址通常格式为&#xff1a; “rtsp://username:password192.168.1.64:554//Streaming/Channels/1” ### 1 代表主流&#xff0c;2代表子流 但在多通道的摄像机&#xff0c;例如红外摄像机&#xff0c;既有rgb图也有红外图&#xff0c;分别在两个通道里&#x…

CVE-2017-7921 海康威视(Hikvision) 摄像头漏洞复现

注&#xff1a;此教程仅供学习参考&#xff0c;不涉及任何以破坏为目的的违法犯罪&#xff0c;个人行为与作者无关。 一、漏洞描述 1.这是一个海康威视摄像头后台管理未授权漏洞&#xff0c;通过构造URL可绕过登录查看监控&#xff0c;检索所有用户和配置文件下载&#xff0c;…

海康威视网络摄像头SDK中Demo的二次开发(运行)

如有问题请邮件联系&#xff1a;2018yinjinjing.cn 我们买回来的网络摄像头可以在官网下载到SDK开发包&#xff1a; 下载下来SDK后我们解压&#xff0c;就可以看到里面包含一些开发文档以及一些Demo示例&#xff1a; 我们点开Demo示例&#xff0c;可以看到里面有各种语言的示例…

关于海康威视sdk与海康威视web的史上最精细的教程 (一)

小伙伴们都在下方留言要开发包 web&#xff1a; https://download.csdn.net/download/qq_35583089/10537585 sdk: https://download.csdn.net/download/qq_35583089/10537610 大家自己下载一下吧。 最近在公司需要在项目里集成海康威视的摄像头&#xff0c;刚开始的时…

OpenCV+海康威视摄像头的实时读取

#OpenCV海康威视摄像头的实时读取 本文由 lonelyrains出品&#xff0c;转载请注明出处。 文章链接&#xff1a; http://blog.csdn.net/lonelyrains/article/details/50350052 之前没想过会有这么多朋友遇到问题&#xff0c;所以建了 qq群1&#xff1a;536898072 qq群2&#…

海康威视摄像机通过SDK实现自动拍照(一)

尊敬的读者您好&#xff1a;笔者很高兴自己的文章能被阅读&#xff0c;但原创与编辑均不易&#xff0c;所以转载请必须注明本文出处并附上本文地址超链接以及博主博客地址&#xff1a;https://blog.csdn.net/vensmallzeng。若觉得本文对您有益处还请帮忙点个赞鼓励一下&#xf…

海康威视RTSP取流

感觉这位老哥的参考https://blog.csdn.net/cug_heshun2013/article/details/79434387https://blog.csdn.net/cug_heshun2013/article/details/79434387 目前的需求是&#xff0c;使用海康威视 网络摄像头上传至服务器。 目前探究到的方法是&#xff0c;使用RTSP进行取流&…

海康威视访客案例说明

目录 案例1、如何通过iSC平台openAPI接口实现访客预约功能 案例2、(普通访客场景)自主开发访客客户端实现先线上预约再现场登记 案例3、(临时访客场景)自主开发访客客户端实现临时来访现场登记 案例4、预约后无需现场登记访客场景 案例1、如何通过iSC平台openAPI接口实现访…

海康威视接口在线调试

一、在线调试页面有两种进入方式&#xff0c;请选择适合您的进入方式&#xff1a; 1、能登录iSC平台运管中心&#xff0c;选择方法一&#xff1b; 2、不能登录iSC平台运管中心&#xff0c;选择方法二&#xff1b; 二、进入在线调试页面方法介绍 方法一&#xff1a;登录运管中…

海康威视网络摄像头配置本地存储服务器(远程连接查看回放)

目录 环境&#xff1a;Win电脑A远程连接B查看录像-win电脑B存储录像 配置 方法&#xff1a; 海康小工具 海康威视网络摄像头答疑 环境&#xff1a;Win电脑A远程连接B查看录像-win电脑B存储录像 A,B两台电脑 A电脑远程连接B电脑&#xff0c;查看录像回放&#xff0c;不用…

2023秋招——海康威视海外技术支持

投递简历之后很快收到了回复邮件&#xff0c;让参加一个【在线测评】&#xff0c;在网上查了一下&#xff0c;类似于公务员的行测题。 在线测评 4部分题型&#xff1a; 1.文字理解&#xff08;考察主题、文字意思是否符合等&#xff09; 2.图表解读&#xff08;根据数据推算…

海康威视接口调用

综合安防管理平台提供了OpenAPI安全认证库&#xff08;Java&#xff09;快速实现接口调用。 Java实现接口调用步骤如下&#xff1a; 新建Java工程&#xff0c;从Hikvision AI Cloud开放平台网站&#xff08;海康开放平台&#xff09;上下载“OpenAPI安全认证库&#xff08;Jav…

如何访问海康威视摄像机的后台

1、首先打开海康威视网络摄像头的web管理页面,点击输入用户名密码进行登录。2、然后在弹出来的界面中,点击打开配等我继续说如何访问海康威视摄像机的后台。 —— 必须修改的三个参数分别是:appkey,secret里面的参数,ip其余的参数用默认值即可。其中有一个要注意的点是,这…

OneNav Extend网址导航书签系统源码开源版

简介&#xff1a; OneNav Extend 是一款开源免费的书签&#xff08;导航&#xff09;管理程序&#xff0c;使用PHP SQLite 3开发&#xff0c;界面简洁&#xff0c;安装简单&#xff0c;使用方便。 OneNav可帮助你你将浏览器书签集中式管理&#xff0c;解决跨设备、跨平台、跨…

秘密胶囊开源版-匿名留言程序源码

正文&#xff1a; 秘密胶囊开源版-最新匿名留言程序源码 秘密胶囊程序由Pings原创&#xff0c;所有代码均为手动编写。 本项目是秘密胶囊项目的最初版本&#xff0c;所有源码均未加密&#xff0c;各位有基础的自寻二开。 本次开源的1.0版本只实现了写留言&#xff0c;查留言…

UML九种图的分类

UML九种图的分类 一、 UML从整体上分类 UML九种图&#xff0c;具体的可以分为五类。 1、用例图&#xff1a;从用户角度描述系统功能&#xff0c;并指出各功能的操作者。 2、静态图&#xff1a;是UML中从系统静态角度来描述的系统。 包括类图和对象图。 类图&#xff1a;描述系…

【不专一的开发】UML(一)——用例图、类图、对象图

目录 脑图 用例图 对象图 脑图 UML&#xff08;Unified Modeling Language&#xff09;统一建模语言。它适用于各类系统的建模&#xff0c;为了可以方便开发而统一的一种通过不同类型生动的图来表达系统的各种功能结构。 用例图 【概念】Use case diagrame描述作为用户的角度…