@@ -0,0 +1,52 @@ | |||||
#include "XNetSDKTest.h" | |||||
#include "SystemInfo.h" | |||||
#include "SystemFunction.h" | |||||
#include "Camera_Param.h" | |||||
#include "Simplify_Encode.h" | |||||
USE_NS_NETSDK_CFG | |||||
// | |||||
//void OnDevConfig(int nMsgId, int nResult, const char *szCfgName, const char *szResult, int nResultLen, int nSeq) | |||||
//{ | |||||
// if (nResult < 0) | |||||
// { | |||||
// printf("OnDevConfig:[MsgId:%d; Result:%d]\r\n", nMsgId, nResult); | |||||
// return; | |||||
// } | |||||
// | |||||
// if((ESXSDK_DEV_GET_SYS_CONFIG == nMsgId || ESXSDK_DEV_GET_CHN_CONFIG == nMsgId) && szCfgName && szResult && nResultLen > 0) | |||||
// { | |||||
// if (strcmp(szCfgName, JK_SystemInfo) == 0) | |||||
// { | |||||
// SystemInfo cfg; | |||||
// cfg.Parse(szResult); | |||||
// printf("SystemInfo:[SerialNo:%s; BuildTime:%s; ]\r\n", cfg.SerialNo.Value(), cfg.BuildTime.Value()); | |||||
// } | |||||
// else if (strcmp(szCfgName, JK_SystemFunction) == 0) | |||||
// { | |||||
// SystemFunction cfg; | |||||
// cfg.Parse(szResult); | |||||
// printf("SystemFunction:[CombineStream:%d; ]\r\n", cfg.mEncodeFunction.CombineStream.Value()); | |||||
// } | |||||
// else if(strcmp(szCfgName, "Camera.Param.[0]") == 0) | |||||
// { | |||||
// Camera_Param cfg; | |||||
// cfg.SetName("Camera.Param.[0]"); | |||||
// cfg.Parse(szResult); | |||||
// printf("Camera_Param:[IRCUTMode:%d; ]\r\n", cfg.IRCUTMode.Value()); | |||||
// | |||||
// const char *pCfg = cfg.ToString(); | |||||
// int nRet = XSDK_DevSetChnConfig(g_hDevice, 0, JK_Camera_Param, pCfg, strlen(pCfg), 5000, EXCMD_CONFIG_SET); | |||||
// } | |||||
// else if(strcmp(szCfgName, "Simplify.Encode") == 0) | |||||
// { | |||||
// Simplify_Encode cfg; | |||||
// cfg.Parse(szResult); | |||||
// printf("Simplify_Encode:[BitRate:%d; ]\r\n", cfg.mExtraFormat.mVideo.BitRate.Value()); | |||||
// | |||||
// const char *pCfg = cfg.ToString(); | |||||
// int nRet = XSDK_DevSetSysConfig(g_hDevice, JK_Simplify_Encode, pCfg, strlen(pCfg), 5000, EXCMD_CONFIG_SET); | |||||
// } | |||||
// | |||||
// } | |||||
//} |
@@ -0,0 +1,99 @@ | |||||
#include "../XNetSDKTest.h" | |||||
#include "XNetSDKSyn.h" | |||||
#include "Camera_Param.h" | |||||
#include "Camera_ParamEx.h" | |||||
USE_NS_NETSDK_CFG | |||||
int TestCameraConfig() | |||||
{ | |||||
printf("%s\r\n", __FUNCTION__); | |||||
char c = 0; | |||||
int nRet = 0; | |||||
while((c = getchar()) != 'q') | |||||
{ | |||||
switch(c) | |||||
{ | |||||
//通用相机参数 | |||||
case 'a': | |||||
{ | |||||
///获取相机参数 | |||||
char szOutBuffer[4096] = {0}; | |||||
char outbuffer[100] = {0}; | |||||
int len = 0; | |||||
int nInOutSize = sizeof(szOutBuffer); | |||||
nRet =XSDK_DevGetChnConfigSyn(g_hDevice, 0, JK_Camera_Param, szOutBuffer, &nInOutSize, 4000, EXCMD_CONFIG_GET); | |||||
XSDK_CFG::Camera_Param se; | |||||
se.SetName("Camera.Param.[0]"); | |||||
se.Parse(szOutBuffer); | |||||
//白平衡 | |||||
printf("White balance = %x\r\n", se.WhiteBalance.Value()); | |||||
//IRCUT | |||||
printf("IRCUT = %d\r\n", se.IRCUTMode.Value()); | |||||
//镜像 | |||||
printf("PictureMirror = %x\r\n", se.PictureMirror.Value()); | |||||
//白天降噪等级 | |||||
printf("Day_nfLevel = %d\r\n", se.Day_nfLevel.Value()); | |||||
//晚上降噪等级 | |||||
printf("Night_nfLevel = %d\r\n", se.Night_nfLevel.Value()); | |||||
//设置相机参数 | |||||
if(nRet >= 0) | |||||
{ | |||||
se.Day_nfLevel.SetValue(1); | |||||
const char *pCfg = se.ToString(); | |||||
nRet = XSDK_DevSetChnConfigSyn(g_hDevice, 0, JK_Camera_Param, pCfg, strlen(pCfg), outbuffer, &len, 5000, EXCMD_CONFIG_SET); | |||||
if(nRet >= 0) | |||||
{ | |||||
printf("Set Success!\r\n"); | |||||
} | |||||
} | |||||
} | |||||
break; | |||||
//相机参数扩展版 | |||||
case 'b': | |||||
{ | |||||
///获取相机参数 | |||||
char szOutBuffer[4096] = {0}; | |||||
char outbuffer[100] = {0}; | |||||
int len = 0; | |||||
int nInOutSize = sizeof(szOutBuffer); | |||||
nRet =XSDK_DevGetChnConfigSyn(g_hDevice, 0, JK_Camera_ParamEx, szOutBuffer, &nInOutSize, 4000, EXCMD_CONFIG_GET); | |||||
XSDK_CFG::Camera_ParamEx se; | |||||
se.SetName("Camera.ParamEx.[0]"); | |||||
se.Parse(szOutBuffer); | |||||
//宽动态 | |||||
printf("BroadTrends AutoGain = %d, Gain = %d\r\n", se.mBroadTrends.AutoGain.Value(), se.mBroadTrends.Gain.Value()); | |||||
//设置相机参数 | |||||
if(nRet >= 0) | |||||
{ | |||||
se.mBroadTrends.AutoGain.SetValue(1); | |||||
const char *pCfg = se.ToString(); | |||||
nRet = XSDK_DevSetChnConfigSyn(g_hDevice, 0, JK_Camera_ParamEx, pCfg, strlen(pCfg), outbuffer, &len, 5000, EXCMD_CONFIG_SET); | |||||
if(nRet >= 0) | |||||
{ | |||||
printf("Set Success!\r\n"); | |||||
} | |||||
} | |||||
} | |||||
break; | |||||
} | |||||
} | |||||
return 0; | |||||
} | |||||
@@ -0,0 +1,32 @@ | |||||
#ifndef TESTCONFIG | |||||
#define TESTCONFIG | |||||
#include <iostream> | |||||
#include <map> | |||||
#include <string> | |||||
#include <stdio.h> | |||||
using namespace std; | |||||
#define XSDK_HANDLE int | |||||
class CTestConfig | |||||
{ | |||||
public: | |||||
CTestConfig(); | |||||
virtual ~CTestConfig(); | |||||
//系统类配置 | |||||
virtual int SysDevConfig(XSDK_HANDLE hDevice, int nSeq, int nTimeout, char *pConfig, int nConfigLen)=0; | |||||
//通道类配置 | |||||
virtual int ChnDevConfig(XSDK_HANDLE hDevice, int nChannelNo, int nSeq, int nTimeout, const char *pConfig, int nConfigLen)=0; | |||||
public: | |||||
//获取到的JSON数据 | |||||
static int GetJsonData(int nMsgId, int nResult, const char *szCfgName, const char *szResult, int nResultLen, int nSeq); | |||||
//public: | |||||
// std::map<int, string> m_JsonData; | |||||
}; | |||||
#endif |
@@ -0,0 +1,38 @@ | |||||
#include "XNetSDKTest.h" | |||||
#include "XNetSDKSyn.h" | |||||
#include "OPDefaultConfig.h" | |||||
USE_NS_NETSDK_CFG | |||||
int TestSetDefaultConfig() | |||||
{ | |||||
printf("%s\r\n", __FUNCTION__); | |||||
int nRet = 0; | |||||
char c = 0; | |||||
while((c = getchar()) != 'q') | |||||
{ | |||||
switch(c) | |||||
{ | |||||
case 's': | |||||
{ | |||||
///»Ö¸´Ä¬ÈÏÅäÖà | |||||
char outbuffer[100] = {0}; | |||||
int len = 0; | |||||
OPDefaultConfig cfg; | |||||
cfg.Factory.SetValue(false); | |||||
const char *pCfg = cfg.ToString(); | |||||
nRet = XSDK_DevSetSysConfigSyn(g_hDevice, JK_OPDefaultConfig, pCfg, strlen(pCfg), outbuffer, &len, 5000, EXCMD_SYSMANAGER_REQ); | |||||
if(nRet >= 0) | |||||
{ | |||||
printf("OPDefaultConfig Success!\r\n"); | |||||
} | |||||
} | |||||
break; | |||||
} | |||||
} | |||||
return 0; | |||||
} | |||||
@@ -0,0 +1,73 @@ | |||||
#include "XNetSDKTest.h" | |||||
#include "XNetSDKSyn.h" | |||||
#include "SystemInfo.h" | |||||
#include "SystemFunction.h" | |||||
USE_NS_NETSDK_CFG | |||||
int TestDevSystemConfig() | |||||
{ | |||||
printf("%s\r\n", __FUNCTION__); | |||||
char c = 0; | |||||
while((c = getchar()) != 'q') | |||||
{ | |||||
switch(c) | |||||
{ | |||||
/////////获取设备支持的功能///////// | |||||
case 'a': | |||||
{ | |||||
// [异步]获取设备能力级 | |||||
// XSDK_DevGetSysConfig(g_hDevice, JK_SystemFunction, 1234, 4000, JK_SystemFunction_MsgId); | |||||
// [同步]获取设备能力级 | |||||
char szOutBuffer[40960] = {0}; | |||||
int nInOutSize = sizeof(szOutBuffer); | |||||
int nResult = XSDK_DevGetSysConfigSyn(g_hDevice, JK_SystemFunction, szOutBuffer, &nInOutSize, 4000, JK_SystemFunction_MsgId); | |||||
if(nResult >= 0) | |||||
{ | |||||
printf("Get Success String[%s]\r\n", szOutBuffer); | |||||
SystemFunction cfg; | |||||
cfg.Parse(szOutBuffer); | |||||
printf("AlarmFunction.AlarmConfig = %d\r\n", cfg.mAlarmFunction.AlarmConfig.Value()); | |||||
} | |||||
else | |||||
{ | |||||
printf("Get Fail String[%s], nResult = %d\r\n", szOutBuffer, nResult); | |||||
} | |||||
} | |||||
break; | |||||
case 'b': | |||||
{ | |||||
// [异步]获取设备基本信息(版本信息等) | |||||
//XSDK_DevGetSysConfig(g_hDevice, JK_SystemInfo, 123, 4000, JK_SystemInfo_MsgId); | |||||
// [同步]获取设备基本信息(版本信息等) | |||||
char szOutBuffer[40960] = {0}; | |||||
int nInOutSize = sizeof(szOutBuffer); | |||||
int nResult = XSDK_DevGetSysConfigSyn(g_hDevice, JK_SystemInfo, szOutBuffer, &nInOutSize, 4000, JK_SystemInfo_MsgId); | |||||
if(nResult >= 0) | |||||
{ | |||||
printf("Get Success String[%s]\r\n", szOutBuffer); | |||||
SystemInfo cfg; | |||||
cfg.Parse(szOutBuffer); | |||||
const char * SoftWareVersion = cfg.SoftWareVersion.ToString(); | |||||
printf("SoftWareVersion = %s\r\n", SoftWareVersion); | |||||
} | |||||
else | |||||
{ | |||||
printf("Get Fail String[%s], nResult = %d\r\n", szOutBuffer, nResult); | |||||
} | |||||
} | |||||
break; | |||||
} | |||||
} | |||||
return 0; | |||||
} | |||||
@@ -0,0 +1,578 @@ | |||||
#include "../XNetSDKTest.h" | |||||
#include "Simplify_Encode.h" | |||||
#include "XNetSDKSyn.h" | |||||
#include "EncodeCapability.h" | |||||
#include "SystemFunction.h" | |||||
USE_NS_NETSDK_CFG | |||||
#define IFRAME_EQ_PFRAME 10 | |||||
#define BITMSK(bit) (int)(1 << (bit)) | |||||
typedef struct | |||||
{ | |||||
unsigned long dwSize; | |||||
unsigned long dsMask; | |||||
}SResolution; | |||||
enum | |||||
{ | |||||
MAIN_STREAM = 0, | |||||
EXPAND_STREAM, | |||||
COMBINE_STREAM, | |||||
STREAM_NUM, | |||||
}; | |||||
static SResolution m_resolution[CAPTURE_IMAGE_SIZE_EXT_V3_NR]; | |||||
static int STREAM_CODE_VALUE[CAPTURE_IMAGE_SIZE_EXT_V3_NR][6] = { | |||||
{512, 768, 1024, 1536, 2048, 2560}, ///< D1 | |||||
{384, 512, 768, 1024, 1536, 2048}, ///< HD1 | |||||
{384, 512, 768, 1024, 1536, 2048}, ///< BCIF | |||||
{64, 192, 384, 512, 768, 1024}, ///< CIF | |||||
{64, 128, 192, 384, 448, 512}, ///< QCIF | |||||
{512, 768, 896, 1280, 1536, 2048}, ///< VGA | |||||
{256, 384, 512, 640, 768, 1024}, ///< QVGA | |||||
{512, 768, 896, 1280, 1536, 2048}, ///< SVCD | |||||
{64, 128, 192, 384, 448, 512}, ///< QQVGA | |||||
{64, 128, 256, 448, 512, 768}, ///< ND1 | |||||
{896, 1024, 1536, 2048, 3072, 4096}, ///< 650TVL | |||||
{1024,1536, 2048, 2560, 3072, 4096}, ///< 720P | |||||
{1024,1536, 2048, 3072, 4096, 5120}, ///< 1_3M | |||||
{1024,2048, 3072, 4096, 6144, 8192}, ///< UXGA | |||||
{1024,2048, 3072, 4096, 6144, 8192}, ///< 1080P | |||||
{1177,2355, 3532, 4710, 7065, 10240}, ///< WUXGA | |||||
{1280,2560, 3840, 5120, 7680, 10240}, ///< 2_5M | |||||
{1536, 3072, 4096, 6144, 8192, 10240}, ///< 3M | |||||
{2048, 3072, 4096, 6144, 8192,10240}, ///5M | |||||
{1024,1536, 2048, 2560, 3072, 4096}, ///< 1080N | |||||
{1536, 3072, 4096, 6144, 8192, 10240}, ///< 4M | |||||
{1536, 3072, 4096, 6144, 8192, 10240}, ///< 6M | |||||
{1536, 3072, 4096, 6144, 8192, 10240}, ///< 8M | |||||
{1536, 3072, 4096, 6144, 8192, 10240}, ///< 12M | |||||
{2048, 4096, 6144, 8192, 11264, 13312}, ///< 4K | |||||
{512, 768, 1024, 1536, 2048, 2560}, ///< 720N | |||||
{1024,1536, 2048, 2560, 3072, 4096}, ///< WSVGA | |||||
{512, 768, 896, 1280, 1536, 2048}, ///< NHD | |||||
{1024,1536, 2048, 3072, 4096, 5120}, ///< 3M_N | |||||
{1024,2048, 3072, 4096, 6144, 8192}, ///< 4M_N | |||||
{1280, 2560, 3840, 5120, 7680, 10240}, ///< 5M_N | |||||
{1536, 3072, 4096, 6144, 8192, 10240}, ///< 4K_N | |||||
}; | |||||
//大小眼睛的低码率 | |||||
static int LOWBITRATE_STREAM_CODE_VALUE[CAPTURE_IMAGE_SIZE_EXT_V3_NR][6] = { | |||||
{384, 576, 768, 1152, 1536, 1920}, ///< D1 | |||||
{384, 512, 768, 1024, 1536, 2048}, ///< HD1 | |||||
{384, 512, 768, 1024, 1536, 2048}, ///< BCIF | |||||
{48, 144, 288, 384, 576, 768}, ///< CIF | |||||
{48, 96, 144, 288, 336, 384}, ///< QCIF | |||||
{512, 768, 896, 1280, 1536, 2048}, ///< VGA | |||||
{256, 384, 512, 640, 768, 1024}, ///< QVGA | |||||
{512, 768, 896, 1280, 1536, 2048}, ///< SVCD | |||||
{64, 128, 192, 384, 448, 512}, ///< QQVGA | |||||
{64, 128, 256, 448, 512, 768}, ///< ND1 | |||||
{896, 1024, 1536, 2048, 3072, 4096}, ///< 960H | |||||
{768, 1152, 1536, 1920, 2304, 3072}, ///< 720P | |||||
{1024,1536, 2048, 3072, 4096, 5120}, ///< 960P | |||||
{1024,2048, 3072, 4096, 6144, 8192}, ///< UXGA | |||||
{1024,2048, 3072, 4096, 6144, 8192}, ///< 1080P | |||||
{640, 1024, 1536, 2048, 3072, 4096}, ///< WUXGA | |||||
{640, 1024, 1536, 2048, 3072, 4096}, ///< 2_5M | |||||
{640, 1024, 1536, 2048, 3072, 4096}, ///< 3M | |||||
{720, 1024, 1536, 2048, 3072, 5120}, ///< 5M | |||||
{0,0, 0, 0, 0, 0}, ///< 1080N | |||||
{0, 0, 0, 0, 0, 0}, ///< 4M | |||||
{0,0,0,0,0,0}, //6M | |||||
{0,0,0,0,0,0}, //8M | |||||
{0,0,0,0,0,0}, //12M | |||||
{0,0,0,0,0,0}, //4K | |||||
{0, 0, 0, 0, 0, 0}, ///< 720N | |||||
{0,0,0,0,0,0}, //RES1 | |||||
{0,0,0,0,0,0}, //RES2 | |||||
{0,0,0,0,0,0}, //RES3 | |||||
{0,0,0,0,0,0}, //RES4 | |||||
{0,0,0,0,0,0}, //RES5 | |||||
{0,0,0,0,0,0}, //RES6 | |||||
}; | |||||
static int FISHEYE_STREAM_CODE_VALUE[CAPTURE_IMAGE_SIZE_EXT_V3_NR][6] = { | |||||
{512, 768, 1024, 1536, 2048, 2560}, ///< D1 | |||||
{384, 512, 768, 1024, 1536, 2048}, ///< HD1 | |||||
{384, 512, 768, 1024, 1536, 2048}, ///< BCIF | |||||
{64, 192, 384, 512, 768, 1024}, ///< CIF | |||||
{64, 128, 192, 384, 448, 512}, ///< QCIF | |||||
{512, 768, 896, 1280, 1536, 2048}, ///< VGA | |||||
{256, 384, 512, 640, 768, 1024}, ///< QVGA | |||||
{512, 768, 896, 1280, 1536, 2048}, ///< SVCD | |||||
{64, 128, 192, 384, 448, 512}, ///< QQVGA | |||||
{64, 128, 256, 448, 512, 768}, ///< ND1 | |||||
{896, 1024, 1536, 2048, 3072, 4096}, ///< 650TVL | |||||
{1536, 2048, 2560, 3072, 4096, 6096}, ///< 720P | |||||
{1024,1536, 2048, 3072, 4096, 5120}, ///< 1_3M | |||||
{1024,2048, 3072, 4096, 6144, 8192}, ///< UXGA | |||||
{1024,2048, 3072, 4096, 6144, 8192}, ///< 1080P | |||||
{1177,2355, 3532, 4710, 7065, 10240}, ///< WUXGA | |||||
{1280,2560, 3840, 5120, 7680, 10240}, ///< 2_5M | |||||
{1536, 3072, 4096, 6144, 8192, 10240}, ///< 3M | |||||
{2048, 3072, 4096, 6144, 8192,10240}, ///5M | |||||
{1024,1536, 2048, 2560, 3072, 4096}, ///< 1080N | |||||
{1536, 3072, 4096, 6144, 8192, 10240}, ///< 4M | |||||
{0,0,0,0,0,0}, //6M | |||||
{0,0,0,0,0,0}, //8M | |||||
{0,0,0,0,0,0}, //12M | |||||
{0,0,0,0,0,0}, //4K | |||||
{512, 768, 1024, 1536, 2048, 2560}, ///< 720N | |||||
{1024,1536, 2048, 2560, 3072, 4096}, ///< WSVGA | |||||
{0,0,0,0,0,0}, //RES2 | |||||
{0,0,0,0,0,0}, //RES3 | |||||
{0,0,0,0,0,0}, //RES4 | |||||
{0,0,0,0,0,0}, //RES5 | |||||
{0,0,0,0,0,0}, //RES6 | |||||
}; | |||||
static int H265_STREAM_CODE_VALUE[CAPTURE_IMAGE_SIZE_EXT_V3_NR][6] = { | |||||
{332, 499, 665, 998, 1331, 1664}, ///< D1 | |||||
{249, 332, 499, 665, 998, 1331}, ///< HD1 | |||||
{249, 332, 499, 665, 998, 1331}, ///< BCIF | |||||
{41, 124, 249, 332, 499, 665}, ///< CIF | |||||
{41, 83, 124, 249, 291, 332}, ///< QCIF | |||||
{332, 499, 582, 832, 998, 1331}, ///< VGA | |||||
{166, 249, 332, 416, 499, 665}, ///< QVGA | |||||
{332, 499, 582, 832, 998, 1331}, ///< SVCD | |||||
{41, 83, 124, 249, 291, 332}, ///< QQVGA | |||||
{41, 83, 166, 291, 332, 499}, ///< ND1 | |||||
{582, 665, 998, 1331, 1996, 2662}, ///< 650TVL | |||||
{665,998, 1331, 1664, 1996, 2662}, ///< 720P | |||||
{665,998, 1331, 1996, 2662, 3328}, ///< 1_3M | |||||
{665,1331, 1996, 2662, 3993, 5324}, ///< UXGA | |||||
{665,1331, 1996, 2662, 3993, 5324}, ///< 1080P | |||||
{765,1530, 2295, 3061, 4592, 6656}, ///< WUXGA | |||||
{832,1664, 2496, 3328, 4992, 6656}, ///< 2_5M | |||||
{998, 1996, 2662, 3993, 5324, 6656}, ///< 3M | |||||
{1331, 1996, 2662, 3993, 5324,6656}, ///5M | |||||
{665,998, 1331, 1664, 1996, 2662}, ///< 1080N | |||||
{998, 1996, 2662, 3993, 5324, 6656}, ///< 4M | |||||
{998, 1996, 2662, 3993, 5324, 6656}, ///< 6M | |||||
{998, 1996, 2662, 3993, 5324, 6656}, ///< 8M | |||||
{998, 1996, 2662, 3993, 5324, 6656}, ///< 12M | |||||
{1331, 2662, 3993, 5324, 7321, 8652}, ///< 4K | |||||
{332, 499, 665, 998, 1331, 1664}, ///< 720N | |||||
{582, 665, 998, 1331, 1996, 2662}, ///< WSVGA(1024*576) | |||||
{332, 499, 582, 832, 998, 1327}, ///< NHD | |||||
{665,998, 1331, 1996, 2662, 3328}, ///< 3M_N | |||||
{665,1331, 1996, 2662, 3993, 5324}, ///< 4M_N | |||||
{832, 1664, 2496, 3328, 4992, 6656}, ///< 5M_N | |||||
{1331, 1996, 2665, 3993, 5324, 6656}, ///< 4K_N | |||||
}; | |||||
//函数说明:计算码固定码率支持的码流值 | |||||
//参数说明: | |||||
//dstFormat : 媒体格式 | |||||
//bLowBitrate : 是否支持大小眼 | |||||
//bLowBitrate : 是否支持鱼眼 | |||||
//bH265Bitrate : 是否支持h265 | |||||
void CalculateCodeStreamValue(SDK_VIDEO_FORMAT * vfSetFormat, bool bLowBitrate, bool bFisheyeBitrate, bool bH265Bitrate) | |||||
{ | |||||
int j = 0; | |||||
int nTmpFPS = 0; | |||||
int nFPS = 25; | |||||
nTmpFPS = min(vfSetFormat->nFPS, nFPS); | |||||
int iBitrate = 0; | |||||
if(bLowBitrate) | |||||
{ | |||||
for (j = 0; j < sizeof(LOWBITRATE_STREAM_CODE_VALUE[vfSetFormat->iResolution]) / sizeof(int); ++j) | |||||
{ | |||||
iBitrate = LOWBITRATE_STREAM_CODE_VALUE[vfSetFormat->iResolution][j] * (vfSetFormat->iGOP * nTmpFPS + IFRAME_EQ_PFRAME - 1) / (vfSetFormat->iGOP * nFPS + IFRAME_EQ_PFRAME - 1); | |||||
printf("Support iBitrate[%d] = %d\r\n", j, iBitrate); | |||||
} | |||||
} | |||||
else if(bFisheyeBitrate) | |||||
{ | |||||
for (j = 0; j < sizeof(FISHEYE_STREAM_CODE_VALUE[vfSetFormat->iResolution]) / sizeof(int); ++j) | |||||
{ | |||||
iBitrate = FISHEYE_STREAM_CODE_VALUE[vfSetFormat->iResolution][j] * (vfSetFormat->iGOP * nTmpFPS + IFRAME_EQ_PFRAME - 1) / (vfSetFormat->iGOP * nFPS + IFRAME_EQ_PFRAME - 1); | |||||
printf("Support iBitrate[%d] = %d\r\n", j, iBitrate); | |||||
} | |||||
} | |||||
else if(bH265Bitrate) | |||||
{ | |||||
for (j = 0; j < sizeof(H265_STREAM_CODE_VALUE[vfSetFormat->iResolution]) / sizeof(int); ++j) | |||||
{ | |||||
iBitrate = H265_STREAM_CODE_VALUE[vfSetFormat->iResolution][j] * (vfSetFormat->iGOP * nTmpFPS + IFRAME_EQ_PFRAME - 1) / (vfSetFormat->iGOP * nFPS + IFRAME_EQ_PFRAME - 1); | |||||
printf("Support iBitrate[%d] = %d\r\n", j, iBitrate); | |||||
} | |||||
} | |||||
else | |||||
{ | |||||
for (j = 0; j < sizeof(STREAM_CODE_VALUE[vfSetFormat->iResolution]) / sizeof(int); ++j) | |||||
{ | |||||
iBitrate = STREAM_CODE_VALUE[vfSetFormat->iResolution][j] * (vfSetFormat->iGOP * nTmpFPS + IFRAME_EQ_PFRAME - 1) / (vfSetFormat->iGOP * nFPS + IFRAME_EQ_PFRAME - 1); | |||||
printf("Support iBitrate[%d] = %d\r\n", j, iBitrate); | |||||
} | |||||
} | |||||
} | |||||
void GetMaxResolAndRate(int &nResolu, int &nRate, long lFreePower) | |||||
{ | |||||
if ( lFreePower <= 0 ) | |||||
{ | |||||
return; | |||||
} | |||||
int nSize = m_resolution[nResolu].dwSize; | |||||
if ( nSize > lFreePower ) | |||||
{ | |||||
nResolu = -1; | |||||
nRate = -1; | |||||
return; | |||||
} | |||||
else | |||||
{ | |||||
int nTempRate = lFreePower / nSize; | |||||
if ( nTempRate > 25 ) | |||||
{ | |||||
nTempRate = 25; | |||||
} | |||||
nRate = nTempRate; | |||||
} | |||||
long lMaxSize = nSize; | |||||
for ( int i = 0; i < CAPTURE_IMAGE_SIZE_EXT_V3_NR; i ++ ) | |||||
{ | |||||
long lTempsize = m_resolution[i].dwSize; | |||||
if ( lFreePower >= lTempsize && lMaxSize < lTempsize ) | |||||
{ | |||||
nResolu = i; | |||||
lMaxSize = lTempsize; | |||||
} | |||||
} | |||||
} | |||||
void GetSupportRes(int maxSize, unsigned long dwMask ) | |||||
{ | |||||
for (int i = 0; i < CAPTURE_IMAGE_SIZE_EXT_V3_NR ; i ++) | |||||
{ | |||||
if ( (m_resolution[i].dwSize <= m_resolution[maxSize].dwSize ) | |||||
&& ( dwMask & (0x01<<i) ) ) | |||||
{ | |||||
printf("m_resolution[%d]\r\n", i); | |||||
} | |||||
} | |||||
} | |||||
int TestEncodeConfig() | |||||
{ | |||||
printf("%s\r\n", __FUNCTION__); | |||||
char c = 0; | |||||
bool bSupport = false; | |||||
char szOutBuffer[40960] = {0}; | |||||
int nInOutSize = sizeof(szOutBuffer); | |||||
int nResult = 0; | |||||
int nCompression; | |||||
int nMainStreamResolution = 0; | |||||
// unsigned long ulMask = 0; | |||||
int nQuality = 0; | |||||
int nGop = 0; | |||||
int nFps = 0; | |||||
bool m_bH265Bitrate[STREAM_NUM]; | |||||
bool m_bMultiStream = false; | |||||
bool m_bLowBitrate = false; | |||||
bool m_bFisheyeBitrate = false; | |||||
m_bH265Bitrate[MAIN_STREAM] = false; | |||||
m_bH265Bitrate[EXPAND_STREAM] = false; | |||||
m_bH265Bitrate[COMBINE_STREAM] = false; | |||||
unsigned long lFreePower = 0; | |||||
///////////////////////////////////现有支持的所有分辨率///////////////////////////////// | |||||
m_resolution[CAPTURE_IMAGE_SIZE_D1].dwSize = 704 * 480; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_HD1].dwSize = 704 * 240; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_BCIF].dwSize = 352 * 480; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_CIF].dwSize = 352 * 240; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_QCIF].dwSize = 176 * 120; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_VGA].dwSize = 640 * 480; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_QVGA].dwSize = 320 * 240; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_SVCD].dwSize = 480 * 480; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_QQVGA].dwSize = 160 * 128; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_ND1].dwSize = 240*192; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_650TVL].dwSize = 928*480; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_720P].dwSize = 1280*720; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_1_3M].dwSize = 1280*960; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_UXGA].dwSize = 1600*1200; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_1080P].dwSize = 1920*1080; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_WUXGA].dwSize = 1920*1200; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_2_5M].dwSize = 1872*1408; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_3M].dwSize = 2048*1536; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_5M].dwSize = 3744*1408; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_1080N].dwSize = 944*1080; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_4M].dwSize = 2592*1520; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_6M].dwSize = 3072*2048; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_8M].dwSize = 3264*2448; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_12M].dwSize = 4000*3000; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_4K].dwSize = 4096*2160; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_720N].dwSize = 640*720; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_WSVGA].dwSize = 1024*576; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_NHD].dwSize = 640*360; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_3M_N].dwSize = 1024*1536; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_4M_N].dwSize = 1296*1520; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_5M_N].dwSize = 1872*1408; | |||||
m_resolution[CAPTURE_IMAGE_SIZE_4K_N].dwSize = 2048*2160; ///2048 * 2160通用/1920*2160海思 | |||||
/////////////////////////////////////////////掩码////////////////////////////////////////// | |||||
m_resolution[CAPTURE_IMAGE_SIZE_D1].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF); | |||||
m_resolution[CAPTURE_IMAGE_SIZE_HD1].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF); | |||||
m_resolution[CAPTURE_IMAGE_SIZE_BCIF].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_BCIF) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF); | |||||
m_resolution[CAPTURE_IMAGE_SIZE_CIF].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF); | |||||
m_resolution[CAPTURE_IMAGE_SIZE_QCIF].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_QCIF); | |||||
m_resolution[CAPTURE_IMAGE_SIZE_VGA].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_VGA) | BITMSK(CAPTURE_IMAGE_SIZE_QVGA); | |||||
m_resolution[CAPTURE_IMAGE_SIZE_QVGA].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_QVGA); | |||||
m_resolution[CAPTURE_IMAGE_SIZE_SVCD].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_SVCD); | |||||
m_resolution[CAPTURE_IMAGE_SIZE_QQVGA].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_QQVGA); | |||||
m_resolution[CAPTURE_IMAGE_SIZE_ND1].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_ND1); | |||||
m_resolution[CAPTURE_IMAGE_SIZE_650TVL].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF); | |||||
m_resolution[CAPTURE_IMAGE_SIZE_720P].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF); | |||||
m_resolution[CAPTURE_IMAGE_SIZE_1_3M].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF); | |||||
m_resolution[CAPTURE_IMAGE_SIZE_UXGA].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF); | |||||
m_resolution[CAPTURE_IMAGE_SIZE_1080P].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF); | |||||
m_resolution[CAPTURE_IMAGE_SIZE_WUXGA].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF); | |||||
m_resolution[CAPTURE_IMAGE_SIZE_2_5M].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF); | |||||
m_resolution[CAPTURE_IMAGE_SIZE_3M].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF); | |||||
m_resolution[CAPTURE_IMAGE_SIZE_5M].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF); | |||||
m_resolution[CAPTURE_IMAGE_SIZE_1080N].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_650TVL) | BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF) | BITMSK(CAPTURE_IMAGE_SIZE_720P); | |||||
m_resolution[CAPTURE_IMAGE_SIZE_4M].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_D1) | BITMSK(CAPTURE_IMAGE_SIZE_HD1) | BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF) | BITMSK(CAPTURE_IMAGE_SIZE_720P); | |||||
m_resolution[CAPTURE_IMAGE_SIZE_720N].dsMask = BITMSK(CAPTURE_IMAGE_SIZE_CIF) | BITMSK(CAPTURE_IMAGE_SIZE_QCIF); | |||||
while((c = getchar()) != 'q') | |||||
{ | |||||
switch(c) | |||||
{ | |||||
//判断是否支持组合编码 | |||||
case 'a': | |||||
{ | |||||
memset(&szOutBuffer, 0, 40960); | |||||
nResult = XSDK_DevGetSysConfigSyn(g_hDevice, JK_SystemFunction, szOutBuffer, &nInOutSize, 4000, JK_SystemFunction_MsgId); | |||||
if(nResult >= 0) | |||||
{ | |||||
SystemFunction sysfunc; | |||||
sysfunc.Parse(szOutBuffer); | |||||
bSupport = sysfunc.mEncodeFunction.CombineStream.ToBool(); | |||||
m_bMultiStream = sysfunc.mEncodeFunction.DoubleStream.ToBool(); | |||||
m_bLowBitrate = sysfunc.mEncodeFunction.LowBitRate.ToBool(); | |||||
m_bFisheyeBitrate = sysfunc.mOtherFunction.SupportFishEye.ToBool(); | |||||
printf("bSupport = %d, m_bMultiStream = %d, m_bLowBitrate = %d, m_bFisheyeBitrate = %d\r\n", | |||||
bSupport, m_bMultiStream, m_bLowBitrate, m_bFisheyeBitrate); | |||||
} | |||||
} | |||||
break; | |||||
case 'b': | |||||
{ | |||||
memset(&szOutBuffer, 0, 40960); | |||||
nResult = XSDK_DevGetSysConfigSyn(g_hDevice, JK_EncodeCapability, szOutBuffer, &nInOutSize, 4000, EXCMD_ABILITY_GET); | |||||
if(nResult >= 0) | |||||
{ | |||||
EncodeCapability encode; | |||||
encode.Parse(szOutBuffer); | |||||
///////////////////////////////////获取主辅码流支持的压缩格式///////////////////////////////// | |||||
////获取主码流支持的压缩格式 | |||||
nCompression = encode.mEncodeInfo[0].CompressionMask.Value(); | |||||
for ( int i = 0; i < CAPTURE_COMPRESS_NR; i ++ ) | |||||
{ | |||||
if (nCompression & ( 1 << i ) ) | |||||
{ | |||||
printf("[Main]Support Compression Type = %s\r\n", CompressionMap[i].name); | |||||
} | |||||
} | |||||
////获取辅码流的支持的压缩格式 | |||||
nCompression = encode.mEncodeInfo[1].CompressionMask.Value(); | |||||
for ( int i = 0; i < CAPTURE_COMPRESS_NR; i ++ ) | |||||
{ | |||||
if (nCompression & ( 1 << i ) ) | |||||
{ | |||||
printf("[Extra]Support Compression Type = %s\r\n", CompressionMap[i].name); | |||||
} | |||||
} | |||||
lFreePower = encode.MaxEncodePower.Value(); | |||||
//ulMask = encode.ImageSizePerChannel[0].Value(); | |||||
} | |||||
} | |||||
break; | |||||
case 'g': | |||||
{ | |||||
char szOutBuf[40960] = {0}; | |||||
int nInOutBufLen = sizeof(szOutBuf); | |||||
SDK_VIDEO_FORMAT mainFormat; | |||||
memset(&mainFormat, 0, sizeof(SDK_VIDEO_FORMAT)); | |||||
int nGetCfg = XSDK_DevGetSysConfigSyn(g_hDevice, JK_Simplify_Encode, szOutBuf, &nInOutBufLen, 4000, EXCMD_CONFIG_GET); | |||||
if (nGetCfg >= 0 && nInOutBufLen > 0) | |||||
{ | |||||
JObjArrayObject<Simplify_Encode> cfg(NULL, JK_Simplify_Encode); | |||||
cfg.Parse(szOutBuf); | |||||
if(cfg.objs.Size() > 0) | |||||
{ | |||||
///主码流分辨率 | |||||
const char * mainStrRes = cfg.objs[0].mMainFormat.mVideo.Resolution.Value(); | |||||
printf("MainFormat[Resolution:%s]\r\n", cfg.objs[0].mMainFormat.mVideo.Resolution.Value()); | |||||
for ( int i = 0; i < CAPTURE_IMAGE_SIZE_EXT_V3_NR; i ++ ) | |||||
{ | |||||
if(strcmp(mainStrRes, s_videoResolutionMap[i].name) == 0) | |||||
{ | |||||
nMainStreamResolution = i; | |||||
} | |||||
} | |||||
if(nMainStreamResolution == CAPTURE_COMPRESS_H265) | |||||
{ | |||||
m_bH265Bitrate[EXPAND_STREAM] = true; | |||||
} | |||||
else | |||||
{ | |||||
m_bH265Bitrate[EXPAND_STREAM] = false; | |||||
} | |||||
mainFormat.iResolution = nMainStreamResolution; | |||||
///主码流帧率 | |||||
nFps = cfg.objs[0].mMainFormat.mVideo.FPS.Value(); | |||||
printf("MainFormat[FPS:%d]\r\n", cfg.objs[0].mMainFormat.mVideo.FPS.Value()); | |||||
mainFormat.nFPS = nFps; | |||||
///主码流码流值 | |||||
printf("MainFormat[BitRate:%d]\r\n", cfg.objs[0].mMainFormat.mVideo.BitRate.Value()); | |||||
mainFormat.nBitRate = cfg.objs[0].mMainFormat.mVideo.BitRate.Value(); | |||||
///主码流帧间隔 | |||||
nGop = cfg.objs[0].mMainFormat.mVideo.GOP.Value(); | |||||
printf("MainFormat[GOP:%d]\r\n", cfg.objs[0].mMainFormat.mVideo.GOP.Value()); | |||||
mainFormat.iGOP = cfg.objs[0].mMainFormat.mVideo.GOP.Value(); | |||||
///主码流码率控制 | |||||
printf("MainFormat[BitRateControl:%s]\r\n", cfg.objs[0].mMainFormat.mVideo.BitRateControl.Value()); | |||||
///主码流压缩格式 | |||||
printf("MainFormat[Compression:%s]\r\n", cfg.objs[0].mMainFormat.mVideo.Compression.Value()); | |||||
int iCompression = 0; | |||||
for ( int i = 0; i < CAPTURE_COMPRESS_NR; i ++ ) | |||||
{ | |||||
if(strcmp(mainStrRes, CompressionMap[i].name) == 0) | |||||
{ | |||||
iCompression = i; | |||||
} | |||||
} | |||||
mainFormat.iCompression = iCompression; | |||||
///主码流画质 | |||||
nQuality = cfg.objs[0].mMainFormat.mVideo.Quality.Value(); | |||||
printf("MainFormat[Quality:%d]\r\n", cfg.objs[0].mMainFormat.mVideo.Quality.Value()); | |||||
mainFormat.iQuality = nQuality; | |||||
/////////////////////////////////////////////设置////////////////////////////////////////////////// | |||||
int nChannelCount = 1; //通道个数,默认为1 | |||||
unsigned long dwChnUsed = 0; | |||||
unsigned long dwChnFree = 0; | |||||
unsigned long dwPower = lFreePower / nChannelCount; | |||||
int nExStreamResolution = 0; | |||||
int nExFps = 0; | |||||
const char * ExStrRes = cfg.objs[0].mExtraFormat.mVideo.Resolution.Value(); | |||||
nExFps = cfg.objs[0].mExtraFormat.mVideo.FPS.Value(); | |||||
for ( int i = 0; i < CAPTURE_IMAGE_SIZE_EXT_V3_NR; i ++ ) | |||||
{ | |||||
if(strcmp(ExStrRes, s_videoResolutionMap[i].name) == 0) | |||||
{ | |||||
nExStreamResolution = i; | |||||
} | |||||
} | |||||
if (m_bMultiStream && cfg.objs[0].mExtraFormat.VideoEnable.Value()) | |||||
{ | |||||
dwChnUsed = m_resolution[nExStreamResolution].dwSize * nExFps; | |||||
} | |||||
dwChnFree = dwPower - dwChnUsed; | |||||
////////////主码流///////// | |||||
mainFormat.nFPS = 25; | |||||
int MaxSize = 0; | |||||
GetMaxResolAndRate(MaxSize, nFps, dwChnFree); | |||||
//GetSupportRes(MaxSize, ulMask); | |||||
//////固定码率时的码流值选择 | |||||
CalculateCodeStreamValue(&mainFormat, m_bLowBitrate, m_bFisheyeBitrate, m_bH265Bitrate); | |||||
//////////设置码流值 | |||||
cfg.objs[0].mMainFormat.mVideo.FPS.SetValue(25); | |||||
mainFormat.nFPS = 25; | |||||
int nFPS = 25; | |||||
int nTmpFPS = 25; /////设置的帧率 | |||||
int dwBitrate = 0; | |||||
//////////码流值的计算//////// | |||||
if (m_bLowBitrate) | |||||
{ | |||||
dwBitrate = LOWBITRATE_STREAM_CODE_VALUE[mainFormat.iResolution][mainFormat.iQuality - 1] * (mainFormat.iGOP * nTmpFPS + IFRAME_EQ_PFRAME - 1) / (mainFormat.iGOP * nFPS + IFRAME_EQ_PFRAME - 1); | |||||
} | |||||
else if(m_bFisheyeBitrate) | |||||
{ | |||||
dwBitrate = FISHEYE_STREAM_CODE_VALUE[mainFormat.iResolution][mainFormat.iQuality - 1] * (mainFormat.iGOP * nTmpFPS + IFRAME_EQ_PFRAME - 1) / (mainFormat.iGOP * nFPS + IFRAME_EQ_PFRAME - 1); | |||||
} | |||||
else if (m_bH265Bitrate[MAIN_STREAM]) | |||||
{ | |||||
dwBitrate = H265_STREAM_CODE_VALUE[mainFormat.iResolution][mainFormat.iQuality - 1] * (mainFormat.iGOP * nTmpFPS + IFRAME_EQ_PFRAME - 1) / (mainFormat.iGOP * nFPS + IFRAME_EQ_PFRAME - 1); | |||||
} | |||||
else | |||||
{ | |||||
dwBitrate = STREAM_CODE_VALUE[mainFormat.iResolution][mainFormat.iQuality - 1] * (mainFormat.iGOP * nTmpFPS + IFRAME_EQ_PFRAME - 1) / (mainFormat.iGOP * nFPS + IFRAME_EQ_PFRAME - 1); | |||||
} | |||||
cfg.objs[0].mMainFormat.mVideo.BitRate.SetValue(dwBitrate); | |||||
const char *pCfg = cfg.ToString(); | |||||
XSDK_DevSetSysConfig(g_hDevice, JK_Simplify_Encode, pCfg, strlen(pCfg), 1, 5000, EXCMD_CONFIG_SET); | |||||
} | |||||
} | |||||
} | |||||
break; | |||||
} | |||||
} | |||||
return 0; | |||||
} | |||||
@@ -0,0 +1,42 @@ | |||||
#include "XNetSDKTest.h" | |||||
#include "ModifyPassword.h" | |||||
USE_NS_NETSDK_CFG | |||||
int TestModifyPassword() | |||||
{ | |||||
printf("%s\r\n", __FUNCTION__); | |||||
int nRet = 0; | |||||
char c = 0; | |||||
while((c = getchar()) != 'q') | |||||
{ | |||||
switch(c) | |||||
{ | |||||
case 's': | |||||
{ | |||||
char oldPsw[6] = "10111"; | |||||
signed char oldEncryptPsw[6] = {0}; | |||||
XSDK_EncryptPassword(oldPsw, oldEncryptPsw, 6); | |||||
printf("oldEncryptPassWord = %s\n", oldEncryptPsw); | |||||
char newPsw[5] = "1011"; | |||||
signed char newEncryptPsw[5] = {0}; | |||||
XSDK_EncryptPassword(newPsw, newEncryptPsw, 5); | |||||
printf("newEncryptPassWord = %s\n", newEncryptPsw); | |||||
SXSDK_MODIFY_PSW cfg; | |||||
strcpy(cfg.Password, (const char *)oldEncryptPsw); | |||||
strcpy(cfg.NewPassword, (const char *)newEncryptPsw); | |||||
strcpy(cfg.sUserName, "admin"); | |||||
nRet = XSDK_DevModifyIPConfig(g_hDevice, (const char *)&cfg, sizeof(SXSDK_MODIFY_PSW), 12, 5000); | |||||
} | |||||
break; | |||||
} | |||||
} | |||||
return 0; | |||||
} | |||||
@@ -0,0 +1,30 @@ | |||||
#include "XNetSDKTest.h" | |||||
#include "OPMachine.h" | |||||
USE_NS_NETSDK_CFG | |||||
int TestOPMachine() | |||||
{ | |||||
printf("%s\r\n", __FUNCTION__); | |||||
int nRet = 0; | |||||
char c = 0; | |||||
while((c = getchar()) != 'q') | |||||
{ | |||||
switch(c) | |||||
{ | |||||
case 's': | |||||
{ | |||||
OPMachine cfg; | |||||
cfg.Action.SetValue("Reboot"); //ÖØÆô | |||||
// cfg.Action.SetValue("Shutdown"); //¹Ø»ú | |||||
const char *pCfg = cfg.ToString(); | |||||
nRet = XSDK_DevSetSysConfig(g_hDevice, JK_OPMachine, pCfg, strlen(pCfg), 1, 5000, EXCMD_SYSMANAGER_REQ); | |||||
printf("nRet = %d\n", nRet); | |||||
} | |||||
break; | |||||
} | |||||
} | |||||
return 0; | |||||
} | |||||
@@ -0,0 +1,26 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
#include "VideoColorParam.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_AVEnc_VideoColor "AVEnc.VideoColor" | |||||
class AVEnc_VideoColor : public JObject | |||||
{ | |||||
public: | |||||
JObjArray<JObjArray<JStrObj> > TimeSection; ///// ʱ¼ä¶Î | |||||
JIntObj Enable; ///// ʹÄÜ:0,1 | |||||
VideoColorParam m_VideoColorParam; ///// ÑÕÉ«¶¨Òå | |||||
public: | |||||
AVEnc_VideoColor(JObject *pParent = NULL, const char *szName = JK_AVEnc_VideoColor): | |||||
JObject(pParent,szName), | |||||
TimeSection(this, "TimeSection"), | |||||
Enable(this, "Enable"), | |||||
m_VideoColorParam(this, "VideoColorParam"){ | |||||
}; | |||||
~AVEnc_VideoColor(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,32 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
#include "ChannelTitle.h" | |||||
#include "ChannelTitleAttribute.h" | |||||
#include "TimeTitleAttribute.h" | |||||
#include "Covers.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_AVEnc_VideoWidget "AVEnc.VideoWidget" | |||||
class AVEnc_VideoWidget : public JObject | |||||
{ | |||||
public: | |||||
ChannelTitle mChannelTitle; ///< 通道名称 | |||||
ChannelTitleAttribute mChannelTitleAttribute; ///< 通道名称的位置 | |||||
JObjArray<Covers> mCovers; | |||||
JIntObj CoversNum; ///< 当前该通道有几个叠加的区域 */ | |||||
TimeTitleAttribute mTimeTitleAttribute; ///< 设备时间 | |||||
public: | |||||
AVEnc_VideoWidget(JObject *pParent = NULL, const char *szName = JK_AVEnc_VideoWidget): | |||||
JObject(pParent,szName), | |||||
mChannelTitle(this, "ChannelTitle"), | |||||
mChannelTitleAttribute(this, "ChannelTitleAttribute"), | |||||
mCovers(this, "Covers"), | |||||
CoversNum(this, "CoversNum"), | |||||
mTimeTitleAttribute(this, "TimeTitleAttribute"){ | |||||
}; | |||||
~AVEnc_VideoWidget(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,44 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_AlarmFunction "AlarmFunction" | |||||
class AlarmFunction : public JObject | |||||
{ | |||||
public: | |||||
JBoolObj AlarmConfig; | |||||
JBoolObj BlindDetect; | |||||
JBoolObj IPCAlarm; | |||||
JBoolObj LossDetect; | |||||
JBoolObj MotionDetect; | |||||
JBoolObj NetAbort; | |||||
JBoolObj NetAbortExtend; | |||||
JBoolObj NetAlarm; | |||||
JBoolObj NetIpConflict; | |||||
JBoolObj StorageFailure; | |||||
JBoolObj StorageLowSpace; | |||||
JBoolObj StorageNotExist; | |||||
JBoolObj VideoAnalyze; | |||||
public: | |||||
AlarmFunction(JObject *pParent = NULL, const char *szName = JK_AlarmFunction): | |||||
JObject(pParent,szName), | |||||
AlarmConfig(this, "AlarmConfig"), | |||||
BlindDetect(this, "BlindDetect"), | |||||
IPCAlarm(this, "IPCAlarm"), | |||||
LossDetect(this, "LossDetect"), | |||||
MotionDetect(this, "MotionDetect"), | |||||
NetAbort(this, "NetAbort"), | |||||
NetAbortExtend(this, "NetAbortExtend"), | |||||
NetAlarm(this, "NetAlarm"), | |||||
NetIpConflict(this, "NetIpConflict"), | |||||
StorageFailure(this, "StorageFailure"), | |||||
StorageLowSpace(this, "StorageLowSpace"), | |||||
StorageNotExist(this, "StorageNotExist"), | |||||
VideoAnalyze(this, "VideoAnalyze"){ | |||||
}; | |||||
~AlarmFunction(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,29 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_AlarmInfo "AlarmInfo" | |||||
class AlarmInfo : public JObject | |||||
{ | |||||
public: | |||||
JIntObj Channel; | |||||
JStrObj Event; | |||||
JStrObj StartTime; | |||||
JStrObj Status; | |||||
JStrObj ExtInfo; | |||||
public: | |||||
AlarmInfo(JObject *pParent = NULL, const char *szName = JK_AlarmInfo): | |||||
JObject(pParent,szName), | |||||
Channel(this, "Channel"), | |||||
Event(this, "Event"), | |||||
StartTime(this, "StartTime"), | |||||
Status(this, "Status"), | |||||
ExtInfo(this, "ExtInfo"){ | |||||
}; | |||||
~AlarmInfo(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,22 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_Alarm_AlarmOut "Alarm.AlarmOut" | |||||
class Alarm_AlarmOut : public JObject | |||||
{ | |||||
public: | |||||
JStrObj AlarmOutStatus; | |||||
JStrObj AlarmOutType; | |||||
public: | |||||
Alarm_AlarmOut(JObject *pParent = NULL, const char *szName = JK_Alarm_AlarmOut): | |||||
JObject(pParent,szName), | |||||
AlarmOutStatus(this, "AlarmOutStatus"), | |||||
AlarmOutType(this, "AlarmOutType"){ | |||||
}; | |||||
~Alarm_AlarmOut(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,22 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_BroadTrends "BroadTrends" | |||||
class BroadTrends : public JObject | |||||
{ | |||||
public: | |||||
JIntObj AutoGain; /////自动增益是否启用,0:不开启 1:开启 | |||||
JIntObj Gain; /////自动增益上限(自动增益启用)或固定增益值 | |||||
public: | |||||
BroadTrends(JObject *pParent = NULL, const char *szName = JK_BroadTrends): | |||||
JObject(pParent,szName), | |||||
AutoGain(this, "AutoGain"), | |||||
Gain(this, "Gain"){ | |||||
}; | |||||
~BroadTrends(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,22 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_AUX "AUX" | |||||
class AUX : public JObject | |||||
{ | |||||
public: | |||||
JIntObj Number; | |||||
JStrObj Status; | |||||
public: | |||||
AUX(JObject *pParent = NULL, const char *szName = JK_AUX): | |||||
JObject(pParent,szName), | |||||
Number(this, "Number"), | |||||
Status(this, "Status"){ | |||||
}; | |||||
~AUX(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,22 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_Camera_ClearFog "Camera.ClearFog" | |||||
class Camera_ClearFog : public JObject | |||||
{ | |||||
public: | |||||
JBoolObj enable; | |||||
JIntObj level; | |||||
public: | |||||
Camera_ClearFog(JObject *pParent = NULL, const char *szName = JK_Camera_ClearFog): | |||||
JObject(pParent,szName), | |||||
enable (this, "enable"), | |||||
level (this, "level"){ | |||||
}; | |||||
~Camera_ClearFog(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,54 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
#include "ExposureParam.h" | |||||
#include "GainParam.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_Camera_Param "Camera.Param" | |||||
class Camera_Param: public JObject | |||||
{ | |||||
public: | |||||
JIntObj AeSensitivity; ///ae灵敏度配置 | |||||
JIntHex ApertureMode; ///自动光圈模式(类型是unsigned int) | |||||
JIntHex BLCMode; ///背光补偿模式(类型是unsigned int) | |||||
JIntHex DayNightColor; ///日夜模式,取值有彩色、自动切换和黑白(类型是unsigned int) | |||||
JIntObj Day_nfLevel; ///白天降噪等级,0-5,0不滤波,1-5 值越大滤波效果越明显 | |||||
JIntObj DncThr; ///日夜转换阈值 | |||||
JIntObj ElecLevel; ///参考电平值(类型是unsigned int) | |||||
JIntHex EsShutter; ///电子慢快门功能(类型是unsigned int) | |||||
ExposureParam mExposureParam; ///曝光配置 | |||||
GainParam mGainParam; ///增益配置 | |||||
JIntObj IRCUTMode; ///IR-CUT切换 0 = 红外灯同步切换 1 = 自动切换 | |||||
JIntObj IrcutSwap; ///ircut 正常序= 0 反序= 1 | |||||
JIntObj Night_nfLevel; ///晚上降噪等级,0-5,0不滤波,1-5 值越大滤波效果越明显 | |||||
JIntHex PictureFlip; ///图片上下翻转(类型是unsigned int) | |||||
JIntHex PictureMirror; ///图片左右翻转(镜像)(类型是unsigned int) | |||||
JIntHex RejectFlicker; ///日光灯防闪功能(类型是unsigned int) | |||||
JIntHex WhiteBalance; ///白平衡(类型是unsigned int) | |||||
public: | |||||
Camera_Param(JObject *pParent = NULL, const char *szName = JK_Camera_Param): | |||||
JObject(pParent,szName), | |||||
AeSensitivity(this, "AeSensitivity"), | |||||
ApertureMode(this, "ApertureMode"), | |||||
BLCMode(this, "BLCMode"), | |||||
DayNightColor(this, "DayNightColor"), | |||||
Day_nfLevel(this, "Day_nfLevel"), | |||||
DncThr(this, "DncThr"), | |||||
ElecLevel(this, "ElecLevel"), | |||||
EsShutter(this, "EsShutter"), | |||||
mExposureParam(this, "ExposureParam"), | |||||
mGainParam(this, "GainParam"), | |||||
IRCUTMode(this, "IRCUTMode"), | |||||
IrcutSwap(this, "IrcutSwap"), | |||||
Night_nfLevel(this, "Night_nfLevel"), | |||||
PictureFlip(this, "PictureFlip"), | |||||
PictureMirror(this, "PictureMirror"), | |||||
RejectFlicker(this, "RejectFlicker"), | |||||
WhiteBalance(this, "WhiteBalance"){ | |||||
}; | |||||
~Camera_Param(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,44 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
#include "BroadTrends.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_Camera_ParamEx "Camera.ParamEx" | |||||
class Camera_ParamEx : public JObject // | |||||
{ | |||||
public: | |||||
JIntObj AeMeansure; ///测光模式校正 0:平均测光 1:中央测光 | |||||
BroadTrends mBroadTrends; ///宽动态 | |||||
JIntObj Dis; ///电子防抖设置 0:关闭 1:开启 | |||||
JIntHex ExposureTime; ///实际生效的曝光时间(类型是unsigned int) | |||||
JIntObj Ldc; //镜头畸变校正 0:关闭 1:开启 | |||||
JIntObj LowLuxMode; ///微光模式 mode:0 关闭 1开启 ==only imx291 | |||||
JStrObj Style; ///风格类型,由设备底层控制--"typedefault","type1","type2" | |||||
JIntObj CorridorMode; ///1:走廊模式 0:普通模式 | |||||
JIntObj LightRestrainLevel; ///强光抑制功能0~255,默认16 | |||||
JIntObj PreventOverExpo; ///防过曝 0:关闭 1:开启 | |||||
JIntObj SoftPhotosensitivecontrol; ///软光敏控制 0:光敏自动调节 1:软件自动调节 2:开启3:关闭 | |||||
JIntObj AutomaticAdjustment; /// 自动调节档次 : 1~4 | |||||
public: | |||||
Camera_ParamEx(JObject *pParent = NULL, const char *szName = JK_Camera_ParamEx): | |||||
JObject(pParent,szName), | |||||
AeMeansure(this, "AeMeansure"), | |||||
mBroadTrends(this, "BroadTrends"), | |||||
Dis(this, "Dis"), | |||||
ExposureTime(this, "ExposureTime"), | |||||
Ldc(this, "Ldc"), | |||||
LowLuxMode(this, "LowLuxMode"), | |||||
Style(this, "Style"), | |||||
CorridorMode(this, "CorridorMode"), | |||||
LightRestrainLevel(this, "LightRestrainLevel"), | |||||
PreventOverExpo(this, "PreventOverExpo"), | |||||
SoftPhotosensitivecontrol(this, "SoftPhotosensitivecontrol"), | |||||
AutomaticAdjustment(this, "AutomaticAdjustment"){ | |||||
}; | |||||
~Camera_ParamEx(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,22 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_ChannelTitle "ChannelTitle" | |||||
class ChannelTitle : public JObject | |||||
{ | |||||
public: | |||||
JStrObj Name; ///< ͨµÀÃû³Æ | |||||
JStrObj SerialNo; | |||||
public: | |||||
ChannelTitle(JObject *pParent = NULL, const char *szName = JK_ChannelTitle): | |||||
JObject(pParent,szName), | |||||
Name(this, "Name"), | |||||
SerialNo(this, "SerialNo"){ | |||||
}; | |||||
~ChannelTitle(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,28 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_ChannelTitleAttribute "ChannelTitleAttribute" | |||||
class ChannelTitleAttribute : public JObject | |||||
{ | |||||
public: | |||||
JStrObj BackColor; ///< 物件的后景MakeRGB,和透明度 | |||||
JBoolObj EncodeBlend; ///< 编码叠加 | |||||
JStrObj FrontColor; ///< 物件的前景MakeRGB,和透明度 | |||||
JBoolObj PreviewBlend; ///< 预览叠加,是否显示,1:显示 0:隐藏 | |||||
JObjArray<JIntObj> RelativePos; ///< 物件边距与整长的比例*8192(数组[左,上, 右,底]) | |||||
public: | |||||
ChannelTitleAttribute(JObject *pParent = NULL, const char *szName = JK_ChannelTitleAttribute): | |||||
JObject(pParent,szName), | |||||
BackColor(this, "BackColor"), | |||||
EncodeBlend(this, "EncodeBlend"), | |||||
FrontColor(this, "FrontColor"), | |||||
PreviewBlend(this, "PreviewBlend"), | |||||
RelativePos(this, "RelativePos"){ | |||||
}; | |||||
~ChannelTitleAttribute(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,20 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_ChannelTitle "ChannelTitle" | |||||
class ChannelTitleV2 : public JObject | |||||
{ | |||||
public: | |||||
JObjArray<JStrObj> ChannelTitleEx; | |||||
public: | |||||
ChannelTitleV2(JObject *pParent = NULL): | |||||
JObject(pParent), | |||||
ChannelTitleEx(this, "ChannelTitle"){ | |||||
}; | |||||
~ChannelTitleV2(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,28 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_CombEncodeInfo "CombEncodeInfo" | |||||
class CombEncodeInfo : public JObject | |||||
{ | |||||
public: | |||||
JIntHex CompressionMask; ///< 掩码 | |||||
JBoolObj Enable; ///< 使能项 | |||||
JBoolObj HaveAudio; ///< 是否支持音频 | |||||
JIntHex ResolutionMask; ///< 掩码 | |||||
JStrObj StreamType; ///< 码流类型 | |||||
public: | |||||
CombEncodeInfo(JObject *pParent = NULL, const char *szName = JK_CombEncodeInfo): | |||||
JObject(pParent,szName), | |||||
CompressionMask(this, "CompressionMask"), | |||||
Enable(this, "Enable"), | |||||
HaveAudio(this, "HaveAudio"), | |||||
ResolutionMask(this, "ResolutionMask"), | |||||
StreamType(this, "StreamType"){ | |||||
}; | |||||
~CombEncodeInfo(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,22 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_CommFunction "CommFunction" | |||||
class CommFunction : public JObject | |||||
{ | |||||
public: | |||||
JBoolObj CommRS232; | |||||
JBoolObj CommRS485; | |||||
public: | |||||
CommFunction(JObject *pParent = NULL, const char *szName = JK_CommFunction): | |||||
JObject(pParent,szName), | |||||
CommRS232(this, "CommRS232"), | |||||
CommRS485(this, "CommRS485"){ | |||||
}; | |||||
~CommFunction(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,28 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_CoverInfo "" | |||||
class CoverInfo : public JObject | |||||
{ | |||||
public: | |||||
JIntHex BackColor; | |||||
JBoolObj EncodeBlend; | |||||
JIntHex FrontColor; | |||||
JBoolObj PreviewBlend; | |||||
JObjArray<JObjArray<JStrObj> > RelativePos; | |||||
public: | |||||
CoverInfo(JObject *pParent = NULL, const char *szName = JK_CoverInfo): | |||||
JObject(pParent,szName), | |||||
BackColor(this, "BackColor"), | |||||
EncodeBlend(this, "EncodeBlend"), | |||||
FrontColor(this, "FrontColor"), | |||||
PreviewBlend(this, "PreviewBlend"), | |||||
RelativePos(this, "RelativePos"){ | |||||
}; | |||||
~CoverInfo(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,28 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_Covers "Covers" | |||||
class Covers : public JObject | |||||
{ | |||||
public: | |||||
JStrObj BackColor; ///< 物件的后景MakeRGB,和透明度 | |||||
JBoolObj EncodeBlend; ///< 编码叠加 | |||||
JStrObj FrontColor; ///< 物件的前景MakeRGB,和透明度 | |||||
JBoolObj PreviewBlend; ///< 预览叠加,是否显示,1:显示 0:隐藏 | |||||
JObjArray<JIntObj> RelativePos; ///< 物件边距与整长的比例*8191 | |||||
public: | |||||
Covers(JObject *pParent = NULL, const char *szName = JK_Covers): | |||||
JObject(pParent,szName), | |||||
BackColor(this, "BackColor"), | |||||
EncodeBlend(this, "EncodeBlend"), | |||||
FrontColor(this, "FrontColor"), | |||||
PreviewBlend(this, "PreviewBlend"), | |||||
RelativePos(this, "RelativePos"){ | |||||
}; | |||||
~Covers(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,30 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_DSTEnd "DSTEnd" | |||||
class DSTEnd : public JObject | |||||
{ | |||||
public: | |||||
JIntObj Day; | |||||
JIntObj Hour; | |||||
JIntObj Minute; | |||||
JIntObj Month; | |||||
JIntObj Week; | |||||
JIntObj Year; | |||||
public: | |||||
DSTEnd(JObject *pParent = NULL, const char *szName = JK_DSTEnd): | |||||
JObject(pParent,szName), | |||||
Day(this, "Day"), | |||||
Hour(this, "Hour"), | |||||
Minute(this, "Minute"), | |||||
Month(this, "Month"), | |||||
Week(this, "Week"), | |||||
Year(this, "Year"){ | |||||
}; | |||||
~DSTEnd(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,30 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_DSTStart "DSTStart" | |||||
class DSTStart : public JObject | |||||
{ | |||||
public: | |||||
JIntObj Day; | |||||
JIntObj Hour; | |||||
JIntObj Minute; | |||||
JIntObj Month; | |||||
JIntObj Week; | |||||
JIntObj Year; | |||||
public: | |||||
DSTStart(JObject *pParent = NULL, const char *szName = JK_DSTStart): | |||||
JObject(pParent,szName), | |||||
Day(this, "Day"), | |||||
Hour(this, "Hour"), | |||||
Minute(this, "Minute"), | |||||
Month(this, "Month"), | |||||
Week(this, "Week"), | |||||
Year(this, "Year"){ | |||||
}; | |||||
~DSTStart(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,25 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
#include "EventHandler.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_Detect_BlindDetect "Detect.BlindDetect" | |||||
class Detect_BlindDetect : public JObject //视频遮挡 | |||||
{ | |||||
public: | |||||
JBoolObj Enable; | |||||
EventHandler mEventHandler; | |||||
JIntObj Level; | |||||
public: | |||||
Detect_BlindDetect(JObject *pParent = NULL, const char *szName = JK_Detect_BlindDetect): | |||||
JObject(pParent,szName), | |||||
Enable(this, "Enable"), | |||||
mEventHandler(this, "EventHandler"), | |||||
Level(this, "Level"){ | |||||
}; | |||||
~Detect_BlindDetect(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,23 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
#include "EventHandler.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_Detect_LossDetect "Detect.LossDetect" | |||||
class Detect_LossDetect : public JObject //视频丢失 | |||||
{ | |||||
public: | |||||
JBoolObj Enable; | |||||
EventHandler mEventHandler; | |||||
public: | |||||
Detect_LossDetect(JObject *pParent = NULL, const char *szName = JK_Detect_LossDetect): | |||||
JObject(pParent,szName), | |||||
Enable(this, "Enable"), | |||||
mEventHandler(this, "EventHandler"){ | |||||
}; | |||||
~Detect_LossDetect(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,27 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
#include "EventHandler.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_Detect_MotionDetect "Detect.MotionDetect" | |||||
class Detect_MotionDetect: public JObject //移动侦测 | |||||
{ | |||||
public: | |||||
JBoolObj Enable; ///是否开启 | |||||
EventHandler mEventHandler; ///联动事件 | |||||
JIntObj Level; ///灵敏度 | |||||
JObjArray<JIntHex> Region; /// 区域,每一行使用一个二进制串 | |||||
public: | |||||
Detect_MotionDetect(JObject *pParent = NULL, const char *szName = JK_Detect_MotionDetect): | |||||
JObject(pParent,szName), | |||||
Enable(this, "Enable"), | |||||
mEventHandler(this, "EventHandler"), | |||||
Level(this, "Level"), | |||||
Region(this, "Region"){ | |||||
}; | |||||
~Detect_MotionDetect(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,158 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
#include "EncodeInfo.h" | |||||
#include "CombEncodeInfo.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
struct ConfigPair | |||||
{ | |||||
const char* name; | |||||
int value; | |||||
}; | |||||
/// 捕获压缩格式类型 | |||||
enum CaptureCompressType | |||||
{ | |||||
CAPTURE_COMPRESS_DIVX_MPEG4, ///< DIVX MPEG4。 | |||||
CAPTURE_COMPRESS_MS_MPEG4, ///< MS MPEG4。 (已弃用) | |||||
CAPTURE_COMPRESS_MPEG2, ///< MPEG2。 | |||||
CAPTURE_COMPRESS_MPEG1, ///< MPEG1。 | |||||
CAPTURE_COMPRESS_H263, ///< H.263 | |||||
CAPTURE_COMPRESS_MJPG, ///< MJPG | |||||
CAPTURE_COMPRESS_FCC_MPEG4, ///< FCC MPEG4 (已弃用) | |||||
CAPTURE_COMPRESS_H264, ///< H.264 | |||||
CAPTURE_COMPRESS_H265, ///< H.265 | |||||
CAPTURE_COMPRESS_NR ///< 枚举的压缩标准数目。 | |||||
}; | |||||
static ConfigPair CompressionMap[] = | |||||
{ | |||||
{"MPEG4", CAPTURE_COMPRESS_DIVX_MPEG4}, | |||||
{" ", CAPTURE_COMPRESS_MS_MPEG4}, | |||||
{"MPEG2", CAPTURE_COMPRESS_MPEG2}, | |||||
{"MPEG1", CAPTURE_COMPRESS_MPEG1}, | |||||
{"H.263", CAPTURE_COMPRESS_H263}, | |||||
{"MJPG", CAPTURE_COMPRESS_MJPG}, | |||||
{" ", CAPTURE_COMPRESS_FCC_MPEG4}, | |||||
{"H.264", CAPTURE_COMPRESS_H264}, | |||||
{"H.265", CAPTURE_COMPRESS_H265}, | |||||
{NULL, } | |||||
}; | |||||
/// 捕获分辨率类型 | |||||
enum CaptureImageSize | |||||
{ | |||||
CAPTURE_IMAGE_SIZE_D1, ///< 704*576(PAL) 704*480(NTSC) | |||||
CAPTURE_IMAGE_SIZE_HD1, ///< 704*288(PAL) 704*240(NTSC) | |||||
CAPTURE_IMAGE_SIZE_BCIF, ///< 352*576(PAL) 352*480(NTSC) | |||||
CAPTURE_IMAGE_SIZE_CIF, ///< 352*288(PAL) 352*240(NTSC) | |||||
CAPTURE_IMAGE_SIZE_QCIF, ///< 176*144(PAL) 176*120(NTSC) | |||||
CAPTURE_IMAGE_SIZE_VGA, ///< 640*480(PAL) 640*480(NTSC) | |||||
CAPTURE_IMAGE_SIZE_QVGA, ///< 320*240(PAL) 320*240(NTSC) | |||||
CAPTURE_IMAGE_SIZE_SVCD, ///< 480*480(PAL) 480*480(NTSC) | |||||
CAPTURE_IMAGE_SIZE_QQVGA, ///< 160*128(PAL) 160*128(NTSC) | |||||
CAPTURE_IMAGE_SIZE_NR = 9, ///< 枚举的图形大小种类的数目。 | |||||
CAPTURE_IMAGE_SIZE_ND1 = 9, ///< 240*192 | |||||
CAPTURE_IMAGE_SIZE_650TVL, ///< 926*576 | |||||
CAPTURE_IMAGE_SIZE_720P, ///< 1280*720 | |||||
CAPTURE_IMAGE_SIZE_1_3M, ///< 1280*960 | |||||
CAPTURE_IMAGE_SIZE_UXGA , ///< 1600*1200 | |||||
CAPTURE_IMAGE_SIZE_1080P, ///< 1920*1080 | |||||
CAPTURE_IMAGE_SIZE_WUXGA, ///< 1920*1200 | |||||
CAPTURE_IMAGE_SIZE_2_5M, ///< 1872*1408 | |||||
CAPTURE_IMAGE_SIZE_3M, ///< 2048*1536 | |||||
CAPTURE_IMAGE_SIZE_5M, ///< 3744*1408 | |||||
CAPTURE_IMAGE_SIZE_EXT_NR = 19, | |||||
CAPTURE_IMAGE_SIZE_1080N = 19, ///< 960*1080 | |||||
CAPTURE_IMAGE_SIZE_4M, ///< 2592*1520 | |||||
CAPTURE_IMAGE_SIZE_6M, ///< 3072×2048 | |||||
CAPTURE_IMAGE_SIZE_8M, ///< 3264×2448 | |||||
CAPTURE_IMAGE_SIZE_12M, ///< 4000*3000 | |||||
CAPTURE_IMAGE_SIZE_4K, ///< 4096 * 2160/3840*2160 | |||||
CAPTURE_IMAGE_SIZE_EXT_V2_NR =25, | |||||
CAPTURE_IMAGE_SIZE_720N = 25, ///< 640*720 | |||||
CAPTURE_IMAGE_SIZE_WSVGA, ///< 1024*576 | |||||
CAPTURE_IMAGE_SIZE_NHD, ///< Wifi IPC 640*360 | |||||
CAPTURE_IMAGE_SIZE_3M_N, ///< 1024*1536 | |||||
CAPTURE_IMAGE_SIZE_4M_N, ///< 1296*1520 | |||||
CAPTURE_IMAGE_SIZE_5M_N, ///< 1872*1408 | |||||
CAPTURE_IMAGE_SIZE_4K_N, ///< 2048 * 2160通用/1920*2160海思 | |||||
CAPTURE_IMAGE_SIZE_EXT_V3_NR, | |||||
}; | |||||
static ConfigPair s_videoResolutionMap[] = | |||||
{ | |||||
{"D1", CAPTURE_IMAGE_SIZE_D1}, | |||||
{"HD1", CAPTURE_IMAGE_SIZE_HD1}, | |||||
{"BCIF", CAPTURE_IMAGE_SIZE_BCIF}, | |||||
{"CIF", CAPTURE_IMAGE_SIZE_CIF}, | |||||
{"QCIF", CAPTURE_IMAGE_SIZE_QCIF}, | |||||
{"VGA", CAPTURE_IMAGE_SIZE_VGA}, | |||||
{"QVGA", CAPTURE_IMAGE_SIZE_QVGA}, | |||||
{"SVCD", CAPTURE_IMAGE_SIZE_SVCD}, | |||||
{"QQVGA",CAPTURE_IMAGE_SIZE_QQVGA}, | |||||
{"ND1",CAPTURE_IMAGE_SIZE_ND1}, | |||||
{"650TVL",CAPTURE_IMAGE_SIZE_650TVL}, | |||||
{"720P",CAPTURE_IMAGE_SIZE_720P}, | |||||
{"1_3M",CAPTURE_IMAGE_SIZE_1_3M}, | |||||
{"UXGA",CAPTURE_IMAGE_SIZE_UXGA}, | |||||
{"1080P",CAPTURE_IMAGE_SIZE_1080P}, | |||||
{"WUXGA",CAPTURE_IMAGE_SIZE_WUXGA}, | |||||
{"2_5M",CAPTURE_IMAGE_SIZE_2_5M}, | |||||
{"3M",CAPTURE_IMAGE_SIZE_3M}, | |||||
{"5M",CAPTURE_IMAGE_SIZE_5M}, | |||||
{"1080N",CAPTURE_IMAGE_SIZE_1080N}, | |||||
{"4M",CAPTURE_IMAGE_SIZE_4M}, | |||||
{"6M",CAPTURE_IMAGE_SIZE_6M}, | |||||
{"8M",CAPTURE_IMAGE_SIZE_8M}, | |||||
{"12M",CAPTURE_IMAGE_SIZE_12M}, | |||||
{"4K",CAPTURE_IMAGE_SIZE_4K}, | |||||
{"720N",CAPTURE_IMAGE_SIZE_720N}, | |||||
{"WSVGA",CAPTURE_IMAGE_SIZE_WSVGA}, | |||||
{"NHD", CAPTURE_IMAGE_SIZE_NHD}, | |||||
{"3M_N",CAPTURE_IMAGE_SIZE_3M_N}, | |||||
{"4M_N",CAPTURE_IMAGE_SIZE_4M_N}, | |||||
{"5M_N",CAPTURE_IMAGE_SIZE_5M_N}, | |||||
{"4K_N",CAPTURE_IMAGE_SIZE_4K_N}, | |||||
{NULL, } | |||||
}; | |||||
#define JK_EncodeCapability "EncodeCapability" | |||||
class EncodeCapability : public JObject | |||||
{ | |||||
public: | |||||
JIntObj ChannelMaxSetSync; ///< 每个通道分辨率是否需要同步 0-不同步, 1 -同步 | |||||
JObjArray<CombEncodeInfo> mCombEncodeInfo; ///< 组合编码信息,暂时最大就4中码流 | |||||
JIntHex Compression; ///< 编码模式掩码 | |||||
JObjArray<EncodeInfo> mEncodeInfo; ///< 编码信息,暂时最大就4中码流 | |||||
JObjArray<JIntHex> ExImageSizePerChannel; ///< 每个通道支持的辅码流图像分辨率 | |||||
JObjArray<JObjArray<JIntHex> > ExImageSizePerChannelEx; ///< 每个通道支持的辅码流图像分辨率 | |||||
JObjArray<JIntHex> ImageSizePerChannel; ///< 每个通道支持的图像分辨率 | |||||
JIntObj MaxBitrate; ///< 最高码流Kbps | |||||
JIntObj MaxEncodePower; ///< 支持的最大编码能力 | |||||
JObjArray<JIntHex> MaxEncodePowerPerChannel; ///< 每个通道支持的最高编码能力 | |||||
JObjArray<JIntHex> ThirdStreamImageSize; ///< CHL_3IRD_T码流支持的图像分辨率 | |||||
JObjArray<JIntHex> FourthStreamImageSize; ///< CHL_4RTH_T码流支持的图像分辨率 | |||||
public: | |||||
EncodeCapability(JObject *pParent = NULL, const char *szName = JK_EncodeCapability): | |||||
JObject(pParent,szName), | |||||
ChannelMaxSetSync(this, "ChannelMaxSetSync"), | |||||
mCombEncodeInfo(this, "CombEncodeInfo"), | |||||
Compression(this, "Compression"), | |||||
mEncodeInfo(this, "EncodeInfo"), | |||||
ExImageSizePerChannel(this, "ExImageSizePerChannel"), | |||||
ExImageSizePerChannelEx(this, "ExImageSizePerChannelEx"), | |||||
ImageSizePerChannel(this, "ImageSizePerChannel"), | |||||
MaxBitrate(this, "MaxBitrate"), | |||||
MaxEncodePower(this, "MaxEncodePower"), | |||||
ThirdStreamImageSize(this, "ThirdStreamImageSize"), | |||||
FourthStreamImageSize(this, "FourthStreamImageSize"), | |||||
MaxEncodePowerPerChannel(this, "MaxEncodePowerPerChannel"){ | |||||
this->Parse("{ \"EncodeCapability\" : { \"ChannelMaxSetSync\" : 0, \"CombEncodeInfo\" : [ { \"CompressionMask\" : \"0x00000000\", \"Enable\" : true, \"HaveAudio\" : true, \"ResolutionMask\" : \"0x00000000\", \"StreamType\" : \"MainStream\" }, { \"CompressionMask\" : \"0x00000000\", \"Enable\" : false, \"HaveAudio\" : false, \"ResolutionMask\" : \"0x00000000\", \"StreamType\" : \"ExtraStream2\" }, { \"CompressionMask\" : \"0x00000000\", \"Enable\" : false, \"HaveAudio\" : false, \"ResolutionMask\" : \"0x00000000\", \"StreamType\" : \"ExtraStream3\" }, { \"CompressionMask\" : \"0x00000000\", \"Enable\" : false, \"HaveAudio\" : false, \"ResolutionMask\" : \"0x00000000\", \"StreamType\" : \"ExtraStream4\" }, { \"CompressionMask\" : \"0x00000000\", \"Enable\" : false, \"HaveAudio\" : false, \"ResolutionMask\" : \"0x00000000\", \"StreamType\" : \"JPEGStream\" } ], \"Compression\" : \"0x00000000\", \"EncodeInfo\" : [ { \"CompressionMask\" : \"0x00000080\", \"Enable\" : true, \"HaveAudio\" : true, \"ResolutionMask\" : \"0xFFBFFFFF\", \"StreamType\" : \"MainStream\" }, { \"CompressionMask\" : \"0x00000080\", \"Enable\" : true, \"HaveAudio\" : true, \"ResolutionMask\" : \"0xFFFFFFFF\", \"StreamType\" : \"ExtraStream2\" }, { \"CompressionMask\" : \"0x00000000\", \"Enable\" : false, \"HaveAudio\" : false, \"ResolutionMask\" : \"0x00000000\", \"StreamType\" : \"ExtraStream3\" }, { \"CompressionMask\" : \"0x00000000\", \"Enable\" : false, \"HaveAudio\" : false, \"ResolutionMask\" : \"0x00000000\", \"StreamType\" : \"ExtraStream4\" }, { \"CompressionMask\" : \"0x00000080\", \"Enable\" : true, \"HaveAudio\" : true, \"ResolutionMask\" : \"0xFFFFFFFF\", \"StreamType\" : \"JPEGStream\" } ], \"ExImageSizePerChannel\" : [ \"0x00000009\" ], \"ExImageSizePerChannelEx\" : [ [ \"0x00000018\", \"0x00000000\", \"0x00000000\", \"0x00000018\", \"0x00000010\", \"0x00000078\", \"0x00000040\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000009\", \"0x00000009\", \"0x00000000\", \"0x00000009\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\", \"0x00000000\" ] ], \"FourthStreamImageSize\" : [ \"0x00000000\" ], \"ImageSizePerChannel\" : [ \"0x00000801\" ], \"MaxBitrate\" : 49152, \"MaxEncodePower\" : 38016000, \"MaxEncodePowerPerChannel\" : [ \"0x02441400\" ], \"ThirdStreamImageSize\" : [ \"0x00000000\" ] }, \"Name\" : \"EncodeCapability\", \"Ret\" : 100, \"SessionID\" : \"0x00000178\" }"); | |||||
}; | |||||
~EncodeCapability(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,44 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_EncodeFunction "EncodeFunction" | |||||
class EncodeFunction : public JObject | |||||
{ | |||||
public: | |||||
JBoolObj DoubleStream; ///< 双码流功能 | |||||
JBoolObj CombineStream; ///< 组合编码 | |||||
JBoolObj SnapStream; ///< 抓图编码 | |||||
JBoolObj WaterMark; ///< 水印功能------功能废弃(2016.1.16) | |||||
JBoolObj IFrameRange; ///< I帧间隔 | |||||
JBoolObj LowBitRate; ///< 低码流,家用产品使用 | |||||
JBoolObj SmartH264; ///< H264+ | |||||
JBoolObj IntelligentEncode; ///< 智能编码 | |||||
JBoolObj SmartH264Plus; ///< H264++ | |||||
JBoolObj SmartH264V2; //新的H264+/H264++ | |||||
JBoolObj CustomChnDAMode; ///< 自定义数模切换功能 | |||||
JBoolObj SmartEncodeDigital; ///Smart编码数字通道 | |||||
JBoolObj MultiChannel; ///多通道编码 | |||||
public: | |||||
EncodeFunction(JObject *pParent = NULL, const char *szName = JK_EncodeFunction): | |||||
JObject(pParent,szName), | |||||
DoubleStream(this, "DoubleStream"), | |||||
CombineStream(this, "CombineStream"), | |||||
SnapStream(this, "SnapStream"), | |||||
WaterMark(this, "WaterMark"), | |||||
IFrameRange(this, "IFrameRange"), | |||||
LowBitRate(this, "LowBitRate"), | |||||
SmartH264(this, "SmartH264"), | |||||
IntelligentEncode(this, "IntelligentEncode"), | |||||
SmartH264Plus(this, "SmartH264Plus"), | |||||
SmartH264V2(this, "SmartH264V2"), | |||||
CustomChnDAMode(this, "CustomChnDAMode"), | |||||
SmartEncodeDigital(this, "SmartEncodeDigital"), | |||||
MultiChannel(this, "MultiChannel"){ | |||||
}; | |||||
~EncodeFunction(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,28 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_EncodeInfo "EncodeInfo" | |||||
class EncodeInfo : public JObject | |||||
{ | |||||
public: | |||||
JIntHex CompressionMask; ///< 掩码 | |||||
JBoolObj Enable; ///< 使能项 | |||||
JBoolObj HaveAudio; ///< 是否支持音频 | |||||
JIntHex ResolutionMask; ///< 掩码 | |||||
JStrObj StreamType; ///< 码流类型 | |||||
public: | |||||
EncodeInfo(JObject *pParent = NULL, const char *szName = JK_EncodeInfo): | |||||
JObject(pParent,szName), | |||||
CompressionMask(this, "CompressionMask"), | |||||
Enable(this, "Enable"), | |||||
HaveAudio(this, "HaveAudio"), | |||||
ResolutionMask(this, "ResolutionMask"), | |||||
StreamType(this, "StreamType"){ | |||||
}; | |||||
~EncodeInfo(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,78 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_EventHandler "EventHandler" | |||||
class EventHandler : public JObject | |||||
{ | |||||
public: | |||||
JStrObj AlarmInfo; /// 要显示的报警信息 | |||||
JBoolObj AlarmOutEnable; /// 报警使能 | |||||
JIntObj AlarmOutLatch; /// 报警输出延时:10?300 sec | |||||
JIntHex AlarmOutMask; /// 报警输出通道掩码 | |||||
JBoolObj BeepEnable; /// 蜂鸣 | |||||
JIntObj EventLatch; /// 联动开始延时时间,s为单位 | |||||
JBoolObj FTPEnable; /// 启动FTP传输 | |||||
JBoolObj LogEnable; /// 日志使能 | |||||
JBoolObj MailEnable; /// 发送邮件 | |||||
JBoolObj MatrixEnable; /// 矩阵使能 | |||||
JIntHex MatrixMask; /// 矩阵掩码 | |||||
JBoolObj MessageEnable; /// 发送消息到报警中心 | |||||
JBoolObj MsgtoNetEnable; /// 消息上传给网络使能 | |||||
JBoolObj MultimediaMsgEnable; /// 发送彩信 | |||||
JBoolObj PtzEnable; /// 云台联动使能 | |||||
JBoolObj RecordEnable; /// 录像使能 | |||||
JIntObj RecordLatch; /// 录像延时:10?300 sec | |||||
JIntHex RecordMask; /// 录象掩码 | |||||
JBoolObj ShortMsgEnable; /// 发送短信 | |||||
JBoolObj ShowInfo; /// 是否在GUI上和编码里显示报警信息 | |||||
JIntHex ShowInfoMask; /// 要联动显示报警信息的通道掩码 | |||||
JBoolObj SnapEnable; /// 抓图使能 | |||||
JIntHex SnapShotMask; /// 抓图掩码 | |||||
JObjArray<JObjArray<JStrObj> > TimeSection;/// 录像时间段 | |||||
JBoolObj TipEnable; /// 屏幕提示使能 | |||||
JBoolObj TourEnable; /// 轮巡使能 | |||||
JIntHex TourMask; /// 抓图掩码 | |||||
JBoolObj VoiceEnable; /// 语音提示 | |||||
JIntObj VoiceType; /// 和上面的bVoice对应,表示语音提示音类型 | |||||
JObjArray<JObjArray<JIntObj> > PtzLink; /// 云台联动项 | |||||
public: | |||||
EventHandler(JObject *pParent = NULL, const char *szName = JK_EventHandler): | |||||
JObject(pParent,szName), | |||||
AlarmInfo(this, "AlarmInfo"), | |||||
AlarmOutEnable(this, "AlarmOutEnable"), | |||||
AlarmOutLatch(this, "AlarmOutLatch"), | |||||
AlarmOutMask(this, "AlarmOutMask"), | |||||
BeepEnable(this, "BeepEnable"), | |||||
EventLatch(this, "EventLatch"), | |||||
FTPEnable(this, "FTPEnable"), | |||||
LogEnable(this, "LogEnable"), | |||||
MailEnable(this, "MailEnable"), | |||||
MatrixEnable(this, "MatrixEnable"), | |||||
MatrixMask(this, "MatrixMask"), | |||||
MessageEnable(this, "MessageEnable"), | |||||
MsgtoNetEnable(this, "MsgtoNetEnable"), | |||||
MultimediaMsgEnable(this, "MultimediaMsgEnable"), | |||||
PtzEnable(this, "PtzEnable"), | |||||
RecordEnable(this, "RecordEnable"), | |||||
RecordLatch(this, "RecordLatch"), | |||||
RecordMask(this, "RecordMask"), | |||||
ShortMsgEnable(this, "ShortMsgEnable"), | |||||
ShowInfo(this, "ShowInfo"), | |||||
ShowInfoMask(this, "ShowInfoMask"), | |||||
SnapEnable(this, "SnapEnable"), | |||||
SnapShotMask(this, "SnapShotMask"), | |||||
TimeSection(this, "TimeSection"), | |||||
TipEnable(this, "TipEnable"), | |||||
TourEnable(this, "TourEnable"), | |||||
TourMask(this, "TourMask"), | |||||
VoiceType(this, "VoiceType"), | |||||
PtzLink(this, "PtzLink"), | |||||
VoiceEnable(this, "VoiceEnable"){ | |||||
}; | |||||
~EventHandler(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,25 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_ExposureParam "ExposureParam" | |||||
class ExposureParam : public JObject //曝光 | |||||
{ | |||||
public: | |||||
JIntHex LeastTime; ///自动曝光时间下限或手动曝光时间,单位微秒 | |||||
JIntObj Level; ///曝光等级 | |||||
JIntHex MostTime; ///自动曝光时间上限,单位微秒 | |||||
public: | |||||
ExposureParam(JObject *pParent = NULL, const char *szName = JK_ExposureParam): | |||||
JObject(pParent,szName), | |||||
LeastTime(this, "LeastTime"), | |||||
Level(this, "Level"), | |||||
MostTime(this, "MostTime"){ | |||||
}; | |||||
~ExposureParam(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,25 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
#include "Video.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_ExtraFormat "ExtraFormat" | |||||
class ExtraFormat : public JObject | |||||
{ | |||||
public: | |||||
JBoolObj AudioEnable; ///是否开启视频编码 | |||||
Video mVideo; ///视频格式定义 | |||||
JBoolObj VideoEnable; ///是否开启音频编码 | |||||
public: | |||||
ExtraFormat(JObject *pParent = NULL, const char *szName = JK_ExtraFormat): | |||||
JObject(pParent,szName), | |||||
AudioEnable(this, "AudioEnable"), | |||||
mVideo(this, "Video"), | |||||
VideoEnable(this, "VideoEnable"){ | |||||
}; | |||||
~ExtraFormat(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,20 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_FbExtraStateCtrl "FbExtraStateCtrl" | |||||
class FbExtraStateCtrl : public JObject | |||||
{ | |||||
public: | |||||
JIntObj ison; | |||||
public: | |||||
FbExtraStateCtrl(JObject *pParent = NULL, const char *szName = JK_FbExtraStateCtrl): | |||||
JObject(pParent,szName), | |||||
ison(this, "ison"){ | |||||
}; | |||||
~FbExtraStateCtrl(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,22 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_GainParam "GainParam" | |||||
class GainParam : public JObject | |||||
{ | |||||
public: | |||||
JIntObj AutoGain; ///自动增益是否启用,0:不开启 1:开启 | |||||
JIntObj Gain; ///自动增益上限(自动增益启用)或固定增益值 | |||||
public: | |||||
GainParam(JObject *pParent = NULL, const char *szName = JK_GainParam): | |||||
JObject(pParent,szName), | |||||
AutoGain(this, "AutoGain"), | |||||
Gain(this, "Gain"){ | |||||
}; | |||||
~GainParam(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,38 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_General_General "General.General" | |||||
class General_General : public JObject | |||||
{ | |||||
public: | |||||
JIntObj AutoLogout; | |||||
JIntObj FontSize; | |||||
JIntObj IranCalendarEnable; | |||||
JIntObj LocalNo; | |||||
JStrObj MachineName; | |||||
JStrObj OverWrite; | |||||
JIntObj ScreenAutoShutdown; | |||||
JIntObj ScreenSaveTime; | |||||
JIntObj SnapInterval; | |||||
JStrObj VideoOutPut; | |||||
public: | |||||
General_General(JObject *pParent = NULL, const char *szName = JK_General_General): | |||||
JObject(pParent,szName), | |||||
AutoLogout(this, "AutoLogout"), | |||||
FontSize(this, "FontSize"), | |||||
IranCalendarEnable(this, "IranCalendarEnable"), | |||||
LocalNo(this, "LocalNo"), | |||||
MachineName(this, "MachineName"), | |||||
OverWrite(this, "OverWrite"), | |||||
ScreenAutoShutdown(this, "ScreenAutoShutdown"), | |||||
ScreenSaveTime(this, "ScreenSaveTime"), | |||||
SnapInterval(this, "SnapInterval"), | |||||
VideoOutPut(this, "VideoOutPut"){ | |||||
}; | |||||
~General_General(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,38 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
#include "DSTEnd.h" | |||||
#include "DSTStart.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_General_Location "General.Location" | |||||
class General_Location : public JObject | |||||
{ | |||||
public: | |||||
DSTEnd mDSTEnd; | |||||
JStrObj DSTRule; | |||||
DSTStart mDSTStart; | |||||
JStrObj DateFormat; | |||||
JStrObj DateSeparator; | |||||
JStrObj Language; | |||||
JStrObj TimeFormat; | |||||
JStrObj VideoFormat; | |||||
JIntObj WorkDay; | |||||
public: | |||||
General_Location(JObject *pParent = NULL, const char *szName = JK_General_Location): | |||||
JObject(pParent,szName), | |||||
mDSTEnd(this, "DSTEnd"), | |||||
DSTRule(this, "DSTRule"), | |||||
mDSTStart(this, "DSTStart"), | |||||
DateFormat(this, "DateFormat"), | |||||
DateSeparator(this, "DateSeparator"), | |||||
Language(this, "Language"), | |||||
TimeFormat(this, "TimeFormat"), | |||||
VideoFormat(this, "VideoFormat"), | |||||
WorkDay(this, "WorkDay"){ | |||||
}; | |||||
~General_Location(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,20 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_InputMethod "InputMethod" | |||||
class InputMethod : public JObject | |||||
{ | |||||
public: | |||||
JBoolObj NoSupportChinese; | |||||
public: | |||||
InputMethod(JObject *pParent = NULL, const char *szName = JK_InputMethod): | |||||
JObject(pParent,szName), | |||||
NoSupportChinese(this, "NoSupportChinese"){ | |||||
}; | |||||
~InputMethod(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,20 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_IntelDataWriteRsp "IntelDataWriteRsp" | |||||
class IntelDataWriteRsp : public JObject | |||||
{ | |||||
public: | |||||
JIntObj Index; | |||||
public: | |||||
IntelDataWriteRsp(JObject *pParent = NULL, const char *szName = JK_IntelDataWriteRsp): | |||||
JObject(pParent,szName), | |||||
Index(this, "Index"){ | |||||
}; | |||||
~IntelDataWriteRsp(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,218 @@ | |||||
#pragma once | |||||
#ifndef JOBJECT_H | |||||
#define JOBJECT_H | |||||
#include <iostream> | |||||
#include <vector> | |||||
#ifdef WIN32 | |||||
#ifdef XJSON_EXPORTS | |||||
#define XJSON_API __declspec(dllexport) | |||||
#define XJSON_TEMPLATE __declspec(dllexport) | |||||
#else | |||||
#define XJSON_API __declspec(dllimport) | |||||
#define XJSON_TEMPLATE | |||||
#endif | |||||
#define CALLBACK __stdcall | |||||
#else | |||||
#define XJSON_API | |||||
#define XJSON_TEMPLATE | |||||
#define CALLBACK | |||||
#endif | |||||
typedef void* PJSON_DATA; | |||||
typedef void* PJSON_STRING; | |||||
class XJSON_API JObject | |||||
{ | |||||
public: | |||||
JObject(JObject *pParent = NULL, const char *szName = ""); | |||||
virtual ~JObject(void); | |||||
public: | |||||
virtual int Parse(const char *szJson); | |||||
virtual int Parse(PJSON_DATA pParent, int index = -1); | |||||
virtual const char *ToString(); | |||||
virtual const char* Name(){return name;}; | |||||
virtual void SetName(const char*nm); | |||||
virtual int ToInt(); | |||||
virtual bool ToBool(); | |||||
virtual int SetValue(const char *szValue); | |||||
virtual int SetValue(bool bValue); | |||||
virtual int SetValue(int nValue); | |||||
virtual JObject *NewChild(); | |||||
virtual int AddChild(JObject *pNew); | |||||
virtual int DelChild(const char *szName); | |||||
virtual char *GetChannelName(int nChannelNo, const char* szStrName, char *pOutChannelName); | |||||
virtual int GetBoolOfObjs(const char *szKeys, int nDefValue = 0); | |||||
void JSON_SetParent(PJSON_DATA pParent); | |||||
int JSON_AddToArray(JObject *pChild); | |||||
int JSON_DelFromArray(int nIndex); | |||||
protected: | |||||
virtual void Clear(); | |||||
protected: | |||||
char *name; | |||||
PJSON_DATA _pJSData; | |||||
PJSON_DATA _pRoot; | |||||
std::vector<JObject *> _items; | |||||
PJSON_STRING _sJsonReslt; | |||||
}; | |||||
class XJSON_API JIntObj : public JObject | |||||
{ | |||||
public: | |||||
JIntObj(JObject *pParent = NULL, const char *szName = ""); | |||||
virtual ~JIntObj(void); | |||||
public: | |||||
int Value(); | |||||
virtual void operator=(const int nValue); | |||||
}; | |||||
class XJSON_API JStrObj : public JObject | |||||
{ | |||||
public: | |||||
JStrObj(JObject *pParent = NULL, const char *szName = ""); | |||||
virtual ~JStrObj(void); | |||||
public: | |||||
const char *Value(); | |||||
virtual void operator=(const char *szValue); | |||||
protected: | |||||
void *_sValue; | |||||
}; | |||||
class XJSON_API JIntHex : public JStrObj | |||||
{ | |||||
public: | |||||
JIntHex(JObject *pParent = NULL, const char *szName = ""); | |||||
virtual ~JIntHex(void); | |||||
int SetValue(bool bValue); | |||||
int SetValue(int nValue); | |||||
int ToInt(); | |||||
public: | |||||
int Value(); | |||||
virtual void operator=(int); | |||||
}; | |||||
class XJSON_API JBoolObj : public JObject | |||||
{ | |||||
public: | |||||
JBoolObj(JObject *pParent = NULL, const char *szName = ""); | |||||
virtual ~JBoolObj(void); | |||||
public: | |||||
bool Value(); | |||||
virtual void operator=(const bool bValue); | |||||
}; | |||||
class XJSON_API JDoubleObj : public JObject | |||||
{ | |||||
public: | |||||
JDoubleObj(JObject *pParent = NULL, const char *szName = ""); | |||||
virtual ~JDoubleObj(void); | |||||
public: | |||||
double Value(); | |||||
virtual void operator=(const double nValue); | |||||
}; | |||||
template <class T> | |||||
class XJSON_TEMPLATE JObjArray : public JObject | |||||
{ | |||||
public: | |||||
JObjArray(JObject *pParent = NULL, const char *szName = ""): | |||||
JObject(pParent, szName) | |||||
{ | |||||
}; | |||||
virtual ~JObjArray(void){}; | |||||
public: | |||||
T &operator[] (const int index) | |||||
{ | |||||
return *_arrayItems[index]; | |||||
}; | |||||
void Clear() | |||||
{ | |||||
typename std::vector<T*>::iterator iter = _arrayItems.begin(); | |||||
while ( iter != _arrayItems.end() ) | |||||
{ | |||||
if( *iter ) | |||||
{ | |||||
delete *iter; | |||||
} | |||||
iter++; | |||||
} | |||||
_arrayItems.clear(); | |||||
_items.clear(); | |||||
JObject::Clear(); | |||||
}; | |||||
JObject *NewChild() | |||||
{ | |||||
T *pNew = new T(); | |||||
_arrayItems.push_back(pNew); | |||||
return (JObject *)pNew; | |||||
}; | |||||
virtual int AddChild(JObject *pChild) | |||||
{ | |||||
JSON_AddToArray(pChild); | |||||
pChild->JSON_SetParent(NULL); | |||||
_arrayItems.push_back((T*)pChild); | |||||
return 0; | |||||
}; | |||||
virtual int DelChild(int nIndex) | |||||
{ | |||||
if (nIndex < 0 || nIndex >= _arrayItems.size()) | |||||
{ | |||||
return -1; | |||||
} | |||||
JSON_DelFromArray(nIndex); | |||||
delete _arrayItems[nIndex]; | |||||
_arrayItems.erase(_arrayItems.begin() + nIndex); | |||||
return 0; | |||||
} | |||||
int Size() | |||||
{ | |||||
return (int)_arrayItems.size(); | |||||
}; | |||||
protected: | |||||
std::vector<T*> _arrayItems; | |||||
}; | |||||
template <class T> | |||||
class XJSON_TEMPLATE JObjArrayObject : public JObject | |||||
{ | |||||
public: | |||||
JObjArrayObject(JObject *pParent = NULL, const char *szName = ""): | |||||
JObject(NULL, ""), | |||||
objs(this, szName) | |||||
{ | |||||
}; | |||||
virtual ~JObjArrayObject(void){}; | |||||
virtual int AddChild(JObject *pNew) | |||||
{ | |||||
return objs.AddChild(pNew); | |||||
}; | |||||
public: | |||||
JObjArray<T> objs; | |||||
}; | |||||
#endif //JOBJECT_H |
@@ -0,0 +1,9 @@ | |||||
#pragma once | |||||
#include "JObject.h" | |||||
#define NS_NETSDK_CFG_BEGIN namespace XSDK_CFG{ | |||||
#define NS_NETSDK_CFG_END } | |||||
#define USE_NS_NETSDK_CFG using namespace XSDK_CFG; | |||||
@@ -0,0 +1,26 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_POINT "POINT" | |||||
class JPOINT : public JObject | |||||
{ | |||||
public: | |||||
JIntObj bottom; | |||||
JIntObj left; | |||||
JIntObj right; | |||||
JIntObj top; | |||||
public: | |||||
JPOINT(JObject *pParent = NULL, const char *szName = JK_POINT): | |||||
JObject(pParent,szName), | |||||
bottom(this, "bottom"), | |||||
left(this, "left"), | |||||
right(this, "right"), | |||||
top(this, "top"){ | |||||
}; | |||||
~JPOINT(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,15 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
#include <string> | |||||
using namespace std; | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define CFG_CHN_NAME(x,y) JCFG::GetChnCfgName(x, y).c_str() | |||||
namespace JCFG | |||||
{ | |||||
string GetChnCfgName(const char *szCfgName, int nChnIndex); | |||||
} | |||||
NS_NETSDK_CFG_END | |||||
@@ -0,0 +1,24 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
#include "Video.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_MainFormat "MainFormat" | |||||
class MainFormat : public JObject //主码流配置 | |||||
{ | |||||
public: | |||||
JBoolObj AudioEnable; ///是否开启视频编码 | |||||
Video mVideo; ///视频格式定义 | |||||
JBoolObj VideoEnable; ///是否开启音频编码 | |||||
public: | |||||
MainFormat(JObject *pParent = NULL, const char *szName = JK_MainFormat): | |||||
JObject(pParent,szName), | |||||
AudioEnable(this, "AudioEnable"), | |||||
mVideo(this, "Video"), | |||||
VideoEnable(this, "VideoEnable"){ | |||||
}; | |||||
~MainFormat(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,28 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_MobileDVR "MobileDVR" | |||||
class MobileDVR : public JObject | |||||
{ | |||||
public: | |||||
JBoolObj CarPlateSet; | |||||
JBoolObj DVRBootType; | |||||
JBoolObj DelaySet; | |||||
JBoolObj GpsTiming; | |||||
JBoolObj StatusExchange; | |||||
public: | |||||
MobileDVR(JObject *pParent = NULL, const char *szName = JK_MobileDVR): | |||||
JObject(pParent,szName), | |||||
CarPlateSet(this, "CarPlateSet"), | |||||
DVRBootType(this, "DVRBootType"), | |||||
DelaySet(this, "DelaySet"), | |||||
GpsTiming(this, "GpsTiming"), | |||||
StatusExchange(this, "StatusExchange"){ | |||||
}; | |||||
~MobileDVR(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,28 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_ModifyPassword "ModifyPassword" | |||||
class ModifyPassword : public JObject //修改密码相关 | |||||
{ | |||||
public: | |||||
JStrObj EncryptType; | |||||
JStrObj NewPassWord; | |||||
JStrObj PassWord; | |||||
JStrObj SessionID; | |||||
JStrObj UserName; | |||||
public: | |||||
ModifyPassword(JObject *pParent = NULL, const char *szName = JK_ModifyPassword): | |||||
JObject(pParent,szName), | |||||
EncryptType(this, "EncryptType"), | |||||
NewPassWord(this, "NewPassWord"), | |||||
PassWord(this, "PassWord"), | |||||
SessionID(this, "SessionID"), | |||||
UserName(this, "UserName"){ | |||||
}; | |||||
~ModifyPassword(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,102 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_NetServerFunction "NetServerFunction" | |||||
class NetServerFunction : public JObject | |||||
{ | |||||
public: | |||||
JBoolObj MACProtocol; | |||||
JBoolObj MonitorPlatform; | |||||
JBoolObj NATProtocol; | |||||
JBoolObj Net3G; | |||||
JBoolObj NetARSP; | |||||
JBoolObj NetAlarmCenter; | |||||
JBoolObj NetAnJuP2P; | |||||
JBoolObj NetBaiduCloud; | |||||
JBoolObj NetBjlThy; | |||||
JBoolObj NetDAS; | |||||
JBoolObj NetDDNS; | |||||
JBoolObj NetDHCP; | |||||
JBoolObj NetDNS; | |||||
JBoolObj NetEmail; | |||||
JBoolObj NetFTP; | |||||
JBoolObj NetGodEyeAlarm; | |||||
JBoolObj NetIPFilter; | |||||
JBoolObj NetKaiCong; | |||||
JBoolObj NetKeyboard; | |||||
JBoolObj NetLocalSdkPlatform; | |||||
JBoolObj NetMobile; | |||||
JBoolObj NetMobileWatch; | |||||
JBoolObj NetMutliCast; | |||||
JBoolObj NetNTP; | |||||
JBoolObj NetNat; | |||||
JBoolObj NetOpenVPN; | |||||
JBoolObj NetPMS; | |||||
JBoolObj NetPPPoE; | |||||
JBoolObj NetPhoneMultimediaMsg; | |||||
JBoolObj NetPhoneShortMsg; | |||||
JBoolObj NetPlatMega; | |||||
JBoolObj NetPlatShiSou; | |||||
JBoolObj NetPlatVVEye; | |||||
JBoolObj NetPlatXingWang; | |||||
JBoolObj NetRTSP; | |||||
JBoolObj NetSPVMN; | |||||
JBoolObj NetTUTKIOTC; | |||||
JBoolObj NetUPNP; | |||||
JBoolObj NetVPN; | |||||
JBoolObj NetWifi; | |||||
JBoolObj PlatFormGBeyes; | |||||
JBoolObj XMHeartBeat; | |||||
public: | |||||
NetServerFunction(JObject *pParent = NULL, const char *szName = JK_NetServerFunction): | |||||
JObject(pParent,szName), | |||||
MACProtocol(this, "MACProtocol"), | |||||
MonitorPlatform(this, "MonitorPlatform"), | |||||
NATProtocol(this, "NATProtocol"), | |||||
Net3G(this, "Net3G"), | |||||
NetARSP(this, "NetARSP"), | |||||
NetAlarmCenter(this, "NetAlarmCenter"), | |||||
NetAnJuP2P(this, "NetAnJuP2P"), | |||||
NetBaiduCloud(this, "NetBaiduCloud"), | |||||
NetBjlThy(this, "NetBjlThy"), | |||||
NetDAS(this, "NetDAS"), | |||||
NetDDNS(this, "NetDDNS"), | |||||
NetDHCP(this, "NetDHCP"), | |||||
NetDNS(this, "NetDNS"), | |||||
NetEmail(this, "NetEmail"), | |||||
NetFTP(this, "NetFTP"), | |||||
NetGodEyeAlarm(this, "NetGodEyeAlarm"), | |||||
NetIPFilter(this, "NetIPFilter"), | |||||
NetKaiCong(this, "NetKaiCong"), | |||||
NetKeyboard(this, "NetKeyboard"), | |||||
NetLocalSdkPlatform(this, "NetLocalSdkPlatform"), | |||||
NetMobile(this, "NetMobile"), | |||||
NetMobileWatch(this, "NetMobileWatch"), | |||||
NetMutliCast(this, "NetMutliCast"), | |||||
NetNTP(this, "NetNTP"), | |||||
NetNat(this, "NetNat"), | |||||
NetOpenVPN(this, "NetOpenVPN"), | |||||
NetPMS(this, "NetPMS"), | |||||
NetPPPoE(this, "NetPPPoE"), | |||||
NetPhoneMultimediaMsg(this, "NetPhoneMultimediaMsg"), | |||||
NetPhoneShortMsg(this, "NetPhoneShortMsg"), | |||||
NetPlatMega(this, "NetPlatMega"), | |||||
NetPlatShiSou(this, "NetPlatShiSou"), | |||||
NetPlatVVEye(this, "NetPlatVVEye"), | |||||
NetPlatXingWang(this, "NetPlatXingWang"), | |||||
NetRTSP(this, "NetRTSP"), | |||||
NetSPVMN(this, "NetSPVMN"), | |||||
NetTUTKIOTC(this, "NetTUTKIOTC"), | |||||
NetUPNP(this, "NetUPNP"), | |||||
NetVPN(this, "NetVPN"), | |||||
NetWifi(this, "NetWifi"), | |||||
PlatFormGBeyes(this, "PlatFormGBeyes"), | |||||
XMHeartBeat(this, "XMHeartBeat"){ | |||||
}; | |||||
~NetServerFunction(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,66 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_NetWork_NetCommon "NetWork.NetCommon" | |||||
class NetWork_NetCommon : public JObject | |||||
{ | |||||
public: | |||||
JStrObj DeviceID; | |||||
JIntObj DeviceType; | |||||
JStrObj DvrMac; | |||||
JIntObj EncryptType; | |||||
JStrObj GateWay; | |||||
JStrObj HostIP; | |||||
JStrObj HostName; | |||||
JIntObj HttpPort; | |||||
JStrObj MAC; | |||||
JIntObj MaxBps; | |||||
JIntObj MonMode; | |||||
JStrObj Password; | |||||
JStrObj SN; | |||||
JIntObj SSLPort; | |||||
JStrObj Submask; | |||||
JIntObj TCPMaxConn; | |||||
JIntObj TCPPort; | |||||
JIntObj TransferPlan; | |||||
JIntObj UDPPort; | |||||
JBoolObj UseHSDownLoad; | |||||
JStrObj Username; | |||||
JStrObj Version; | |||||
JStrObj BuildDate; | |||||
public: | |||||
NetWork_NetCommon(JObject *pParent = NULL, const char *szName = JK_NetWork_NetCommon): | |||||
JObject(pParent,szName), | |||||
DeviceID(this, "DeviceID"), | |||||
DeviceType(this, "DeviceType"), | |||||
DvrMac(this, "DvrMac"), | |||||
EncryptType(this, "EncryptType"), | |||||
GateWay(this, "GateWay"), | |||||
HostIP(this, "HostIP"), | |||||
HostName(this, "HostName"), | |||||
HttpPort(this, "HttpPort"), | |||||
MAC(this, "MAC"), | |||||
MaxBps(this, "MaxBps"), | |||||
MonMode(this, "MonMode"), | |||||
Password(this, "Password"), | |||||
SN(this, "SN"), | |||||
SSLPort(this, "SSLPort"), | |||||
Submask(this, "Submask"), | |||||
TCPMaxConn(this, "TCPMaxConn"), | |||||
TCPPort(this, "TCPPort"), | |||||
TransferPlan(this, "TransferPlan"), | |||||
UDPPort(this, "UDPPort"), | |||||
UseHSDownLoad(this, "UseHSDownLoad"), | |||||
Username(this, "Username"), | |||||
Version(this, "Version"), | |||||
BuildDate(this, "BuildDate"){ | |||||
const char *szInit = "{ \"Name\" : \"NetWork.NetCommon\", \"NetWork.NetCommon\" : { \"DeviceID\" : \"0x00000000\", \"DeviceType\" : 65535, \"DvrMac\" : \"50:7B:9D:C2:04:FA\", \"EncryptType\" : 1, \"GateWay\" : \"0x01200a0a\", \"HostIP\" : \"0x010aa8c0\", \"HostName\" : \"robot_5002\", \"HttpPort\" : 80, \"MAC\" : \"ac:a2:13:0e:50:02\", \"MaxBps\" : 0, \"MonMode\" : 0, \"Password\" : \"QyZfVmgd\", \"SN\" : \"\", \"SSLPort\" : 8443, \"Submask\" : \"0x00f0ffff\", \"TCPMaxConn\" : 10, \"TCPPort\" : 34567, \"TransferPlan\" : 0, \"UDPPort\" : 34562, \"UseHSDownLoad\" : false, \"Username\" : \"admin\", \"Version\" : \"V4.02.R12.E1207810.12002.130302.00000\", \"BuildDate\" : \"2016-12-30 10:53:37\" }, \"Ret\" : 100, \"SessionID\" : \"0x00000000\" }"; | |||||
this->Parse(szInit); | |||||
}; | |||||
~NetWork_NetCommon(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,40 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_NetWork_Wifi "NetWork.Wifi" | |||||
class NetWork_Wifi : public JObject | |||||
{ | |||||
public: | |||||
JStrObj Auth; | |||||
JIntObj Channel; | |||||
JBoolObj Enable; | |||||
JStrObj EncrypType; | |||||
JStrObj GateWay; | |||||
JStrObj HostIP; | |||||
JIntObj KeyType; | |||||
JStrObj Keys; | |||||
JStrObj NetType; | |||||
JStrObj SSID; | |||||
JStrObj Submask; | |||||
public: | |||||
NetWork_Wifi(JObject *pParent = NULL, const char *szName = JK_NetWork_Wifi): | |||||
JObject(pParent,szName), | |||||
Auth(this, "Auth"), | |||||
Channel(this, "Channel"), | |||||
Enable(this, "Enable"), | |||||
EncrypType(this, "EncrypType"), | |||||
GateWay(this, "GateWay"), | |||||
HostIP(this, "HostIP"), | |||||
KeyType(this, "KeyType"), | |||||
Keys(this, "Keys"), | |||||
NetType(this, "NetType"), | |||||
SSID(this, "SSID"), | |||||
Submask(this, "Submask"){ | |||||
}; | |||||
~NetWork_Wifi(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,41 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_OPDefaultConfig "OPDefaultConfig" | |||||
class OPDefaultConfig : public JObject | |||||
{ | |||||
public: | |||||
JBoolObj Account; // 用户管理 | |||||
JBoolObj Alarm; // 报警 | |||||
JBoolObj CameraPARAM; // 网络摄像头配置 | |||||
JBoolObj CommPtz; // 云台,串口 | |||||
JBoolObj Encode; // 编码配置 | |||||
JBoolObj Factory; // 恢复出厂设置配置 | |||||
JBoolObj General; // 普通配置 | |||||
JBoolObj NetCommon; // 通用网络 | |||||
JBoolObj NetServer; // 网络服务 | |||||
JBoolObj Preview; // 预览配置 | |||||
JBoolObj Record; // 录像配置 | |||||
public: | |||||
OPDefaultConfig(JObject *pParent = NULL, const char *szName = JK_OPDefaultConfig): | |||||
JObject(pParent,szName), | |||||
Account(this, "Account"), | |||||
Alarm(this, "Alarm"), | |||||
CameraPARAM(this, "CameraPARAM"), | |||||
CommPtz(this, "CommPtz"), | |||||
Encode(this, "Encode"), | |||||
Factory(this, "Factory"), | |||||
General(this, "General"), | |||||
NetCommon(this, "NetCommon"), | |||||
NetServer(this, "NetServer"), | |||||
Preview(this, "Preview"), | |||||
Record(this, "Record"){ | |||||
this->Parse("{ \"Name\" : \"OPDefaultConfig\", \"OPDefaultConfig\" : { \"Account\" : false, \"Alarm\" : false, \"CameraPARAM\" : false, \"CommPtz\" : false, \"Encode\" : false, \"Factory\" : false, \"General\" : false, \"NetCommon\" : false, \"NetServer\" : false, \"Preview\" : false, \"Record\" : false }, \"SessionID\" : \"0x4d\" }"); | |||||
}; | |||||
~OPDefaultConfig(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,36 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_OPFileQuery "OPFileQuery" | |||||
// MSGID:EXCMD_FILESEARCH_REQ(1440) | |||||
class OPFileQuery : public JObject | |||||
{ | |||||
public: | |||||
JStrObj BeginTime; | |||||
JIntObj Channel; | |||||
JStrObj DriverTypeMask; | |||||
JStrObj EndTime; | |||||
JStrObj SubType; | |||||
JIntHex StreamType; | |||||
JStrObj Type; | |||||
public: | |||||
OPFileQuery(JObject *pParent = NULL, const char *szName = JK_OPFileQuery): | |||||
JObject(pParent,szName), | |||||
BeginTime(this, "BeginTime"), | |||||
Channel(this, "Channel"), | |||||
DriverTypeMask(this, "DriverTypeMask"), | |||||
EndTime(this, "EndTime"), | |||||
SubType(this, "Event"), | |||||
StreamType(this, "StreamType"), | |||||
Type(this, "Type") | |||||
{ | |||||
this->Parse("{ \"Name\" : \"OPFileQuery\", \"OPFileQuery\" : { \"BeginTime\" : \"2018-07-24 00:00:00\", \"Channel\" : 0, \"DriverTypeMask\" : \"0x0000FFFF\", \"EndTime\" : \"2018-07-24 23:59:59\", \"Event\" : \"*\", \"StreamType\" : \"0x00000000\", \"Type\" : \"h264\" }, \"SessionID\" : \"0x4d5\" }"); | |||||
}; | |||||
~OPFileQuery(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,27 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_OPLogQuery "OPLogQuery" | |||||
class OPLogQuery : public JObject | |||||
{ | |||||
public: | |||||
JStrObj BeginTime; ///< 查询日志开始时间,格式:YYYY-MM-DD HH:mm:SS | |||||
JStrObj EndTime; ///< 查询日志结束时间,格式:YYYY-MM-DD HH:mm:SS | |||||
JIntObj LogPosition; ///< 从上次查询的结束时的日志指针:0 | |||||
JStrObj Type; ///< 日志类型--“LogAll”:所有;"LogSystem":系统;"LogConfig":配置;"LogStorage":存储;"LogAlarm":报警;"LogRecord":录像;"LogAccount":账号;"LogFile":文件 | |||||
public: | |||||
OPLogQuery(JObject *pParent = NULL, const char *szName = JK_OPLogQuery): | |||||
JObject(pParent,szName), | |||||
BeginTime(this, "BeginTime"), | |||||
EndTime(this, "EndTime"), | |||||
LogPosition(this, "LogPosition"), | |||||
Type(this, "Type"){ | |||||
this->Parse("{ \"Name\" : \"OPLogQuery\", \"OPLogQuery\" : { \"BeginTime\" : \"2019-03-27 00:00:00\", \"EndTime\" : \"2019-03-27 23:59:59\", \"LogPosition\" : 0, \"Type\" : \"LogAll\" }, \"SessionID\" : \"0x1\" }"); | |||||
}; | |||||
~OPLogQuery(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,66 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
////////////////返回的日志类型字符串注释///////////////// | |||||
#define LogTypeAccountRestore "AccountRestore" //账号还原默认 | |||||
#define LogTypeAddGroup "AddGroup" //添加组 | |||||
#define LogTypeAddUser "AddUser" //增加用户 | |||||
#define LogTypeClearDriver "ClearDriver" //清除驱动器数据 | |||||
#define LogTypeClearLog "ClearLog" //清除日志 | |||||
#define LogTypeDeleteGroup "DeleteGroup" //删除组 | |||||
#define LogTypeDeleteUser "DeleteUser" //删除用户 | |||||
#define LogTypeDiskChanged "DiskChanged" //存储设备变动 | |||||
#define LogTypeEventLatch "EventLatch" //延迟事件 | |||||
#define LogTypeEventStart "EventStart" //报警开始 | |||||
#define LogTypeEventStop "EventStop" //报警结束 | |||||
#define LogTypeFileAccess "FileAccess" //文件存取 | |||||
#define LogTypeFileAccessError "FileAccessError" //文件访问出错 | |||||
#define LogTypeFileSearch "FileSearch" //文件查询 | |||||
#define LogTypeLogIn "LogIn" //用户登录 | |||||
#define LogTypeLogOut "LogOut" //用户登出 | |||||
#define LogTypeModifyGroup "ModifyGroup" //修改组 | |||||
#define LogTypeModifyPassword "ModifyPassword" //修改密码 | |||||
#define LogTypeModifyTime "ModifyTime" //修改系统时间 | |||||
#define LogTypeModifyUser "ModifyUser" //修改用户 | |||||
#define LogTypePTZTour "PTZTour" //巡航路线 | |||||
#define LogTypeReboot "Reboot" //重启 | |||||
#define LogTypeRecord "Record" //录像操作 | |||||
#define LogTypeSaveConfig "SaveConfig" //保存配置 | |||||
#define LogTypeSetDriverType "SetDriverType" //设置驱动器类型 | |||||
#define LogTypeShutDown "ShutDown" //关机 | |||||
#define LogTypeStorageDeviceError "StorageDeviceError" //存储设备出错 | |||||
#define LogTypeUpdate "Update" //更新 | |||||
#define LogTypeUpgrade "Upgrade" //系统升级 | |||||
#define LogTypeZeroBitrate "ZeroBitrate" //无码流 | |||||
#define LogTypeSaveSystemState "SaveSystemState" //保存系统状态 | |||||
#define LogTypeTimeChanged "TimeChanged" //修改时间 | |||||
#define LogTypeSetTime "SetTime" //设置时间 | |||||
#define JK_OPLogQueryInfo "OPLogQuery" | |||||
class OPLogQueryInfo : public JObject | |||||
{ | |||||
public: | |||||
JStrObj Data; ///< 日志数据 | |||||
JIntObj Position; ///< 从上次查询的结束时的日志指针 | |||||
JStrObj Time; ///< 日志时间 | |||||
JStrObj Type; ///< 日志类型 | |||||
JStrObj User; ///< 日志用户 | |||||
public: | |||||
OPLogQueryInfo(JObject *pParent = NULL, const char *szName = JK_OPLogQueryInfo): | |||||
JObject(pParent,szName), | |||||
Data(this, "Data"), | |||||
Position(this, "Position"), | |||||
Time(this, "Time"), | |||||
Type(this, "Type"), | |||||
User(this, "User"){ | |||||
}; | |||||
~OPLogQueryInfo(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,21 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_OPMachine "OPMachine" | |||||
class OPMachine : public JObject | |||||
{ | |||||
public: | |||||
JStrObj Action; | |||||
public: | |||||
OPMachine(JObject *pParent = NULL, const char *szName = JK_OPMachine): | |||||
JObject(pParent,szName), | |||||
Action(this, "Action"){ | |||||
this->Parse("{ \"Name\" : \"OPMachine\", \"OPMachine\" : { \"Action\" : \"Shutdown\" }, \"SessionID\" : \"0x1b\" }"); | |||||
}; | |||||
~OPMachine(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,23 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_OPNetKeyboard "OPNetKeyboard" | |||||
class OPNetKeyboard : public JObject | |||||
{ | |||||
public: | |||||
JStrObj Status; | |||||
JStrObj Value; | |||||
public: | |||||
OPNetKeyboard(JObject *pParent = NULL, const char *szName = JK_OPNetKeyboard): | |||||
JObject(pParent,szName), | |||||
Status(this, "Status"), | |||||
Value(this, "Value"){ | |||||
this->Parse("{\"Name\" : \"OPNetKeyboard\",\"OPNetKeyboard\" : {\"Status\" : \"KeyUp\",\"Value\" : \"AutoTour\"},\"SessionID\" : \"0x5a91\"}"); | |||||
}; | |||||
~OPNetKeyboard(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,58 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
#include "Parameter.h" | |||||
#include "../XNetSDKDefine.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
/////////////////方向控制///////////////// | |||||
#define JPTZ_DirectionLeftUp "DirectionLeftUp" | |||||
#define JPTZ_DirectionUp "DirectionUp" | |||||
#define JPTZ_DirectionRightUp "DirectionRightUp" | |||||
#define JPTZ_DirectionLeft "DirectionLeft" | |||||
#define JPTZ_DirectionRight "DirectionRight" | |||||
#define JPTZ_DirectionLeftDown "DirectionLeftDown" | |||||
#define JPTZ_DirectionDown "DirectionDown" | |||||
#define JPTZ_DirectionRightDown "DirectionRightDown" | |||||
#define JPTZ_IrisSmall "IrisSmall" | |||||
#define JPTZ_IrisLarge "IrisLarge" | |||||
#define JPTZ_FocusNear "FocusNear" | |||||
#define JPTZ_FocusFar "FocusFar" | |||||
#define JPTZ_ZoomWide "ZoomWide" | |||||
#define JPTZ_ZoomTile "ZoomTile" | |||||
#define JPTZ_Reset "Reset" | |||||
#define JPTZ_OPERATION_START 65535 | |||||
#define JPTZ_OPERATION_STOP -1 | |||||
/////////////////云台预置点操作///////////////// | |||||
#define JPTZ_GotoPreset "GotoPreset" | |||||
#define JPTZ_SetPreset "SetPreset" | |||||
#define JPTZ_ClearPreset "ClearPreset" | |||||
/////////////////云台巡航操作///////////////// | |||||
#define JPTZ_AddTour "AddTour" //添加巡航点 | |||||
#define JPTZ_DeleteTour "DeleteTour" //删除预置点 | |||||
#define JPTZ_StartTour "StartTour" //开始巡航 | |||||
#define JPTZ_StopTour "StopTour" //停止巡航 | |||||
#define JK_OPPTZControl "OPPTZControl" | |||||
class OPPTZControl : public JObject | |||||
{ | |||||
public: | |||||
Parameter mParameter; | |||||
JStrObj Command; | |||||
public: | |||||
OPPTZControl(JObject *pParent = NULL, const char *szName = JK_OPPTZControl): | |||||
JObject(pParent, JK_OPPTZControl), | |||||
mParameter(this, "Parameter"), | |||||
Command(this,"Command") | |||||
{ | |||||
this->Parse("{ \"Name\" : \"OPPTZControl\", \"OPPTZControl\" : { \"Command\" : \"DirectionLeft\", \"Parameter\" : { \"AUX\" : { \"Number\" : 0, \"Status\" : \"On\" }, \"Channel\" : 0, \"MenuOpts\" : \"Enter\", \"POINT\" : { \"bottom\" : 0, \"left\" : 0, \"right\" : 0, \"top\" : 0 }, \"Pattern\" : \"SetBegin\", \"Preset\" : 65535, \"Step\" : 5, \"Tour\" : 0 } }, \"SessionID\" : \"0x0000000000\" }"); | |||||
}; | |||||
~OPPTZControl(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,109 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_PlayBackParameter "Parameter" | |||||
class PlayBackParameter : public JObject | |||||
{ | |||||
public: | |||||
JIntObj Channel; | |||||
JStrObj FileName; | |||||
JStrObj PlayMode; | |||||
JIntObj Stream_Type; | |||||
JIntObj Value; | |||||
JStrObj TransMode; | |||||
JStrObj IntelligentPlayBackEvent; | |||||
JIntObj IntelligentPlayBackSpeed; | |||||
public: | |||||
PlayBackParameter(JObject *pParent = NULL, const char *szName = JK_PlayBackParameter): | |||||
JObject(pParent,szName), | |||||
Channel(this, "Channel"), | |||||
FileName(this, "FileName"), | |||||
PlayMode(this, "PlayMode"), | |||||
Stream_Type(this, "Stream_Type"), | |||||
Value(this, "Value"), | |||||
TransMode(this, "TransMode"), | |||||
IntelligentPlayBackEvent(this, "IntelligentPlayBackEvent"), | |||||
IntelligentPlayBackSpeed(this, "IntelligentPlayBackSpeed"){ | |||||
}; | |||||
~PlayBackParameter(void){}; | |||||
// F_SUB_COMMON = 0x00, F_SUB_LOCALALARM = 0x01, ///< 本地报警 | |||||
// F_SUB_NETALARM = 0x02, ///< 网络报警 F_SUB_NETABORT = 0x03, ///< 断网报警 | |||||
// F_SUB_IPCALARM = 0x04, ///< IPC报警 F_SUB_SPEEDALARM = 0x05, ///< 超速报警 | |||||
// F_SUB_GSENSORALARM = 0x06, ///< SENSOR报警 F_SUB_SERIALALARM = 0x07, ///<串口报警 | |||||
// F_SUB_MOTIONDETECT = 0x08, ///< 移动侦测 F_SUB_LOSSDETECT = 0x09, ///< 视频丢失 | |||||
// F_SUB_BLINDDETECT = 0x0a, ///< 视频遮挡 F_SUB_PIRALARM = 0x0b, ///< 红外检测 | |||||
// F_SUB_CARDNUMBER = 0x0c, ///< 卡号录像 F_SUB_PERIMETER = 0x0d, ///< 周界检测 | |||||
// F_SUB_TRIPWIRE = 0x0e, ///< 单绊线检测 F_SUB_ABANDUM = 0x0f, ///< 物品遗留 | |||||
// F_SUB_STOLEN = 0x10, ///< 物品被盗 F_SUB_CHANGE = 0x11, ///< 场景变换 | |||||
// F_SUB_NR = 0x1f, | |||||
void SetPlayBackEvent(unsigned int *event, int nCount) | |||||
{ | |||||
unsigned int value; | |||||
for(int i = 0; i < nCount; i++) | |||||
{ | |||||
value |= (0x1 << event[i]); | |||||
} | |||||
}; | |||||
void SetPlayBackEvent(const char *szEvent) | |||||
{ | |||||
}; | |||||
}; | |||||
#define JK_OPPlayBack "OPPlayBack" | |||||
class OPPlayBack : public JObject | |||||
{ | |||||
public: | |||||
JStrObj Action; | |||||
PlayBackParameter mParameter; | |||||
JStrObj EndTime; | |||||
JStrObj StartTime; | |||||
public: | |||||
OPPlayBack(JObject *pParent = NULL, const char *szName = JK_OPPlayBack): | |||||
JObject(pParent,szName), | |||||
Action(this, "Action"), | |||||
mParameter(this, JK_PlayBackParameter), | |||||
EndTime(this, "EndTime"), | |||||
StartTime(this, "StartTime"){ | |||||
static const char *s_szInitValue = | |||||
"{\r\n\"Name\" : \"OPPlayBack\",\r\n\ | |||||
\"SessionID\" : \"0x2c\", \r\n\ | |||||
\"OPPlayBack\": {\r\n\ | |||||
\"Action\": \"Stop\",\r\n\ | |||||
\"Parameter\": {\r\n\ | |||||
\"Channel\": 1,\r\n\ | |||||
\"FileName\": \"01_2018-09-12 00:00:00\",\r\n\ | |||||
\"PlayMode\": \"ByTime\",\r\n\ | |||||
\"Stream_Type\": 0,\r\n\ | |||||
\"Value\": 0,\r\n\ | |||||
\"TransMode\": \"TCP\",\r\n\ | |||||
\"IntelligentPlayBackEvent\": \"ALL\",\r\n\ | |||||
\"IntelligentPlayBackSpeed\": 0\r\n\ | |||||
},\r\n\ | |||||
\"StartTime\": \"2018-09-12 00:00:00\",\r\n\ | |||||
\"EndTime\": \"2018-09-12 23:59:59\"\r\n\ | |||||
}\r\n}"; | |||||
this->Parse(s_szInitValue); | |||||
}; | |||||
void SetStartTime(int tt[6]) | |||||
{ | |||||
char szTime[32]; | |||||
sprintf(szTime, "%04d-%02d-%02d %02d:%02d:%02d", tt[0], tt[1], tt[2], tt[3], tt[4], tt[5]); | |||||
StartTime = szTime; | |||||
}; | |||||
void SetEndTime(int tt[6]) | |||||
{ | |||||
char szTime[32]; | |||||
sprintf(szTime, "%04d-%02d-%02d %02d:%02d:%02d", tt[0], tt[1], tt[2], tt[3], tt[4], tt[5]); | |||||
EndTime = szTime; | |||||
}; | |||||
~OPPlayBack(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END | |||||
@@ -0,0 +1,36 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_OPPowerSocketGet "OPPowerSocketGet" | |||||
class OPPowerSocketGet : public JObject | |||||
{ | |||||
public: | |||||
JIntObj Switch; | |||||
JIntObj AutoSwitch; | |||||
JIntObj Light; | |||||
JIntObj UsbPower; | |||||
JIntObj AutoLight; | |||||
JIntObj AutoUsbPower; | |||||
JIntObj SensorSwitch; | |||||
JIntObj SensorLight; | |||||
JIntObj SensorUsbPower; | |||||
public: | |||||
OPPowerSocketGet(JObject *pParent = NULL, const char *szName = JK_OPPowerSocketGet): | |||||
JObject(pParent,szName), | |||||
Switch(this, "Switch"), | |||||
AutoSwitch(this, "AutoSwitch"), | |||||
Light(this, "Light"), | |||||
UsbPower(this, "UsbPower"), | |||||
AutoLight(this, "AutoLight"), | |||||
AutoUsbPower(this, "AutoUsbPower"), | |||||
SensorSwitch(this, "SensorSwitch"), | |||||
SensorLight(this, "SensorLight"), | |||||
SensorUsbPower(this, "SensorUsbPower"){ | |||||
}; | |||||
~OPPowerSocketGet(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,29 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_OPReqImport "OPReqImport" | |||||
class OPReqImport : public JObject | |||||
{ | |||||
public: | |||||
JIntObj Channel; | |||||
JIntObj Length; | |||||
JStrObj IntelType; | |||||
JStrObj Opr; | |||||
JIntObj Index; | |||||
public: | |||||
OPReqImport(JObject *pParent = NULL, const char *szName = JK_OPReqImport): | |||||
JObject(pParent,szName), | |||||
Channel(this, "Channel"), | |||||
Length(this, "Length"), | |||||
IntelType(this, "IntelType"), | |||||
Index(this, "Index"), | |||||
Opr(this, "Opr"){ | |||||
this->Parse("{\"Name\" : \"OPReqImport\",\"OPReqImport\" : {\"Channel\" : 0,\"Length\" : 0,\"Index\" : 0,\"IntelType\" : \"CarPlate\",\"Opr\" : \"Stop\"},\"SessionID\" : \"0x5a91\"}"); | |||||
}; | |||||
~OPReqImport(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,24 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
#include "OSDInfo.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_OPSetOSD "OPSetOSD" | |||||
class OPSetOSD : public JObject | |||||
{ | |||||
public: | |||||
JStrObj strEnc; | |||||
JObjArray<OSDInfo> mOSDInfo; | |||||
public: | |||||
OPSetOSD(JObject *pParent = NULL, const char *szName = JK_OPSetOSD): | |||||
JObject(pParent,szName), | |||||
strEnc(this, "strEnc"), | |||||
mOSDInfo(this, "OSDInfo"){ | |||||
this->Parse("{ \"Name\" : \"OPSetOSD\", \"OPSetOSD\" : { \"OSDInfo\" : [ { \"Info\" : [ \"CAM01\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\" ], \"OSDInfoWidget\" : { \"BackColor\" : \"0xF00000FF\", \"EncodeBlend\" : true, \"FrontColor\" : \"0x40000000\", \"PreviewBlend\" : false, \"RelativePos\" : [ 425, 728, 55318480, 0 ] } } ], \"strEnc\" : \"UTF-8\" }, \"SessionID\" : \"0x29\" }"); | |||||
}; | |||||
~OPSetOSD(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,29 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_OPStorageManager "OPStorageManager" | |||||
class OPStorageManager : public JObject //存储管理 | |||||
{ | |||||
public: | |||||
JStrObj Action; | |||||
JIntObj PartNo; | |||||
JIntObj SerialNo; | |||||
JStrObj Type; | |||||
public: | |||||
OPStorageManager(JObject *pParent = NULL, const char *szName = JK_OPStorageManager): | |||||
JObject(pParent,szName), | |||||
Action(this, "Action"), | |||||
PartNo(this, "PartNo"), | |||||
SerialNo(this, "SerialNo"), | |||||
Type(this, "Type"){ | |||||
char szConfig[256] = {0}; | |||||
sprintf(szConfig, "{\"Name\":\"%s\", \"%s\":{\"Action\":\"\",\"PartNo\":0,\"SerialNo\":0,\"Type\":\"\"}}", JK_OPStorageManager, JK_OPStorageManager); | |||||
int nRet = Parse(szConfig); | |||||
}; | |||||
~OPStorageManager(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,29 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_OPTimeSetting "OPTimeSetting" | |||||
class OPTimeSetting : public JObject | |||||
{ | |||||
public: | |||||
JStrObj Name; | |||||
JStrObj mOPTimeSetting; | |||||
JStrObj SessionID; | |||||
public: | |||||
OPTimeSetting(): | |||||
JObject(NULL, ""), | |||||
Name(this, JK_OPTimeSetting), | |||||
mOPTimeSetting(this, "\"2018-07-25 17:20:37\""), | |||||
SessionID(this, "SessionID") | |||||
{ | |||||
this->Parse("{ \"Name\" : \"OPTimeSetting\", \"OPTimeSetting\" : \"2018-07-25 17:20:37\", \"SessionID\" : \"0x00000000\" }"); | |||||
}; | |||||
~OPTimeSetting(void) | |||||
{ | |||||
}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,23 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
#include "OSDInfoWidget.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_OSDInfo "OSDInfo" | |||||
class OSDInfo : public JObject | |||||
{ | |||||
public: | |||||
JObjArray<JStrObj> Info; | |||||
OSDInfoWidget mOSDInfoWidget; | |||||
public: | |||||
OSDInfo(JObject *pParent = NULL, const char *szName = JK_OSDInfo): | |||||
JObject(pParent,szName), | |||||
Info(this, "Info"), | |||||
mOSDInfoWidget(this, "OSDInfoWidget"){ | |||||
}; | |||||
~OSDInfo(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,28 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_OSDInfoWidget "OSDInfoWidget" | |||||
class OSDInfoWidget : public JObject | |||||
{ | |||||
public: | |||||
JStrObj BackColor; | |||||
JBoolObj EncodeBlend; | |||||
JStrObj FrontColor; | |||||
JBoolObj PreviewBlend; | |||||
JObjArray<JIntObj> RelativePos; | |||||
public: | |||||
OSDInfoWidget(JObject *pParent = NULL, const char *szName = JK_OSDInfoWidget): | |||||
JObject(pParent,szName), | |||||
BackColor(this, "BackColor"), | |||||
EncodeBlend(this, "EncodeBlend"), | |||||
FrontColor(this, "FrontColor"), | |||||
PreviewBlend(this, "PreviewBlend"), | |||||
RelativePos(this, "RelativePos"){ | |||||
}; | |||||
~OSDInfoWidget(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,212 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_OtherFunction "OtherFunction" | |||||
class OtherFunction : public JObject | |||||
{ | |||||
public: | |||||
JBoolObj DownLoadPause; | |||||
JBoolObj USBsupportRecord; | |||||
JBoolObj SDsupportRecord; | |||||
JBoolObj SupportOnvifClient; | |||||
JBoolObj SupportNetLocalSearch; | |||||
JBoolObj SupportMaxPlayback; | |||||
JBoolObj SupportNVR; | |||||
JBoolObj SupportC7Platform; | |||||
JBoolObj SupportMailTest; | |||||
JBoolObj SupportOSDInfo; | |||||
JBoolObj HideDigital; | |||||
JBoolObj NotSupportAH; //水平锐度AcutanceHorizontal | |||||
JBoolObj NotSupportAV; //垂直锐度AcutanceVertial | |||||
JBoolObj SupportBT; //宽动态BroadTrends | |||||
JBoolObj NotSupportTalk ; //对讲 | |||||
JBoolObj AlterDigitalName; //支持修改数字通道名称 | |||||
JBoolObj SupportShowConnectStatus; | |||||
JBoolObj SupportPlayBackExactSeek; | |||||
JBoolObj TitleAndStateUpload; | |||||
JBoolObj NOHDDRECORD; | |||||
JBoolObj MusicFilePlay; | |||||
JBoolObj SupportSetDigIP; | |||||
JBoolObj SupportShowProductType; | |||||
JBoolObj SupportCamareStyle; | |||||
JBoolObj Supportonviftitle; | |||||
JBoolObj SupportDimenCode; | |||||
JBoolObj SupportStorageNAS; | |||||
JBoolObj ShowFalseCheckTime; | |||||
JBoolObj SupportTimeZone; | |||||
JBoolObj ShowAlarmLevelRegion; | |||||
JBoolObj SupportPOS; //支持POS | |||||
JBoolObj HddLowSpaceUseMB; //硬盘空间不足报警用MB | |||||
JBoolObj SupportCustomOemInfo; //定制OEM客户版本信息 | |||||
JBoolObj SupportDigitalEncode; //数字通道编码配置 | |||||
JBoolObj SupportResumePtzState; //开机恢复云台状态 | |||||
JBoolObj SupportSnapCfg; | |||||
JBoolObj SupportAbnormitySendMail; //存储设备存在及存储异常及存储空间不足发邮件} | |||||
JBoolObj SupportDigitalPre; //数字通道支持预录 | |||||
JBoolObj SupportWriteLog; //报警页面添加是否写日志勾选框 | |||||
JBoolObj SuppportChangeOnvifPort; //支持修改onvif端口 | |||||
JBoolObj SupportCommDataUpload; //支持串口数据透传 | |||||
JBoolObj SupportTextPassword; //保存可以反解的密码用于onvif鉴权 | |||||
JBoolObj SupportCloudUpgrade; | |||||
JBoolObj SupportUserProgram; //支持客户启动小程序 | |||||
JBoolObj SupportModifyFrontcfg; // | |||||
JBoolObj SupportFTPTest; //ftp测试 | |||||
JBoolObj SupportPtzIdleState; //云台空闲动作配置 | |||||
JBoolObj SupportImpRecord; //web端是否提供关键录像搜索选项 | |||||
JBoolObj SupportCameraMotorCtrl; //IE端支持机器人马达控制 | |||||
JBoolObj SupportEncodeAddBeep; //设置编码每隔30秒加入beep声 | |||||
JBoolObj SupportFishEye; //鱼眼功能 | |||||
JBoolObj SupportSPVMNNasServer; //安徽超清定制 | |||||
JBoolObj SupportSmallChnTitleFont; //使用12*18的通道标题点阵 | |||||
JBoolObj SupportCfgCloudupgrad; //支持云升级功能配置修改 | |||||
JBoolObj SupportStorageFailReboot; | |||||
JBoolObj SupportSplitControl; //修改DVR预览画面分割 | |||||
JBoolObj SupportRTSPClient; //数字通道连接RTSP前端 | |||||
JBoolObj SupportLowLuxMode; //摄像机是否支持微光模式 | |||||
JBoolObj SupportSwitchResolution; //修改前端数字通道分辨率 | |||||
JBoolObj SupportSlowMotion; //摄像机是否支持慢动作 | |||||
JBoolObj SupportCorridorMode; //支持走廊模式 | |||||
JBoolObj SupportWIFINVR; //是WIFINVR设备 | |||||
JBoolObj SupportSnapSchedule; //是否支持定时抓图 | |||||
JBoolObj SupportPWDSafety; //是否支持密码找回}, | |||||
JBoolObj SupportPlateDetect; //支持车牌侦测 | |||||
JBoolObj SupportBreviary; //是否支持缩略图 | |||||
JBoolObj SupportIntelligentPlayBack; //是否支持智能快放 | |||||
JBoolObj SupportFaceDetect; //是否支持人脸识别 | |||||
JBoolObj SupportDeviceInfoNew; //是否支持新设备信息 | |||||
JBoolObj SupportBallCameraTrackDetect; //支持球机跟踪识别 | |||||
JBoolObj SpecialNight; //夜间特殊模式控制 | |||||
JBoolObj SupportSetHardwareAbility; //支持设置设备硬件能力集 | |||||
JBoolObj SupportSafetyEmail; //支持通过Email重置密码 | |||||
JBoolObj SupportSensorAbilitySetting; ///支持合封模组支持的sensor等级 | |||||
JBoolObj SupportAlarmVoiceTips; | |||||
JBoolObj SupportAlarmLinkLight; | |||||
JBoolObj SupportSetRtcTime; //支持Rtc时间校正功能 | |||||
JBoolObj SupportAudioFormat; //支持音频编码 | |||||
JBoolObj SupportSoftPhotosensitive; //软光敏 | |||||
JBoolObj SupportCloudUpgradeIPC; | |||||
JBoolObj SupportFileUpgradeIPC; //支持IE发送文件通过NVR给IPC升级 | |||||
JBoolObj SupportParkingGuide; //支持车位引导功能 | |||||
JBoolObj SupportLimitNetLoginUsers; //限制网络登陆的用户数 | |||||
JBoolObj SupportCoaxialParamCtrl; //同轴参数控制 | |||||
JBoolObj SupportShowH265X; //显示H265X编码 | |||||
JBoolObj SupportLogStorageCtrl; //日志存储控制 | |||||
JBoolObj SupportAdminContactInfo; //支持设置管理员联系方式 | |||||
JBoolObj SupportWarnWeakPWD; //显示弱密码提醒 | |||||
JBoolObj SupportStringChangedXPOE; //支持通道模式显示为XPOE | |||||
JBoolObj SupportAlarmVoiceTipsType; //支持报警提示音类型修改 | |||||
JBoolObj SupportAcrossIPCTalk; //支持前端IPC对讲 | |||||
JBoolObj SupportSetVolume; //支持设置喇叭音量 | |||||
JBoolObj SupportFaceDetectV2; | |||||
JBoolObj SupportFaceksHumanDetect; //支持旷视人形检测 | |||||
JBoolObj SupportFacekshttpcommunication; //支持旷视http传输 | |||||
JBoolObj SupportFaceRecognition; //支持人脸识别 | |||||
JBoolObj SupportCustomizeLpRect; //是否支持任意形状的车位 | |||||
public: | |||||
OtherFunction(JObject *pParent = NULL, const char *szName = JK_OtherFunction): | |||||
JObject(pParent,szName), | |||||
DownLoadPause(this, "DownLoadPause"), | |||||
USBsupportRecord(this, "USBsupportRecord"), | |||||
SDsupportRecord(this, "SDsupportRecord"), | |||||
SupportOnvifClient(this, "SupportOnvifClient"), | |||||
SupportNetLocalSearch(this, "SupportNetLocalSearch"), | |||||
SupportMaxPlayback(this, "SupportMaxPlayback"), | |||||
SupportNVR(this, "SupportNVR"), | |||||
SupportC7Platform(this, "SupportC7Platform"), | |||||
SupportMailTest(this, "SupportMailTest"), | |||||
SupportOSDInfo(this, "SupportOSDInfo"), | |||||
HideDigital(this, "HideDigital"), | |||||
NotSupportAH(this, "NotSupportAH"), | |||||
NotSupportAV(this, "NotSupportAV"), | |||||
SupportBT(this, "SupportBT"), | |||||
NotSupportTalk(this, "NotSupportTalk"), | |||||
AlterDigitalName(this, "AlterDigitalName"), | |||||
SupportShowConnectStatus(this, "SupportShowConnectStatus"), | |||||
SupportPlayBackExactSeek(this, "SupportPlayBackExactSeek"), | |||||
TitleAndStateUpload(this, "TitleAndStateUpload"), | |||||
NOHDDRECORD(this, "NOHDDRECORD"), | |||||
MusicFilePlay(this, "MusicFilePlay"), | |||||
SupportSetDigIP(this, "SupportSetDigIP"), | |||||
SupportShowProductType(this, "SupportShowProductType"), | |||||
SupportCamareStyle(this, "SupportCamareStyle"), | |||||
Supportonviftitle(this, "Supportonviftitle"), | |||||
SupportDimenCode(this, "SupportDimenCode"), | |||||
SupportStorageNAS(this, "SupportStorageNAS"), | |||||
ShowFalseCheckTime(this, "ShowFalseCheckTime"), | |||||
SupportTimeZone(this, "SupportTimeZone"), | |||||
ShowAlarmLevelRegion(this, "ShowAlarmLevelRegion"), | |||||
SupportPOS(this, "SupportPOS"), | |||||
HddLowSpaceUseMB(this, "HddLowSpaceUseMB"), | |||||
SupportCustomOemInfo(this, "SupportCustomOemInfo"), | |||||
SupportDigitalEncode(this, "SupportDigitalEncode"), | |||||
SupportResumePtzState(this, "SupportResumePtzState"), | |||||
SupportSnapCfg(this, "SupportSnapCfg"), | |||||
SupportAbnormitySendMail(this, "SupportAbnormitySendMail"), | |||||
SupportDigitalPre(this, "SupportDigitalPre"), | |||||
SupportWriteLog(this, "SupportWriteLog"), | |||||
SuppportChangeOnvifPort(this, "SuppportChangeOnvifPort"), | |||||
SupportCommDataUpload(this, "SupportCommDataUpload"), | |||||
SupportTextPassword(this, "SupportTextPassword"), | |||||
SupportCloudUpgrade(this, "SupportCloudUpgrade"), | |||||
SupportUserProgram(this, "SupportUserProgram"), | |||||
SupportModifyFrontcfg(this, "SupportModifyFrontcfg"), | |||||
SupportFTPTest(this, "SupportFTPTest"), | |||||
SupportPtzIdleState(this, "SupportPtzIdleState"), | |||||
SupportImpRecord(this, "SupportImpRecord"), | |||||
SupportCameraMotorCtrl(this, "SupportCameraMotorCtrl"), | |||||
SupportEncodeAddBeep(this, "SupportEncodeAddBeep"), | |||||
SupportFishEye(this, "SupportFishEye"), | |||||
SupportSPVMNNasServer(this, "SupportSPVMNNasServer"), | |||||
SupportSmallChnTitleFont(this, "SupportSmallChnTitleFont"), | |||||
SupportCfgCloudupgrad(this, "SupportCfgCloudupgrad"), | |||||
SupportStorageFailReboot(this, "SupportStorageFailReboot"), | |||||
SupportSplitControl(this, "SupportSplitControl"), | |||||
SupportRTSPClient(this, "SupportRTSPClient"), | |||||
SupportLowLuxMode(this, "SupportLowLuxMode"), | |||||
SupportSwitchResolution(this, "SupportSwitchResolution"), | |||||
SupportSlowMotion(this, "SupportSlowMotion"), | |||||
SupportCorridorMode(this, "SupportCorridorMode"), | |||||
SupportWIFINVR(this, "SupportWIFINVR"), | |||||
SupportSnapSchedule(this, "SupportSnapSchedule"), | |||||
SupportPWDSafety(this, "SupportPWDSafety"), | |||||
SupportPlateDetect(this, "SupportPlateDetect"), | |||||
SupportBreviary(this, "SupportBreviary"), | |||||
SupportIntelligentPlayBack(this, "SupportIntelligentPlayBack"), | |||||
SupportFaceDetect(this, "SupportFaceDetect"), | |||||
SupportDeviceInfoNew(this, "SupportDeviceInfoNew"), | |||||
SupportBallCameraTrackDetect(this, "SupportBallCameraTrackDetect"), | |||||
SpecialNight(this, "SpecialNight"), | |||||
SupportSetHardwareAbility(this, "SupportSetHardwareAbility"), | |||||
SupportSafetyEmail(this, "SupportSafetyEmail"), | |||||
SupportSensorAbilitySetting(this, "SupportSensorAbilitySetting"), | |||||
SupportAlarmVoiceTips(this, "SupportAlarmVoiceTips"), | |||||
SupportAlarmLinkLight(this, "SupportAlarmLinkLight"), | |||||
SupportSetRtcTime(this, "SupportSetRtcTime"), | |||||
SupportAudioFormat(this, "SupportAudioFormat"), | |||||
SupportSoftPhotosensitive(this, "SupportSoftPhotosensitive"), | |||||
SupportCloudUpgradeIPC(this, "SupportCloudUpgradeIPC"), | |||||
SupportFileUpgradeIPC(this, "SupportFileUpgradeIPC"), | |||||
SupportParkingGuide(this, "SupportParkingGuide"), | |||||
SupportLimitNetLoginUsers(this, "SupportLimitNetLoginUsers"), | |||||
SupportCoaxialParamCtrl(this, "SupportCoaxialParamCtrl"), | |||||
SupportShowH265X(this, "SupportShowH265X"), | |||||
SupportLogStorageCtrl(this, "SupportLogStorageCtrl"), | |||||
SupportAdminContactInfo(this, "SupportAdminContactInfo"), | |||||
SupportWarnWeakPWD(this, "SupportWarnWeakPWD"), | |||||
SupportStringChangedXPOE(this, "SupportStringChangedXPOE"), | |||||
SupportAlarmVoiceTipsType(this, "SupportAlarmVoiceTipsType"), | |||||
SupportAcrossIPCTalk(this, "SupportAcrossIPCTalk"), | |||||
SupportSetVolume(this, "SupportSetVolume"), | |||||
SupportFaceDetectV2(this, "SupportFaceDetectV2"), | |||||
SupportFaceksHumanDetect(this, "SupportFaceksHumanDetect"), | |||||
SupportFacekshttpcommunication(this, "SupportFacekshttpcommunication"), | |||||
SupportFaceRecognition(this, "SupportFaceRecognition"), | |||||
SupportCustomizeLpRect(this, "SupportCustomizeLpRect"){ | |||||
}; | |||||
~OtherFunction(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,36 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
#include "CFG_AUX.h" | |||||
#include "JPOINT.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_Parameter "Parameter" | |||||
class Parameter : public JObject | |||||
{ | |||||
public: | |||||
AUX mAUX; | |||||
JIntObj Channel; | |||||
JStrObj MenuOpts; | |||||
JPOINT mPOINT; | |||||
JStrObj Pattern; | |||||
JIntObj Preset; | |||||
JIntObj Step; | |||||
JIntObj Tour; | |||||
public: | |||||
Parameter(JObject *pParent = NULL, const char *szName = JK_Parameter): | |||||
JObject(pParent,szName), | |||||
mAUX(this, "AUX"), | |||||
Channel(this, "Channel"), | |||||
MenuOpts(this, "MenuOpts"), | |||||
mPOINT(this, "POINT"), | |||||
Pattern(this, "Pattern"), | |||||
Preset(this, "Preset"), | |||||
Step(this, "Step"), | |||||
Tour(this, "Tour"){ | |||||
}; | |||||
~Parameter(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,38 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_Partition "Partition" | |||||
class Partition : public JObject //硬盘相关 | |||||
{ | |||||
public: | |||||
JIntObj DirverType; | |||||
JBoolObj IsCurrent; | |||||
JIntObj LogicSerialNo; | |||||
JStrObj NewEndTime; | |||||
JStrObj NewStartTime; | |||||
JStrObj OldEndTime; | |||||
JStrObj OldStartTime; | |||||
JIntHex RemainSpace; | |||||
JIntObj Status; | |||||
JIntHex TotalSpace; | |||||
public: | |||||
Partition(JObject *pParent = NULL, const char *szName = JK_Partition): | |||||
JObject(pParent,szName), | |||||
DirverType(this, "DirverType"), | |||||
IsCurrent(this, "IsCurrent"), | |||||
LogicSerialNo(this, "LogicSerialNo"), | |||||
NewEndTime(this, "NewEndTime"), | |||||
NewStartTime(this, "NewStartTime"), | |||||
OldEndTime(this, "OldEndTime"), | |||||
OldStartTime(this, "OldStartTime"), | |||||
RemainSpace(this, "RemainSpace"), | |||||
Status(this, "Status"), | |||||
TotalSpace(this, "TotalSpace"){ | |||||
}; | |||||
~Partition(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,28 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_PowerSocketAutoLightItem "" | |||||
class PowerSocketAutoLightItem : public JObject | |||||
{ | |||||
public: | |||||
JIntObj DayStop; | |||||
JBoolObj Enable; | |||||
JIntObj TimeStop; | |||||
JIntObj TimeStart; | |||||
JIntObj DayStart; | |||||
public: | |||||
PowerSocketAutoLightItem(JObject *pParent = NULL, const char *szName = JK_PowerSocketAutoLightItem): | |||||
JObject(pParent,szName), | |||||
DayStop(this, "DayStop"), | |||||
Enable(this, "Enable"), | |||||
TimeStop(this, "TimeStop"), | |||||
TimeStart(this, "TimeStart"), | |||||
DayStart(this, "DayStart"){ | |||||
}; | |||||
~PowerSocketAutoLightItem(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,28 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_PowerSocketAutoSwitchItem "" | |||||
class PowerSocketAutoSwitchItem : public JObject | |||||
{ | |||||
public: | |||||
JIntObj TimeStart; | |||||
JIntObj TimeStop; | |||||
JIntObj DayStart; | |||||
JIntObj DayStop; | |||||
JBoolObj Enable; | |||||
public: | |||||
PowerSocketAutoSwitchItem(JObject *pParent = NULL, const char *szName = JK_PowerSocketAutoSwitchItem): | |||||
JObject(pParent,szName), | |||||
TimeStart(this, "TimeStart"), | |||||
TimeStop(this, "TimeStop"), | |||||
DayStart(this, "DayStart"), | |||||
DayStop(this, "DayStop"), | |||||
Enable(this, "Enable"){ | |||||
}; | |||||
~PowerSocketAutoSwitchItem(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,28 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_PowerSocketAutoUsbItem "PowerSocketAutoUsbItem" | |||||
class PowerSocketAutoUsbItem : public JObject | |||||
{ | |||||
public: | |||||
JIntObj DayStop; | |||||
JBoolObj Enable; | |||||
JIntObj TimeStop; | |||||
JIntObj TimeStart; | |||||
JIntObj DayStart; | |||||
public: | |||||
PowerSocketAutoUsbItem(JObject *pParent = NULL, const char *szName = JK_PowerSocketAutoUsbItem): | |||||
JObject(pParent,szName), | |||||
DayStop(this, "DayStop"), | |||||
Enable(this, "Enable"), | |||||
TimeStop(this, "TimeStop"), | |||||
TimeStart(this, "TimeStart"), | |||||
DayStart(this, "DayStart"){ | |||||
}; | |||||
~PowerSocketAutoUsbItem(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,20 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_PowerSocket_Arm "PowerSocket.Arm" | |||||
class PowerSocket_Arm : public JObject | |||||
{ | |||||
public: | |||||
JIntObj Guard; | |||||
public: | |||||
PowerSocket_Arm(JObject *pParent = NULL, const char *szName = JK_PowerSocket_Arm): | |||||
JObject(pParent,szName), | |||||
Guard(this, "Guard"){ | |||||
}; | |||||
~PowerSocket_Arm(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,22 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_PowerSocket_Authority "PowerSocket.Authority" | |||||
class PowerSocket_Authority : public JObject | |||||
{ | |||||
public: | |||||
JIntObj Level; | |||||
JIntObj Ability; | |||||
public: | |||||
PowerSocket_Authority(JObject *pParent = NULL, const char *szName = JK_PowerSocket_Authority): | |||||
JObject(pParent,szName), | |||||
Level(this, "Level"), | |||||
Ability(this, "Ability"){ | |||||
}; | |||||
~PowerSocket_Authority(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_BEGIN |
@@ -0,0 +1,21 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
#include "PowerSocketAutoLightItem.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_PowerSocket_AutoLight "PowerSocket.AutoLight" | |||||
class PowerSocket_AutoLight : public JObject | |||||
{ | |||||
public: | |||||
JObjArray<PowerSocketAutoLightItem> AutoLight; | |||||
public: | |||||
PowerSocket_AutoLight(JObject *pParent = NULL, const char *szName = JK_PowerSocket_AutoLight): | |||||
JObject(pParent,szName), | |||||
AutoLight(this, ""){ | |||||
}; | |||||
~PowerSocket_AutoLight(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,21 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
#include "PowerSocketAutoSwitchItem.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_PowerSocket_AutoSwitch "PowerSocket.AutoSwitch" | |||||
class PowerSocket_AutoSwitch : public JObject | |||||
{ | |||||
public: | |||||
JObjArray<PowerSocketAutoSwitchItem> AutoSwitch; | |||||
public: | |||||
PowerSocket_AutoSwitch(JObject *pParent = NULL, const char *szName = JK_PowerSocket_AutoSwitch): | |||||
JObject(pParent,szName), | |||||
AutoSwitch(this, ""){ | |||||
}; | |||||
~PowerSocket_AutoSwitch(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,21 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
#include "PowerSocketAutoUsbItem.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_PowerSocket_AutoUsb "PowerSocket.AutoUsb" | |||||
class PowerSocket_AutoUsb : public JObject | |||||
{ | |||||
public: | |||||
JObjArray<PowerSocketAutoUsbItem> AutoUsb; | |||||
public: | |||||
PowerSocket_AutoUsb(JObject *pParent = NULL, const char *szName = JK_PowerSocket_AutoUsb): | |||||
JObject(pParent,szName), | |||||
AutoUsb(this, ""){ | |||||
}; | |||||
~PowerSocket_AutoUsb(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,20 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_PowerSocket_BanLed "PowerSocket.BanLed" | |||||
class PowerSocket_BanLed : public JObject | |||||
{ | |||||
public: | |||||
JIntObj Banstatus; | |||||
public: | |||||
PowerSocket_BanLed(JObject *pParent = NULL, const char *szName = JK_PowerSocket_BanLed): | |||||
JObject(pParent,szName), | |||||
Banstatus(this, "Banstatus"){ | |||||
}; | |||||
~PowerSocket_BanLed(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,26 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_PowerSocket_DelaySwitch "PowerSocket.DelaySwitch" | |||||
class PowerSocket_DelaySwitch : public JObject | |||||
{ | |||||
public: | |||||
JIntObj PeriodOn; | |||||
JIntObj PeriodOff; | |||||
JIntObj Mode; | |||||
JIntObj Enable; | |||||
public: | |||||
PowerSocket_DelaySwitch(JObject *pParent = NULL, const char *szName = JK_PowerSocket_DelaySwitch): | |||||
JObject(pParent,szName), | |||||
PeriodOn(this, "PeriodOn"), | |||||
PeriodOff(this, "PeriodOff"), | |||||
Mode(this, "Mode"), | |||||
Enable(this, "Enable"){ | |||||
}; | |||||
~PowerSocket_DelaySwitch(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,20 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_PowerSocket_Image "PowerSocket.Image" | |||||
class PowerSocket_Image : public JObject | |||||
{ | |||||
public: | |||||
JIntObj flip; | |||||
public: | |||||
PowerSocket_Image(JObject *pParent = NULL, const char *szName = JK_PowerSocket_Image): | |||||
JObject(pParent,szName), | |||||
flip(this, "flip"){ | |||||
}; | |||||
~PowerSocket_Image(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,20 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_PowerSocket_Sensitive "PowerSocket.Sensitive" | |||||
class PowerSocket_Sensitive : public JObject | |||||
{ | |||||
public: | |||||
JIntObj Sensitive; | |||||
public: | |||||
PowerSocket_Sensitive(JObject *pParent = NULL, const char *szName = JK_PowerSocket_Sensitive): | |||||
JObject(pParent,szName), | |||||
Sensitive(this, "Sensitive"){ | |||||
}; | |||||
~PowerSocket_Sensitive(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,34 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_PowerSocket_WorkRecord "PowerSocket.WorkRecord" | |||||
class PowerSocket_WorkRecord : public JObject | |||||
{ | |||||
public: | |||||
JIntObj TotalEnergy; | |||||
JIntObj TotalTime; | |||||
JIntObj EnergyOfThisMon; | |||||
JIntObj TimeOfThisMon; | |||||
JIntObj EnergyRecently; | |||||
JIntObj TimeRecently; | |||||
JIntObj DeviceType; | |||||
JIntObj DevicePower; | |||||
public: | |||||
PowerSocket_WorkRecord(JObject *pParent = NULL, const char *szName = JK_PowerSocket_WorkRecord): | |||||
JObject(pParent,szName), | |||||
TotalEnergy(this, "TotalEnergy"), | |||||
TotalTime(this, "TotalTime"), | |||||
EnergyOfThisMon(this, "EnergyOfThisMon"), | |||||
TimeOfThisMon(this, "TimeOfThisMon"), | |||||
EnergyRecently(this, "EnergyRecently"), | |||||
TimeRecently(this, "TimeRecently"), | |||||
DeviceType(this, "DeviceType"), | |||||
DevicePower(this, "DevicePower"){ | |||||
}; | |||||
~PowerSocket_WorkRecord(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,22 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_PreviewFunction "PreviewFunction" | |||||
class PreviewFunction : public JObject | |||||
{ | |||||
public: | |||||
JBoolObj GUISet; | |||||
JBoolObj Tour; | |||||
public: | |||||
PreviewFunction(JObject *pParent = NULL, const char *szName = JK_PreviewFunction): | |||||
JObject(pParent,szName), | |||||
GUISet(this, "GUISet"), | |||||
Tour(this, "Tour"){ | |||||
}; | |||||
~PreviewFunction(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,37 @@ | |||||
#pragma once | |||||
#include "JsonCfgBase.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
/////////////////////////录像模式字符串及其注释////////////////////// | |||||
#define RECORD_MODE_CLOSED "ClosedRecord" ///< 关闭录像 | |||||
#define RECORD_MODE_MANUAL "ManualRecord" ///< 手动录像 | |||||
#define RECORD_MODE_CONFIG "ConfigRecord" ///< 按配置录像 | |||||
#define JK_Record "Record" | |||||
class RecordCfg : public JObject | |||||
{ | |||||
public: | |||||
JObjArray<JObjArray<JIntHex> > Mask; ///< 录像类型掩码 | |||||
JIntObj PacketLength; ///< 录像打包长度(分钟)[1, 255] | |||||
JIntObj PreRecord; ///< 预录时间,为零时表示关闭 | |||||
JStrObj RecordMode; ///< 录像模式 | |||||
JBoolObj Redundancy; ///< 冗余开关 | |||||
JObjArray<JObjArray<JStrObj> > TimeSection; ///< 录像时间段 | |||||
public: | |||||
RecordCfg(JObject *pParent = NULL, const char *szName = JK_Record): | |||||
JObject(pParent,szName), | |||||
Mask(this, "Mask"), | |||||
PacketLength(this, "PacketLength"), | |||||
PreRecord(this, "PreRecord"), | |||||
RecordMode(this, "RecordMode"), | |||||
Redundancy(this, "Redundancy"), | |||||
TimeSection(this, "TimeSection"){ | |||||
}; | |||||
~RecordCfg(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,21 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_SensorHXGetLightLux "SensorHXGetLightLux" | |||||
class SensorHXGetLightLux : public JObject | |||||
{ | |||||
public: | |||||
JIntObj Channel; | |||||
public: | |||||
SensorHXGetLightLux(JObject *pParent = NULL, const char *szName = JK_SensorHXGetLightLux): | |||||
JObject(pParent,szName), | |||||
Channel(this, "Channel"){ | |||||
this->Parse("{\"Name\" : \"SensorHXGetLightLux\",\"SensorHXGetLightLux\" : {\"Channel\" :0}}"); | |||||
}; | |||||
~SensorHXGetLightLux(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,22 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_SensorHXGetLightLuxEx "SensorHXGetLightLux" | |||||
class SensorHXGetLightLuxEx : public JObject | |||||
{ | |||||
public: | |||||
JIntObj Channel; | |||||
JStrObj Info; | |||||
public: | |||||
SensorHXGetLightLuxEx(JObject *pParent = NULL, const char *szName = JK_SensorHXGetLightLuxEx): | |||||
JObject(pParent,szName), | |||||
Channel(this, "Channel"), | |||||
Info(this, "Info"){ | |||||
}; | |||||
~SensorHXGetLightLuxEx(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,21 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_SensorHXGetTempWet "SensorHXGetTempWet" | |||||
class SensorHXGetTempWet : public JObject | |||||
{ | |||||
public: | |||||
JIntObj Channel; | |||||
public: | |||||
SensorHXGetTempWet(JObject *pParent = NULL, const char *szName = JK_SensorHXGetTempWet): | |||||
JObject(pParent,szName), | |||||
Channel(this, "Channel"){ | |||||
this->Parse("{\"Name\" : \"SensorHXGetTempWet\",\"SensorHXGetTempWet\" : {\"Channel\" :0}}"); | |||||
}; | |||||
~SensorHXGetTempWet(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,22 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_SensorHXGetTempWetEx "SensorHXGetTempWet" | |||||
class SensorHXGetTempWetEx : public JObject | |||||
{ | |||||
public: | |||||
JIntObj Channel; | |||||
JStrObj Info; | |||||
public: | |||||
SensorHXGetTempWetEx(JObject *pParent = NULL, const char *szName = JK_SensorHXGetTempWetEx): | |||||
JObject(pParent,szName), | |||||
Channel(this, "Channel"), | |||||
Info(this, "Info"){ | |||||
}; | |||||
~SensorHXGetTempWetEx(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,21 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_SensorHXManualWakeUp "SensorHXManualWakeUp" | |||||
class SensorHXManualWakeUp : public JObject | |||||
{ | |||||
public: | |||||
JIntObj Channel; | |||||
public: | |||||
SensorHXManualWakeUp(JObject *pParent = NULL, const char *szName = JK_SensorHXManualWakeUp): | |||||
JObject(pParent,szName), | |||||
Channel(this, "Channel"){ | |||||
this->Parse("{\"Name\" : \"SensorHXManualWakeUp\",\"SensorHXManualWakeUp\" : {\"Channel\" :0}}"); | |||||
}; | |||||
~SensorHXManualWakeUp(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,23 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_SensorHXSetMicMode "SensorHXSetMicMode" | |||||
class SensorHXSetMicMode : public JObject | |||||
{ | |||||
public: | |||||
JIntObj Channel; | |||||
JStrObj Mode; | |||||
public: | |||||
SensorHXSetMicMode(JObject *pParent = NULL, const char *szName = JK_SensorHXSetMicMode): | |||||
JObject(pParent,szName), | |||||
Channel(this, "Channel"), | |||||
Mode(this, "Mode"){ | |||||
this->Parse("{\"Name\" : \"SensorHXSetMicMode\",\"SensorHXSetMicMode\" : {\"Channel\" :0,\"Mode\" : \"VoiceWakeUp\"}}"); | |||||
}; | |||||
~SensorHXSetMicMode(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,24 @@ | |||||
#pragma once | |||||
#include "JObject_NetSDK.h" | |||||
#include "ExtraFormat.h" | |||||
#include "MainFormat.h" | |||||
NS_NETSDK_CFG_BEGIN | |||||
#define JK_Simplify_Encode "Simplify.Encode" | |||||
class Simplify_Encode : public JObject | |||||
{ | |||||
public: | |||||
ExtraFormat mExtraFormat; ///Ö÷ÂëÁ÷ | |||||
MainFormat mMainFormat; ///¸¨ÂëÁ÷ | |||||
public: | |||||
Simplify_Encode(JObject *pParent = NULL, const char *szName = JK_Simplify_Encode): | |||||
JObject(pParent,szName), | |||||
mExtraFormat(this, "ExtraFormat"), | |||||
mMainFormat(this, "MainFormat"){ | |||||
}; | |||||
~Simplify_Encode(void){}; | |||||
}; | |||||
NS_NETSDK_CFG_END |
@@ -0,0 +1,19 @@ | |||||
#pragma once | |||||
#include "JsonCfgBase.h" | |||||
#define JK_Status_NatInfo "Status.NatInfo" | |||||
class Status_NatInfo : public JObject //网络状态头文件 | |||||
{ | |||||
public: | |||||
JStrObj NaInfoCode; | |||||
JStrObj NatStatus; | |||||
public: | |||||
Status_NatInfo(JObject *pParent = NULL, const char *szName = JK_Status_NatInfo): | |||||
JObject(pParent,szName), | |||||
NaInfoCode(this, "NaInfoCode"), | |||||
NatStatus(this, "NatStatus"){ | |||||
}; | |||||
~Status_NatInfo(void){}; | |||||
}; |