// XNetSDKTest.h : 定义控制台应用程序的入口点。 // #include #include #include #include #include #include #include "XNetSDK.h" #include "TestFuns.h" #include "Camera_Param.h" using namespace std; extern XSDK_HANDLE g_hDevice; extern XSDK_HANDLE hDeviceArr[6]; extern char DeviceIdArr[6][128]; extern SXMediaRecordByFileReq info; extern bool bFindFile; // 测试设备系统配置 int TestDevSystemConfig(); //测试相机相关配置 int TestCameraConfig(); //测试编码格式配置 int TestEncodeConfig(); // 测试设备云台功能 int TestDevPTZ(); //接收设备返回的配置数据(调用异步接口XSDK_DevGetSysConfig/XSDK_DevGetChnConfig时用) void OnDevConfig(int nMsgId, int nResult, const char *szCfgName, const char *szResult, int nResultLen, int nSeq); // 测试录像查询 int TestDevFindFile(); void OnDevFindFile(int nResult, SXSDKQueryRecordRes *pFiles, int nCount, int nSeq); // 设备设备报警回调 int TestDevAlarmCallback(); void OnDevAlarmCallback(XSDK_HANDLE hDevice, const char *szAlarm); // 测试实时视频 int TestMediaRealPlay(); // 设备录像回放 int TestMediaRecordPlay(); // 测试人脸抓图 int TestMediaFaceImage(); // 设备搜索 int TestDevSearch(); void OnDevSearchResult(int nResult, SXSDK_CONFIG_NET_COMMON *pDevs, int nCount); //修改设备密码 int TestModifyPassword(); //恢复默认配置 int TestSetDefaultConfig(); //测试录像下载 int TestDownload(); //测试控制设备(重启和关机) int TestOPMachine(); //测试控制设备 //接收设备返回的配置数据 extern XSDK_HANDLE g_hDasServer; void OnDASServerStart(XSDK_HANDLE hServer, int nResult); void OnDASDeviceReg(XSDK_HANDLE hDevice, SXSDKDASDeviceInfo *pDevInfo,int dPos); int TestDASServer(); // 测试设备通道抓图 void OnDevSnap(int nResult, const char *pData, int nDataLen, int nSeq); int TestDevSnap(); //测试升级设备程序 int TestUpgrade(); void OnUpgradeCallback(EUpgradeStep nStep, int process, int nTotalSize); //测试打开透明串口 int TestOpenTransChannel(); void OnTransCommCallback(XSDK_HANDLE hDevice, const char *szData); ////测试向串口写数据 int TestSerialWrite(); ////测试对讲 int TestDevTalk(); //日志查询 int TestOPLogQuery(); ///视频叠加 int TestOSDInfo(); ////图像参数配置 int TestVideoCfg(); ////设置巡航点 int XSDK_SetPtzTourPoint(XSDK_HANDLE hDevice, int nChannel, int nPresetPoint, int nStep, int nTourIndex, bool bAdd); ////云台预置点及巡航 int TestPTZPreset(); /////按文件名称下载(一般用于下载存储在SD卡上的图片) int TestDownloadByName(); typedef struct SDK_VIDEO_FORMAT { int iCompression; // 压缩模式(视频格式) 参照enum SDK_CAPTURE_COMP_t int iResolution; // 分辨率 参照枚举SDK_CAPTURE_SIZE_t int iBitRateControl; // 码流控制 参照枚举SDK_capture_brc_t int iQuality; // 码流的画质 档次1-6 int nFPS; // 帧率值,NTSC/PAL不区分,负数表示多秒一帧 int nBitRate; // 0-4096k,该列表主要由客户端保存,设备只接收实际的码流值而不是下标。 int iGOP; // 描述两个I帧之间的间隔时间,2-12 } SDK_VIDEO_FORMAT; ///计算码流值 void CalculateCodeStreamValue(SDK_VIDEO_FORMAT * vfSetFormat, bool bLowBitrate, bool bFisheyeBitrate, bool bH265Bitrate); //用于获取支持的分辨率 void GetMaxResolAndRate(int &nResolu, int &nRate, long lFreePower); void GetSupportRes(int maxSize, unsigned long dwMask );