视频监控系统视频上云解决方案EasyCVR集成海康EHome私有协议系列——开启存储服务

本文主要是介绍视频监控系统视频上云解决方案EasyCVR集成海康EHome私有协议系列——开启存储服务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目前我们的视频上云服务平台EasyCVR已经可集成海康EHome私有协议,并且在前文中我也跟大家讲过EHome协议的配置和调用流程,有兴趣的可以阅读一下:配置及协议介绍、Ehome协议调用流程介绍。

本文我们讲一下EasyCVR集成海康EHome私有协议在开始上传文件至存储服务(SS)或从存储服务(SS)下载文件之前,必须要开启存储服务,所以本文我们讲一下EasyCVR集成海康EHome协议调用开启存储服务的接口。

开启存储服务的接口调用流程图

1420.png

1、调用NET_ESS_SetSDKInitCfg,设置enumType为“NET_EHOME_SS_INIT_CFG_PUBLIC_IP_PORT”,并将lpInBuff设置为NET_EHOME_IPADDRESS,从而设置SS的公共IP地址和端口。
当SS在公共网络环境下时,该步骤为必选。
2、调用NET_ESS_Init初始化SS。
3、调用NET_ESS_SetLogToFile为SS开启日志功能。
4、调用NET_ESS_StartListen开启SS监听。
5、上传文件至SS或从SS下载文件。
6、调用NET_ESS_StopListen停止SS监听。

下面这段代码示例大家也可以参考:

    //初始化资源NET_ESS_Init();//开启日志功能NET_ESS_SetLogToFile(3, "C:/SdkLog/", TRUE);//开启监听NET_EHOME_SS_LISTEN_PARAM struSSListenParam = { 0 };memcpy(struSSListenParam.struAddress.szIP, "10.8.97.60", strlen("10.8.97.60"));struSSListenParam.struAddress.wPort = 8080;memcpy(struSSListenParam.szKMS_UserName, "test", strlen("test"));
memcpy(struSSListenParam.szKMS_Password, "12345", strlen("12345"));memcpy(struSSListenParam.szAccessKey, "test", strlen("test"));
memcpy(struSSListenParam.szSecretKey, "12345", strlen("12345"));struSSListenParam.fnSMsgCb = SS_Message_Callback;struSSListenParam.fnSStorageCb = SS_Storage_Callback;struSSListenParam.pUserData = NULL;long m_lSSHandle = NET_ESS_StartListen(&struSSListenParam);if (-1 == m_lSSHandle){printf("NET_ESS_StartListen Failed, port:%d", struSSListenParam.struAddress.wPort);}else{printf("NET_ESS_StartListen succ port:%d", struSSListenParam.struAddress.wPort);}char cTmp = '\0';do{printf("Input q to exit!");cTmp = getchar();}while(cTmp != 'q');//停止监听NET_ESS_StopListen(m_lSSHandle);//释放资源NET_ESS_Fini();return 0;

EasyCVR视频平台播放界面:

2.png

视频联网云平台EasyCVR是一个集视频联网共享、存储、流媒体转发、视频转码、视频上云、智能分析统一等多种功能为一体的流媒体视频服务融合性平台。视频相关解决方案均可访问TSINGSEE青犀视频,可以联系我们获取演示方案,直观感受,也可自行进行下载及测试。

这篇关于视频监控系统视频上云解决方案EasyCVR集成海康EHome私有协议系列——开启存储服务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/930814

相关文章

springboot集成easypoi导出word换行处理过程

《springboot集成easypoi导出word换行处理过程》SpringBoot集成Easypoi导出Word时,换行符n失效显示为空格,解决方法包括生成段落或替换模板中n为回车,同时需确... 目录项目场景问题描述解决方案第一种:生成段落的方式第二种:替换模板的情况,换行符替换成回车总结项目场景s

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

C#文件复制异常:"未能找到文件"的解决方案与预防措施

《C#文件复制异常:未能找到文件的解决方案与预防措施》在C#开发中,文件操作是基础中的基础,但有时最基础的File.Copy()方法也会抛出令人困惑的异常,当targetFilePath设置为D:2... 目录一个看似简单的文件操作问题问题重现与错误分析错误代码示例错误信息根本原因分析全面解决方案1. 确保

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编