| @@ -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){}; | |||||
| }; | |||||