目前我们的视频上云服务平台EasyCVR已经可集成海康EHome私有协议,并且在前文中我也跟大家讲过EHome协议的配置和调用流程,有兴趣的可以阅读一下:配置及协议介绍、Ehome协议调用流程介绍。
本文我们讲一下EasyCVR集成海康EHome私有协议在开始上传文件至存储服务(SS)或从存储服务(SS)下载文件之前,必须要开启存储服务,所以本文我们讲一下EasyCVR集成海康EHome协议调用开启存储服务的接口。
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是一个集视频联网共享、存储、流媒体转发、视频转码、视频上云、智能分析统一等多种功能为一体的流媒体视频服务融合性平台。视频相关解决方案均可访问TSINGSEE青犀视频,可以联系我们获取演示方案,直观感受,也可自行进行下载及测试。