You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

128 lines
3.6 KiB

  1. // XNetSDKTest.h : 定义控制台应用程序的入口点。
  2. //
  3. #include <string.h>
  4. #include <stdlib.h>
  5. #include <iostream>
  6. #include <stdio.h>
  7. #include <map>
  8. #include <time.h>
  9. #include "XNetSDK.h"
  10. #include "TestFuns.h"
  11. #include "Camera_Param.h"
  12. using namespace std;
  13. extern XSDK_HANDLE g_hDevice;
  14. extern XSDK_HANDLE hDeviceArr[6];
  15. extern char DeviceIdArr[6][128];
  16. extern SXMediaRecordByFileReq info;
  17. extern bool bFindFile;
  18. // 测试设备系统配置
  19. int TestDevSystemConfig();
  20. //测试相机相关配置
  21. int TestCameraConfig();
  22. //测试编码格式配置
  23. int TestEncodeConfig();
  24. // 测试设备云台功能
  25. int TestDevPTZ();
  26. //接收设备返回的配置数据(调用异步接口XSDK_DevGetSysConfig/XSDK_DevGetChnConfig时用)
  27. void OnDevConfig(int nMsgId, int nResult, const char *szCfgName, const char *szResult, int nResultLen, int nSeq);
  28. // 测试录像查询
  29. int TestDevFindFile();
  30. void OnDevFindFile(int nResult, SXSDKQueryRecordRes *pFiles, int nCount, int nSeq);
  31. // 设备设备报警回调
  32. int TestDevAlarmCallback();
  33. void OnDevAlarmCallback(XSDK_HANDLE hDevice, const char *szAlarm);
  34. // 测试实时视频
  35. int TestMediaRealPlay();
  36. // 设备录像回放
  37. int TestMediaRecordPlay();
  38. // 测试人脸抓图
  39. int TestMediaFaceImage();
  40. // 设备搜索
  41. int TestDevSearch();
  42. void OnDevSearchResult(int nResult, SXSDK_CONFIG_NET_COMMON *pDevs, int nCount);
  43. //修改设备密码
  44. int TestModifyPassword();
  45. //恢复默认配置
  46. int TestSetDefaultConfig();
  47. //测试录像下载
  48. int TestDownload();
  49. //测试控制设备(重启和关机)
  50. int TestOPMachine();
  51. //测试控制设备
  52. //接收设备返回的配置数据
  53. extern XSDK_HANDLE g_hDasServer;
  54. void OnDASServerStart(XSDK_HANDLE hServer, int nResult);
  55. void OnDASDeviceReg(XSDK_HANDLE hDevice, SXSDKDASDeviceInfo *pDevInfo,int dPos);
  56. int TestDASServer();
  57. // 测试设备通道抓图
  58. void OnDevSnap(int nResult, const char *pData, int nDataLen, int nSeq);
  59. int TestDevSnap();
  60. //测试升级设备程序
  61. int TestUpgrade();
  62. void OnUpgradeCallback(EUpgradeStep nStep, int process, int nTotalSize);
  63. //测试打开透明串口
  64. int TestOpenTransChannel();
  65. void OnTransCommCallback(XSDK_HANDLE hDevice, const char *szData);
  66. ////测试向串口写数据
  67. int TestSerialWrite();
  68. ////测试对讲
  69. int TestDevTalk();
  70. //日志查询
  71. int TestOPLogQuery();
  72. ///视频叠加
  73. int TestOSDInfo();
  74. ////图像参数配置
  75. int TestVideoCfg();
  76. ////设置巡航点
  77. int XSDK_SetPtzTourPoint(XSDK_HANDLE hDevice, int nChannel, int nPresetPoint, int nStep, int nTourIndex, bool bAdd);
  78. ////云台预置点及巡航
  79. int TestPTZPreset();
  80. /////按文件名称下载(一般用于下载存储在SD卡上的图片)
  81. int TestDownloadByName();
  82. typedef struct SDK_VIDEO_FORMAT
  83. {
  84. int iCompression; // 压缩模式(视频格式) 参照enum SDK_CAPTURE_COMP_t
  85. int iResolution; // 分辨率 参照枚举SDK_CAPTURE_SIZE_t
  86. int iBitRateControl; // 码流控制 参照枚举SDK_capture_brc_t
  87. int iQuality; // 码流的画质 档次1-6
  88. int nFPS; // 帧率值,NTSC/PAL不区分,负数表示多秒一帧
  89. int nBitRate; // 0-4096k,该列表主要由客户端保存,设备只接收实际的码流值而不是下标。
  90. int iGOP; // 描述两个I帧之间的间隔时间,2-12
  91. } SDK_VIDEO_FORMAT;
  92. ///计算码流值
  93. void CalculateCodeStreamValue(SDK_VIDEO_FORMAT * vfSetFormat, bool bLowBitrate, bool bFisheyeBitrate, bool bH265Bitrate);
  94. //用于获取支持的分辨率
  95. void GetMaxResolAndRate(int &nResolu, int &nRate, long lFreePower);
  96. void GetSupportRes(int maxSize, unsigned long dwMask );