Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

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