__all__ = ['ErrorMsg', 'ErrorCode', 'get_error_msg']


class ErrorCode:
    NET_DVR_NOERROR = 0
    NET_DVR_PASSWORD_ERROR = 1
    NET_DVR_NOENOUGHPRI = 2
    NET_DVR_NOINIT = 3
    NET_DVR_CHANNEL_ERROR = 4
    NET_DVR_OVER_MAXLINK = 5
    NET_DVR_VERSIONNOMATCH = 6
    NET_DVR_NETWORK_FAIL_CONNECT = 7
    NET_DVR_NETWORK_SEND_ERROR = 8
    NET_DVR_NETWORK_RECV_ERROR = 9
    NET_DVR_NETWORK_RECV_TIMEOUT = 10
    NET_DVR_NETWORK_ERRORDATA = 11
    NET_DVR_ORDER_ERROR = 12
    NET_DVR_OPERNOPERMIT = 13
    NET_DVR_COMMANDTIMEOUT = 14
    NET_DVR_ERRORSERIALPORT = 15
    NET_DVR_ERRORALARMPORT = 16
    NET_DVR_PARAMETER_ERROR = 17
    NET_DVR_CHAN_EXCEPTION = 18
    NET_DVR_NODISK = 19
    NET_DVR_ERRORDISKNUM = 20
    NET_DVR_DISK_FULL = 21
    NET_DVR_DISK_ERROR = 22
    NET_DVR_NOSUPPORT = 23
    NET_DVR_BUSY = 24
    NET_DVR_MODIFY_FAIL = 25
    NET_DVR_PASSWORD_FORMAT_ERROR = 26
    NET_DVR_DISK_FORMATING = 27
    NET_DVR_DVRNORESOURCE = 28
    NET_DVR_DVROPRATEFAILED = 29
    NET_DVR_OPENHOSTSOUND_FAIL = 30
    NET_DVR_DVRVOICEOPENED = 31
    NET_DVR_TIMEINPUTERROR = 32
    NET_DVR_NOSPECFILE = 33
    NET_DVR_CREATEFILE_ERROR = 34
    NET_DVR_FILEOPENFAIL = 35
    NET_DVR_OPERNOTFINISH = 36
    NET_DVR_GETPLAYTIMEFAIL = 37
    NET_DVR_PLAYFAIL = 38
    NET_DVR_FILEFORMAT_ERROR = 39
    NET_DVR_DIR_ERROR = 40
    NET_DVR_ALLOC_RESOURCE_ERROR = 41
    NET_DVR_AUDIO_MODE_ERROR = 42
    NET_DVR_NOENOUGH_BUF = 43
    NET_DVR_CREATESOCKET_ERROR = 44
    NET_DVR_SETSOCKET_ERROR = 45
    NET_DVR_MAX_NUM = 46
    NET_DVR_USERNOTEXIST = 47
    NET_DVR_WRITEFLASHERROR = 48
    NET_DVR_UPGRADEFAIL = 49
    NET_DVR_CARDHAVEINIT = 50
    NET_DVR_PLAYERFAILED = 51
    NET_DVR_MAX_USERNUM = 52
    NET_DVR_GETLOCALIPANDMACFAIL = 53
    NET_DVR_NOENCODEING = 54
    NET_DVR_IPMISMATCH = 55
    NET_DVR_MACMISMATCH = 56
    NET_DVR_UPGRADELANGMISMATCH = 57
    NET_DVR_MAX_PLAYERPORT = 58
    NET_DVR_NOSPACEBACKUP = 59
    NET_DVR_NODEVICEBACKUP = 60
    NET_DVR_PICTURE_BITS_ERROR = 61
    NET_DVR_PICTURE_DIMENSION_ERROR = 62
    NET_DVR_PICTURE_SIZ_ERROR = 63
    NET_DVR_LOADPLAYERSDKFAILED = 64
    NET_DVR_LOADPLAYERSDKPROC_ERROR = 65
    NET_DVR_LOADDSSDKFAILED = 66
    NET_DVR_LOADDSSDKPROC_ERROR = 67
    NET_DVR_DSSDK_ERROR = 68
    NET_DVR_VOICEMONOPOLIZE = 69
    NET_DVR_JOINMULTICASTFAILED = 70
    NET_DVR_CREATEDIR_ERROR = 71
    NET_DVR_BINDSOCKET_ERROR = 72
    NET_DVR_SOCKETCLOSE_ERROR = 73
    NET_DVR_USERID_ISUSING = 74
    NET_DVR_SOCKETLISTEN_ERROR = 75
    NET_DVR_PROGRAM_EXCEPTION = 76
    NET_DVR_WRITEFILE_FAILED = 77
    NET_DVR_FORMAT_READONLY = 78
    NET_DVR_WITHSAMEUSERNAME = 79
    NET_DVR_DEVICETYPE_ERROR = 80
    NET_DVR_LANGUAGE_ERROR = 81
    NET_DVR_PARAVERSION_ERROR = 82
    NET_DVR_IPCHAN_NOTALIVE = 83
    NET_DVR_RTSP_SDK_ERROR = 84
    NET_DVR_CONVERT_SDK_ERROR = 85
    NET_DVR_IPC_COUNT_OVERFLOW = 86
    NET_DVR_MAX_ADD_NUM = 87
    NET_DVR_PARAMMODE_ERROR = 88
    NET_DVR_CODESPITTER_OFFLINE = 89
    NET_DVR_BACKUP_COPYING = 90
    NET_DVR_CHAN_NOTSUPPORT = 91
    NET_DVR_CALLINEINVALID = 92
    NET_DVR_CALCANCELCONFLICT = 93
    NET_DVR_CALPOINTOUTRANGE = 94
    NET_DVR_FILTERRECTINVALID = 95
    NET_DVR_DDNS_DEVOFFLINE = 96
    NET_DVR_DDNS_INTER_ERROR = 97
    NET_DVR_FUNCTION_NOT_SUPPORT_OS = 98
    NET_DVR_DEC_CHAN_REBIND = 99
    NET_DVR_INTERCOM_SDK_ERROR = 100
    NET_DVR_NO_CURRENT_UPDATEFILE = 101
    NET_DVR_USER_NOT_SUCC_LOGIN = 102
    NET_DVR_USE_LOG_SWITCH_FILE = 103
    NET_DVR_POOL_PORT_EXHAUST = 104
    NET_DVR_PACKET_TYPE_NOT_SUPPORT = 105
    NET_DVR_IPPARA_IPID_ERROR = 106
    NET_DVR_LOAD_HCPREVIEW_SDK_ERROR = 107
    NET_DVR_LOAD_HCVOICETALK_SDK_ERROR = 108
    NET_DVR_LOAD_HCALARM_SDK_ERROR = 109
    NET_DVR_LOAD_HCPLAYBACK_SDK_ERROR = 110
    NET_DVR_LOAD_HCDISPLAY_SDK_ERROR = 111
    NET_DVR_LOAD_HCINDUSTRY_SDK_ERROR = 112
    NET_DVR_LOAD_HCGENERALCFGMGR_SDK_ERROR = 113
    NET_DVR_LOAD_HCCOREDEVCFG_SDK_ERROR = 114
    NET_DVR_CORE_VER_MISMATCH = 121
    NET_DVR_CORE_VER_MISMATCH_HCPREVIEW = 122
    NET_DVR_CORE_VER_MISMATCH_HCVOICETALK = 123
    NET_DVR_CORE_VER_MISMATCH_HCALARM = 124
    NET_DVR_CORE_VER_MISMATCH_HCPLAYBACK = 125
    NET_DVR_CORE_VER_MISMATCH_HCDISPLAY = 126
    NET_DVR_CORE_VER_MISMATCH_HCINDUSTRY = 127
    NET_DVR_CORE_VER_MISMATCH_HCGENERALCFGMGR = 128
    NET_DVR_COM_VER_MISMATCH_HCPREVIEW = 136
    NET_DVR_COM_VER_MISMATCH_HCVOICETALK = 137
    NET_DVR_COM_VER_MISMATCH_HCALARM = 138
    NET_DVR_COM_VER_MISMATCH_HCPLAYBACK = 139
    NET_DVR_COM_VER_MISMATCH_HCDISPLAY = 140
    NET_DVR_COM_VER_MISMATCH_HCINDUSTRY = 141
    NET_DVR_COM_VER_MISMATCH_HCGENERALCFGMGR = 142
    NET_DVR_ALIAS_DUPLICATE = 150
    NET_DVR_USERNAME_NOT_EXIST = 152
    NET_ERR_USERNAME_LOCKED = 153
    NET_DVR_INVALID_USERID = 154
    NET_DVR_LOW_LOGIN_VERSION = 155
    NET_DVR_LOAD_LIBEAY32_DLL_ERROR = 156
    NET_DVR_LOAD_SSLEAY32_DLL_ERROR = 157
    NET_ERR_LOAD_LIBICONV = 158
    NET_DVR_TEST_SERVER_FAIL_CONNECT = 165
    NET_DVR_NAS_SERVER_INVALID_DIR = 166
    NET_DVR_NAS_SERVER_NOENOUGH_PRI = 167
    NET_DVR_EMAIL_SERVER_NOT_CONFIG_DNS = 168
    NET_DVR_EMAIL_SERVER_NOT_CONFIG_GATEWAY = 169
    NET_DVR_TEST_SERVER_PASSWORD_ERROR = 170
    NET_DVR_EMAIL_SERVER_CONNECT_EXCEPTION_WITH_SMTP = 171
    NET_DVR_FTP_SERVER_FAIL_CREATE_DIR = 172
    NET_DVR_FTP_SERVER_NO_WRITE_PIR = 173
    NET_DVR_IP_CONFLICT = 174
    NET_DVR_INSUFFICIENT_STORAGEPOOL_SPACE = 175
    NET_DVR_STORAGEPOOL_INVALID = 176
    NET_DVR_EFFECTIVENESS_REBOOT = 177
    NET_ERR_ANR_ARMING_EXIST = 178
    NET_ERR_UPLOADLINK_EXIST = 179
    NET_ERR_INCORRECT_FILE_FORMAT = 180
    NET_ERR_INCORRECT_FILE_CONTENT = 181
    NET_ERR_MAX_HRUDP_LINK = 182
    NET_SDK_ERR_MAX_PORT_MULTIPLEX = 183
    NET_SDK_ERR_CREATE_PORT_MULTIPLEX = 184
    # 阵列错误码
    NET_DVR_NAME_NOT_ONLY = 200
    NET_DVR_OVER_MAX_ARRAY = 201
    NET_DVR_OVER_MAX_VD = 202
    NET_DVR_VD_SLOT_EXCEED = 203
    NET_DVR_PD_STATUS_INVALID = 204
    NET_DVR_PD_BE_DEDICATE_SPARE = 205
    NET_DVR_PD_NOT_FREE = 206
    NET_DVR_CANNOT_MIG2NEWMODE = 207
    NET_DVR_MIG_PAUSE = 208
    NET_DVR_MIG_CANCEL = 209
    NET_DVR_EXIST_VD = 210
    NET_DVR_TARGET_IN_LD_FUNCTIONAL = 211
    NET_DVR_HD_IS_ASSIGNED_ALREADY = 212
    NET_DVR_INVALID_HD_COUNT = 213
    NET_DVR_LD_IS_FUNCTIONAL = 214
    NET_DVR_BGA_RUNNING = 215
    NET_DVR_LD_NO_ATAPI = 216
    NET_DVR_MIGRATION_NOT_NEED = 217
    NET_DVR_HD_TYPE_MISMATCH = 218
    NET_DVR_NO_LD_IN_DG = 219
    NET_DVR_NO_ROOM_FOR_SPARE = 220
    NET_DVR_SPARE_IS_IN_MULTI_DG = 221
    NET_DVR_DG_HAS_MISSING_PD = 222
    NET_DVR_NAME_EMPTY = 223
    NET_DVR_INPUT_PARAM = 224
    NET_DVR_PD_NOT_AVAILABLE = 225
    NET_DVR_ARRAY_NOT_AVAILABLE = 226
    NET_DVR_PD_COUNT = 227
    NET_DVR_VD_SMALL = 228
    NET_DVR_NO_EXIST = 229
    NET_DVR_NOT_SUPPORT = 230
    NET_DVR_NOT_FUNCTIONAL = 231
    NET_DVR_DEV_NODE_NOT_FOUND = 232
    NET_DVR_SLOT_EXCEED = 233
    NET_DVR_NO_VD_IN_ARRAY = 234
    NET_DVR_VD_SLOT_INVALID = 235
    NET_DVR_PD_NO_ENOUGH_SPACE = 236
    NET_DVR_ARRAY_NONFUNCTION = 237
    NET_DVR_ARRAY_NO_ENOUGH_SPACE = 238
    NET_DVR_STOPPING_SCANNING_ARRAY = 239
    NET_DVR_NOT_SUPPORT_16T = 240
    # 安全激活相关错误码
    NET_DVR_ERROR_DEVICE_NOT_ACTIVATED = 250
    NET_DVR_ERROR_RISK_PASSWORD = 251
    NET_DVR_ERROR_DEVICE_HAS_ACTIVATED = 252
    # 智能设备错误码
    NET_DVR_ID_ERROR = 300
    NET_DVR_POLYGON_ERROR = 301
    NET_DVR_RULE_PARAM_ERROR = 302
    NET_DVR_RULE_CFG_CONFLICT = 303
    NET_DVR_CALIBRATE_NOT_READY = 304
    NET_DVR_CAMERA_DATA_ERROR = 305
    NET_DVR_CALIBRATE_DATA_UNFIT = 306
    NET_DVR_CALIBRATE_DATA_CONFILICT = 307
    NET_DVR_CALIBRATE_CALC_FAIL = 308
    NET_DVR_CALIBRATE_LINE_OUT_RECT = 309
    NET_DVR_ENTER_RULE_NOT_READY = 310
    NET_DVR_AID_RULE_NO_INCLUDE_LANE = 311
    NET_DVR_LANE_NOT_READY = 312
    NET_DVR_RULE_INCLUDE_TWO_WAY = 313
    NET_DVR_LANE_TPS_RULE_CONFLICT = 314
    NET_DVR_NOT_SUPPORT_EVENT_TYPE = 315
    NET_DVR_LANE_NO_WAY = 316
    NET_DVR_SIZE_FILTER_ERROR = 317
    NET_DVR_LIB_FFL_NO_FACE = 318
    NET_DVR_LIB_FFL_IMG_TOO_SMALL = 319
    NET_DVR_LIB_FD_IMG_NO_FACE = 320
    NET_DVR_LIB_FACE_TOO_SMALL = 321
    NET_DVR_LIB_FACE_QUALITY_TOO_BAD = 322
    NET_DVR_KEY_PARAM_ERR = 323
    NET_DVR_CALIBRATE_DATA_ERR = 324
    NET_DVR_CALIBRATE_DISABLE_FAIL = 325
    NET_DVR_VCA_LIB_FD_SCALE_OUTRANGE = 326
    NET_DVR_LIB_FD_REGION_TOO_LARGE = 327
    NET_DVR_TRIAL_OVERDUE = 328
    NET_DVR_CONFIG_FILE_CONFLICT = 329
    NET_DVR_FR_FPL_FAIL = 330
    NET_DVR_FR_IQA_FAIL = 331
    NET_DVR_FR_FEM_FAIL = 332
    NET_DVR_FPL_DT_CONF_TOO_LOW = 333
    NET_DVR_FPL_CONF_TOO_LOW = 334
    NET_DVR_E_DATA_SIZE = 335
    NET_DVR_FR_MODEL_VERSION_ERR = 336
    NET_DVR_FR_FD_FAIL = 337
    NET_DVR_FA_NORMALIZE_ERR = 338
    NET_DVR_DOG_PUSTREAM_NOT_MATCH = 339
    NET_DVR_DEV_PUSTREAM_NOT_MATCH = 340
    NET_DVR_PUSTREAM_ALREADY_EXISTS = 341
    NET_DVR_SEARCH_CONNECT_FAILED = 342
    NET_DVR_INSUFFICIENT_DISK_SPACE = 343
    NET_DVR_DATABASE_CONNECTION_FAILED = 344
    NET_DVR_DATABASE_ADM_PW_ERROR = 345
    NET_DVR_DECODE_YUV = 346
    NET_DVR_IMAGE_RESOLUTION_ERROR = 347
    NET_DVR_CHAN_WORKMODE_ERROR = 348
    # 其他错误码
    NET_ERROR_SCENE_USING = 717
    NET_ERR_TERMINAL_BUSY = 780
    NET_DVR_FUNCTION_RESOURCE_USAGE_ERROR = 791
    NET_DVR_DEV_NET_OVERFLOW = 800
    NET_DVR_STATUS_RECORDFILE_WRITING_NOT_LOCK = 801
    NET_DVR_STATUS_CANT_FORMAT_LITTLE_DISK = 802
    # N+1功能错误码
    NET_SDK_ERR_REMOTE_DISCONNEC = 803
    NET_SDK_ERR_RD_ADD_RD = 804
    NET_SDK_ERR_BACKUP_DISK_EXCEPT = 805
    NET_SDK_ERR_RD_LIMIT = 806
    NET_SDK_ERR_ADDED_RD_IS_WD = 807
    NET_SDK_ERR_ADD_ORDER_WRONG = 808
    NET_SDK_ERR_WD_ADD_WD = 809
    NET_SDK_ERR_WD_SERVICE_EXCETP = 810
    NET_SDK_ERR_RD_SERVICE_EXCETP = 811
    NET_SDK_ERR_ADDED_WD_IS_RD = 812
    NET_SDK_ERR_PERFORMANCE_LIMIT = 813
    NET_SDK_ERR_ADDED_DEVICE_EXIST = 814
    # 审讯机错误码
    NET_SDK_ERR_INQUEST_RESUMING = 815
    NET_SDK_ERR_RECORD_BACKUPING = 816
    NET_SDK_ERR_DISK_PLAYING = 817
    NET_SDK_ERR_INQUEST_STARTED = 818
    NET_SDK_ERR_LOCAL_OPERATING = 819
    NET_SDK_ERR_INQUEST_NOT_START = 820
    # 其他错误码
    NET_SDK_ERR_CHAN_AUDIO_BIND = 821
    NET_DVR_N_PLUS_ONE_MODE = 822
    NET_DVR_CLOUD_STORAGE_OPENED = 823
    NET_DVR_ERR_OPER_NOT_ALLOWED = 824
    NET_DVR_ERR_NEED_RELOCATE = 825
    # 庭审主机错误码
    NET_SDK_ERR_IR_PORT_ERROR = 830
    NET_SDK_ERR_IR_CMD_ERROR = 831
    NET_SDK_ERR_NOT_INQUESTING = 832
    NET_SDK_ERR_INQUEST_NOT_PAUSED = 833
    # 其他错误码
    NET_DVR_CHECK_PASSWORD_MISTAKE_ERROR = 834
    NET_DVR_CHECK_PASSWORD_NULL_ERROR = 835
    NET_DVR_UNABLE_CALIB_ERROR = 836
    NET_DVR_PLEASE_CALIB_ERROR = 837
    NET_DVR_ERR_PANORAMIC_CAL_EMPTY = 838
    NET_DVR_ERR_CALIB_FAIL_PLEASEAGAIN = 839
    NET_DVR_ERR_DETECTION_LINE = 840
    NET_DVR_EXCEED_FACE_IMAGES_ERROR = 843
    NET_DVR_ANALYSIS_FACE_IMAGES_ERROR = 844
    NET_ERR_ALARM_INPUT_OCCUPIED = 845
    NET_DVR_FACELIB_DATABASE_ERROR = 846
    NET_DVR_FACELIB_DATA_ERROR = 847
    NET_DVR_FACE_DATA_ID_ERROR = 848
    NET_DVR_FACELIB_ID_ERROR = 849
    NET_DVR_EXCEED_FACE_LIBARY_ERROR = 850
    NET_DVR_PIC_ANALYSIS_NO_TARGET_ERROR = 851
    NET_DVR_SUBPIC_ANALYSIS_MODELING_ERROR = 852
    NET_DVR_PIC_ANALYSIS_NO_RESOURCE_ERROR = 853
    NET_DVR_ANALYSIS_ENGINES_NO_RESOURCE_ERROR = 854
    NET_DVR_ANALYSIS_ENGINES_USAGE_EXCEED_ERROR = 855
    NET_DVR_EXCEED_HUMANMISINFO_FILTER_ENABLED_ERROR = 856
    NET_DVR_NAME_ERROR = 857
    NET_DVR_NAME_EXIST_ERROR = 858
    NET_DVR_FACELIB_PIC_IMPORTING_ERROR = 859
    NET_DVR_PIC_FORMAT_ERROR = 864
    NET_DVR_PIC_RESOLUTION_INVALID_ERROR = 865
    NET_DVR_PIC_SIZE_EXCEED_ERROR = 866
    NET_DVR_PIC_ANALYSIS_TARGRT_NUM_EXCEED_ERROR = 867
    NET_DVR_ANALYSIS_ENGINES_LOADING_ERROR = 868
    NET_DVR_ANALYSIS_ENGINES_ABNORMA_ERROR = 869
    NET_DVR_ANALYSIS_ENGINES_FACELIB_IMPORTING = 870
    NET_DVR_NO_DATA_FOR_MODELING_ERROR = 871
    NET_DVR_FACE_DATA_MODELING_ERROR = 872
    NET_ERR_FACELIBDATA_OVERLIMIT = 873
    NET_DVR_ANALYSIS_ENGINES_ASSOCIATED_CHANNEL = 874
    NET_DVR_ERR_CUSTOMID_LEN = 875
    NET_DVR_ERR_CUSTOMFACELIBID_REPEAT = 876
    NET_DVR_ERR_CUSTOMHUMANID_REPEAT = 877
    NET_DVR_ERR_URL_DOWNLOAD_FAIL = 878
    NET_DVR_ERR_URL_DOWNLOAD_NOTSTART = 879
    NET_DVR_CFG_FILE_SECRETKEY_ERROR = 880
    NET_DVR_THERMOMETRY_REGION_OVERSTEP_ERROR = 883
    NET_DVR_NO_TEMP_SENSOR_ERROR = 897
    NET_DVR_PUPIL_DISTANCE_OVERSIZE_ERROR = 898
    # 多屏控制器错误码
    NET_ERR_WINCHAN_IDX = 901
    NET_ERR_WIN_LAYER = 902
    NET_ERR_WIN_BLK_NUM = 903
    NET_ERR_OUTPUT_RESOLUTION = 904
    NET_ERR_LAYOUT = 905
    NET_ERR_INPUT_RESOLUTION = 906
    NET_ERR_SUBDEVICE_OFFLINE = 907
    NET_ERR_NO_DECODE_CHAN = 908
    NET_ERR_MAX_WINDOW_ABILITY = 909
    NET_ERR_ORDER_ERROR = 910
    NET_ERR_PLAYING_PLAN = 911
    NET_ERR_DECODER_USED = 912
    NET_ERR_OUTPUT_BOARD_DATA_OVERFLOW = 913
    NET_ERR_SAME_USER_NAME = 914
    NET_ERR_INVALID_USER_NAME = 915
    NET_ERR_MATRIX_USING = 916
    NET_ERR_DIFFERENT_CHAN_TYPE = 917
    NET_ERR_INPUT_CHAN_BINDED = 918
    NET_ERR_BINDED_OUTPUT_CHAN_OVERFLOW = 919
    NET_ERR_MAX_SIGNAL_NUM = 920
    NET_ERR_INPUT_CHAN_USING = 921
    NET_ERR_MANAGER_LOGON = 922
    NET_ERR_USERALREADY_LOGON = 923
    NET_ERR_LAYOUT_INIT = 924
    NET_ERR_BASEMAP_SIZE_NOT_MATCH = 925
    NET_ERR_WINDOW_OPERATING = 926
    NET_ERR_SIGNAL_UPLIMIT = 927
    # 解码器错误码
    NET_ERR_WINDOW_SIZE_OVERLIMIT = 943
    NET_ERR_MAX_WIN_OVERLAP = 951
    NET_ERR_STREAMID_CHAN_BOTH_VALID = 952
    NET_ERR_NO_ZERO_CHAN = 953
    NEED_RECONNECT = 955
    NET_ERR_NO_STREAM_ID = 956
    NET_DVR_TRANS_NOT_START = 957
    NET_ERR_MAXNUM_STREAM_ID = 958
    NET_ERR_WORKMODE_MISMATCH = 959
    NET_ERR_MODE_IS_USING = 960
    NET_ERR_DEV_PROGRESSING = 961
    NET_ERR_PASSIVE_TRANSCODING = 962
    NET_DVR_ERR_WINDOW_SIZE_PLACE = 975
    NET_DVR_ERR_RGIONAL_RESTRICTIONS = 976
    NET_DVR_ERR_CLOSE_WINDOWS = 984
    NET_DVR_ERR_MATRIX_LOOP_ABILITY = 985
    NET_DVR_ERR_MATRIX_LOOP_TIME = 986
    NET_DVR_ERR_LINKED_OUT_ABILITY = 987
    # 热成像错误码
    NET_ERR_UnitConfig_Failed = 998
    # 能力集错误码
    XML_ABILITY_NOTSUPPORT = 1000
    XML_ANALYZE_NOENOUGH_BUF = 1001
    XML_ANALYZE_FIND_LOCALXML_ERROR = 1002
    XML_ANALYZE_LOAD_LOCALXML_ERROR = 1003
    XML_NANLYZE_DVR_DATA_FORMAT_ERROR = 1004
    XML_ANALYZE_TYPE_ERROR = 1005
    XML_ANALYZE_XML_NODE_ERROR = 1006
    XML_INPUT_PARAM_ERROR = 1007
    XML_VERSION_MISMATCH = 1008
    # 其他错误码
    NET_ERR_TRANS_CHAN_START = 1101
    NET_ERR_DEV_UPGRADING = 1102
    NET_ERR_MISMATCH_UPGRADE_PACK_TYPE = 1103
    NET_ERR_DEV_FORMATTING = 1104
    NET_ERR_MISMATCH_UPGRADE_PACK_VERSION = 1105
    NET_ERR_PT_LOCKED = 1106
    NET_DVR_ERR_ILLEGAL_VERIFICATION_CODE = 1111
    NET_DVR_ERR_LACK_VERIFICATION_CODE = 1112
    NET_DVR_ERR_FORBIDDEN_IP = 1113
    # 报警设备错误码
    NET_ERR_SEARCHING_MODULE = 1201
    NET_ERR_REGISTERING_MODULE = 1202
    NET_ERR_GETTING_ZONES = 1203
    NET_ERR_GETTING_TRIGGERS = 1204
    NET_ERR_ARMED_STATUS = 1205
    NET_ERR_PROGRAM_MODE_STATUS = 1206
    NET_ERR_WALK_TEST_MODE_STATUS = 1207
    NET_ERR_BYPASS_STATUS = 1208
    NET_ERR_DISABLED_MODULE_STATUS = 1209
    NET_ERR_NOT_SUPPORT_OPERATE_ZONE = 1210
    NET_ERR_NOT_SUPPORT_MOD_MODULE_ADDR = 1211
    NET_ERR_UNREGISTERED_MODULE = 1212
    NET_ERR_PUBLIC_SUBSYSTEM_ASSOCIATE_SELF = 1213
    NET_ERR_EXCEEDS_ASSOCIATE_SUBSYSTEM_NUM = 1214
    NET_ERR_BE_ASSOCIATED_BY_PUBLIC_SUBSYSTEM = 1215
    NET_ERR_ZONE_FAULT_STATUS = 1216
    NET_ERR_SAME_EVENT_TYPE = 1217
    NET_ERR_ZONE_ALARM_STATUS = 1218
    NET_ERR_EXPANSION_BUS_SHORT_CIRCUIT = 1219
    NET_ERR_PWD_CONFLICT = 1220
    NET_ERR_DETECTOR_GISTERED_BY_OTHER_ZONE = 1221
    NET_ERR_DETECTOR_GISTERED_BY_OTHER_PU = 1222
    NET_ERR_DETECTOR_DISCONNECT = 1223
    NET_ERR_CALL_BUSY = 1224
    NET_DVR_ERR_ZONE_TAMPER_STAUS = 1225
    NET_DVR_ERR_WIRELESS_DEV_REGISTER = 1226
    NET_DVR_ERR_WIRELESS_DEV_ADDED = 1227
    NET_DVR_ERR_WIRELESS_DEV_OFFLINE = 1228
    NET_DVR_ERR_WIRELESS_DEV_TAMPER_STATUS = 1229
    NET_ERR_FILE_NAME = 1357
    NET_ERR_BROADCAST_BUSY = 1358
    # 抓拍机错误码
    NET_DVR_ERR_LANENUM_EXCEED = 1400
    NET_DVR_ERR_PRAREA_EXCEED = 1401
    NET_DVR_ERR_LIGHT_PARAM = 1402
    NET_DVR_ERR_LANE_LINE_INVALID = 1403
    NET_DVR_ERR_STOP_LINE_INVALID = 1404
    NET_DVR_ERR_LEFTORRIGHT_LINE_INVALID = 1405
    NET_DVR_ERR_LANE_NO_REPEAT = 1406
    NET_DVR_ERR_PRAREA_INVALID = 1407
    NET_DVR_ERR_LIGHT_NUM_EXCEED = 1408
    NET_DVR_ERR_SUBLIGHT_NUM_INVALID = 1409
    NET_DVR_ERR_LIGHT_AREASIZE_INVALID = 1410
    NET_DVR_ERR_LIGHT_COLOR_INVALID = 1411
    NET_DVR_ERR_LIGHT_DIRECTION_INVALID = 1412
    NET_DVR_ERR_LACK_IOABLITY = 1413
    NET_DVR_ERR_FTP_PORT = 1414
    NET_DVR_ERR_FTP_CATALOGUE = 1415
    NET_DVR_ERR_FTP_UPLOAD_TYPE = 1416
    NET_DVR_ERR_FLASH_PARAM_WRITE = 1417
    NET_DVR_ERR_FLASH_PARAM_READ = 1418
    NET_DVR_ERR_PICNAME_DELIMITER = 1419
    NET_DVR_ERR_PICNAME_ITEM = 1420
    NET_DVR_ERR_PLATE_RECOGNIZE_TYPE = 1421
    NET_DVR_ERR_CAPTURE_TIMES = 1422
    NET_DVR_ERR_LOOP_DISTANCE = 1423
    NET_DVR_ERR_LOOP_INPUT_STATUS = 1424
    NET_DVR_ERR_RELATE_IO_CONFLICT = 1425
    NET_DVR_ERR_INTERVAL_TIME = 1426
    NET_DVR_ERR_SIGN_SPEED = 1427
    NET_DVR_ERR_PIC_FLIP = 1428
    NET_DVR_ERR_RELATE_LANE_NUMBER = 1429
    NET_DVR_ERR_TRIGGER_MODE = 1430
    NET_DVR_ERR_DELAY_TIME = 1431
    NET_DVR_ERR_EXCEED_RS485_COUNT = 1432
    NET_DVR_ERR_RADAR_TYPE = 1433
    NET_DVR_ERR_RADAR_ANGLE = 1434
    NET_DVR_ERR_RADAR_SPEED_VALID_TIME = 1435
    NET_DVR_ERR_RADAR_LINE_CORRECT = 1436
    NET_DVR_ERR_RADAR_CONST_CORRECT = 1437
    NET_DVR_ERR_RECORD_PARAM = 1438
    NET_DVR_ERR_LIGHT_WITHOUT_COLOR_AND_DIRECTION = 1439
    NET_DVR_ERR_LIGHT_WITHOUT_DETECTION_REGION = 1440
    NET_DVR_ERR_RECOGNIZE_PROVINCE_PARAM = 1441
    NET_DVR_ERR_SPEED_TIMEOUT = 1442
    NET_DVR_ERR_NTP_TIMEZONE = 1443
    NET_DVR_ERR_NTP_INTERVAL_TIME = 1444
    NET_DVR_ERR_NETWORK_CARD_NUM = 1445
    NET_DVR_ERR_DEFAULT_ROUTE = 1446
    NET_DVR_ERR_BONDING_WORK_MODE = 1447
    NET_DVR_ERR_SLAVE_CARD = 1448
    NET_DVR_ERR_PRIMARY_CARD = 1449
    NET_DVR_ERR_DHCP_PPOE_WORK = 1450
    NET_DVR_ERR_NET_INTERFACE = 1451
    NET_DVR_ERR_MTU = 1452
    NET_DVR_ERR_NETMASK = 1453
    NET_DVR_ERR_IP_INVALID = 1454
    NET_DVR_ERR_MULTICAST_IP_INVALID = 1455
    NET_DVR_ERR_GATEWAY_INVALID = 1456
    NET_DVR_ERR_DNS_INVALID = 1457
    NET_DVR_ERR_ALARMHOST_IP_INVALID = 1458
    NET_DVR_ERR_IP_CONFLICT = 1459
    NET_DVR_ERR_NETWORK_SEGMENT = 1460
    NET_DVR_ERR_NETPORT = 1461
    NET_DVR_ERR_PPPOE_NOSUPPORT = 1462
    NET_DVR_ERR_DOMAINNAME_NOSUPPORT = 1463
    NET_DVR_ERR_NO_SPEED = 1464
    NET_DVR_ERR_IOSTATUS_INVALID = 1465
    NET_DVR_ERR_BURST_INTERVAL_INVALID = 1466
    NET_DVR_ERR_RESERVE_MODE = 1467
    NET_DVR_ERR_LANE_NO = 1468
    NET_DVR_ERR_COIL_AREA_TYPE = 1469
    NET_DVR_ERR_TRIGGER_AREA_PARAM = 1470
    NET_DVR_ERR_SPEED_LIMIT_PARAM = 1471
    NET_DVR_ERR_LANE_PROTOCOL_TYPE = 1472
    NET_DVR_ERR_INTERVAL_TYPE = 1473
    NET_DVR_ERR_INTERVAL_DISTANCE = 1474
    NET_DVR_ERR_RS485_ASSOCIATE_DEVTYPE = 1475
    NET_DVR_ERR_RS485_ASSOCIATE_LANENO = 1476
    NET_DVR_ERR_LANENO_ASSOCIATE_MULTIRS485 = 1477
    NET_DVR_ERR_LIGHT_DETECTION_REGION = 1478
    NET_DVR_ERR_DN2D_NOSUPPORT = 1479
    NET_DVR_ERR_IRISMODE_NOSUPPORT = 1480
    NET_DVR_ERR_WB_NOSUPPORT = 1481
    NET_DVR_ERR_IO_EFFECTIVENESS = 1482
    NET_DVR_ERR_LIGHTNO_MAX = 1483
    NET_DVR_ERR_LIGHTNO_CONFLICT = 1484
    NET_DVR_ERR_CANCEL_LINE = 1485
    NET_DVR_ERR_STOP_LINE = 1486
    NET_DVR_ERR_RUSH_REDLIGHT_LINE = 1487
    NET_DVR_ERR_IOOUTNO_MAX = 1488
    NET_DVR_ERR_IOOUTNO_AHEADTIME_MAX = 1489
    NET_DVR_ERR_IOOUTNO_IOWORKTIME = 1490
    NET_DVR_ERR_IOOUTNO_FREQMULTI = 1491
    NET_DVR_ERR_IOOUTNO_DUTYRATE = 1492
    NET_DVR_ERR_VIDEO_WITH_EXPOSURE = 1493
    NET_DVR_ERR_PLATE_BRIGHTNESS_WITHOUT_FLASHDET = 1494
    NET_DVR_ERR_RECOGNIZE_TYPE_PARAM = 1495
    NET_DVR_ERR_PALTE_RECOGNIZE_AREA_PARAM = 1496
    NET_DVR_ERR_PORT_CONFLICT = 1497
    NET_DVR_ERR_LOOP_IP = 1498
    NET_DVR_ERR_DRIVELINE_SENSITIVE = 1499
    # VQD错误码
    NET_ERR_VQD_TIME_CONFLICT = 1500
    NET_ERR_VQD_PLAN_NO_EXIST = 1501
    NET_ERR_VQD_CHAN_NO_EXIST = 1502
    NET_ERR_VQD_CHAN_MAX = 1503
    NET_ERR_VQD_TASK_MAX = 1504
    # 抓拍机错误码新增
    NET_DVR_ERR_EXCEED_MAX_CAPTURE_TIMES = 1600
    NET_DVR_ERR_REDAR_TYPE_CONFLICT = 1601
    NET_DVR_ERR_LICENSE_PLATE_NULL = 1602
    NET_DVR_ERR_WRITE_DATABASE = 1603
    NET_DVR_ERR_LICENSE_EFFECTIVE_TIME = 1604
    NET_DVR_ERR_PRERECORDED_STARTTIME_LONG = 1605
    NET_DVR_ERR_TRIGGER_RULE_LINE = 1606
    NET_DVR_ERR_LEFTRIGHT_TRIGGERLINE_NOTVERTICAL = 1607
    NET_DVR_ERR_FLASH_LAMP_MODE = 1608
    NET_DVR_ERR_ILLEGAL_SNAPSHOT_NUM = 1609
    NET_DVR_ERR_ILLEGAL_DETECTION_TYPE = 1610
    NET_DVR_ERR_POSITIVEBACK_TRIGGERLINE_HIGH = 1611
    NET_DVR_ERR_MIXEDMODE_CAPTYPE_ALLTARGETS = 1612
    NET_DVR_ERR_CARSIGNSPEED_GREATERTHAN_LIMITSPEED = 1613
    NET_DVR_ERR_BIGCARSIGNSPEED_GREATERTHAN_LIMITSPEED = 1614
    NET_DVR_ERR_BIGCARSIGNSPEED_GREATERTHAN_CARSIGNSPEED = 1615
    NET_DVR_ERR_BIGCARLIMITSPEED_GREATERTHAN_CARLIMITSPEED = 1616
    NET_DVR_ERR_BIGCARLOWSPEEDLIMIT_GREATERTHAN_CARLOWSPEEDLIMIT = 1617
    NET_DVR_ERR_CARLIMITSPEED_GREATERTHAN_EXCEPHIGHSPEED = 1618
    NET_DVR_ERR_BIGCARLIMITSPEED_GREATERTHAN_EXCEPHIGHSPEED = 1619
    NET_DVR_ERR_STOPLINE_MORETHAN_TRIGGERLINE = 1620
    # 门禁主机错误码
    NET_ERR_TIME_OVERLAP = 1900
    NET_ERR_HOLIDAY_PLAN_OVERLAP = 1901
    NET_ERR_CARDNO_NOT_SORT = 1902
    NET_ERR_CARDNO_NOT_EXIST = 1903
    NET_ERR_ILLEGAL_CARDNO = 1904
    NET_ERR_ZONE_ALARM = 1905
    NET_ERR_ZONE_OPERATION_NOT_SUPPORT = 1906
    NET_ERR_INTERLOCK_ANTI_CONFLICT = 1907
    NET_ERR_DEVICE_CARD_FULL = 1908
    NET_ERR_HOLIDAY_GROUP_DOWNLOAD = 1909
    NET_ERR_LOCAL_CONTROL_OFF = 1910
    NET_ERR_LOCAL_CONTROL_DISADD = 1911
    NET_ERR_LOCAL_CONTROL_HASADD = 1912
    NET_ERR_LOCAL_CONTROL_DOORNO_CONFLICT = 1913
    NET_ERR_LOCAL_CONTROL_COMMUNICATION_FAIL = 1914
    NET_ERR_OPERAND_INEXISTENCE = 1915
    NET_ERR_LOCAL_CONTROL_OVER_LIMIT = 1916
    NET_ERR_DOOR_OVER_LIMIT = 1917
    NET_ERR_ALARM_OVER_LIMIT = 1918
    NET_ERR_LOCAL_CONTROL_ADDRESS_INCONFORMITY_TYPE = 1919
    NET_ERR_NOT_SUPPORT_ONE_MORE_CARD = 1920
    NET_ERR_DELETE_NO_EXISTENCE_FACE = 1921
    NET_ERR_DOOR_SPECIAL_PASSWORD_REPEAT = 1922
    NET_ERR_AUTH_CODE_REPEAT = 1923
    NET_ERR_DEPLOY_EXCEED_MAX = 1924
    NET_ERR_NOT_SUPPORT_DEL_FP_BY_ID = 1925
    NET_ERR_TIME_RANGE = 1926
    NET_ERR_CAPTURE_TIMEOUT = 1927
    NET_ERR_LOW_SCORE = 1928
    NET_ERR_OFFLINE_CAPTURING = 1929
    # define = 1929
    NET_DVR_ERR_OUTDOOR_COMMUNICATION = 1950
    NET_DVR_ERR_ROOMNO_UNDEFINED = 1951
    NET_DVR_ERR_NO_CALLING = 1952
    NET_DVR_ERR_RINGING = 1953
    NET_DVR_ERR_IS_CALLING_NOW = 1954
    NET_DVR_ERR_LOCK_PASSWORD_WRONG = 1955
    NET_DVR_ERR_CONTROL_LOCK_FAILURE = 1956
    NET_DVR_ERR_CONTROL_LOCK_OVERTIME = 1957
    NET_DVR_ERR_LOCK_DEVICE_BUSY = 1958
    NET_DVR_ERR_UNOPEN_REMOTE_LOCK_FUNCTION = 1959
    # 其他错误码
    NET_DVR_ERR_FILE_NOT_COMPLETE = 2100
    NET_DVR_ERR_IPC_EXIST = 2101
    NET_DVR_ERR_ADD_IPC = 2102
    NET_DVR_ERR_OUT_OF_RES = 2103
    NET_DVR_ERR_CONFLICT_TO_LOCALIP = 2104
    NET_DVR_ERR_IP_SET = 2105
    NET_DVR_ERR_PORT_SET = 2106
    NET_ERR_WAN_NOTSUPPORT = 2107
    NET_ERR_MUTEX_FUNCTION = 2108
    NET_ERR_QUESTION_CONFIGNUM = 2109
    NET_ERR_FACECHAN_NORESOURCE = 2110
    NET_ERR_DATA_CALLBACK = 2111
    NET_DVR_SMD_ENCODING_NORESOURSE = 2116
    NET_DVR_SMD_DECODING_NORESOURSE = 2117
    NET_DVR_FACELIB_DATA_PROCESSING = 2118
    NET_DVR_ERR_LARGE_TIME_DIFFRENCE = 2119
    NET_DVR_NO_SUPPORT_WITH_PLAYBACK = 2120
    NET_DVR_CHANNEL_NO_SUPPORT_WITH_SMD = 2121
    NET_DVR_CHANNEL_NO_SUPPORT_WITH_FD = 2122
    NET_DVR_ILLEGAL_PHONE_NUMBER = 2123
    NET_DVR_ILLEGAL_CERITIFICATE_NUMBER = 2124
    NET_DVR_ERR_CHANNEL_RESOLUTION_NO_SUPPORT = 2125
    NET_DVR_ERR_CHANNEL_COMPRESSION_NO_SUPPORT = 2126
    NET_DVR_ERR_CLUSTER_DEVICE_TOO_LESS = 2127
    NET_DVR_ERR_CLUSTER_DEL_DEVICE_CM_PLAYLOAD = 2128
    NET_DVR_ERR_CLUSTER_DEVNUM_OVER_UPPER_LIMIT = 2129
    NET_DVR_ERR_CLUSTER_DEVICE_TYPE_INCONFORMITY = 2130
    NET_DVR_ERR_CLUSTER_DEVICE_VERSION_INCONFORMITY = 2131
    NET_DVR_ERR_CLUSTER_IP_CONFLICT = 2132
    NET_DVR_ERR_CLUSTER_IP_INVALID = 2133
    NET_DVR_ERR_CLUSTER_PORT_CONFLICT = 2134
    NET_DVR_ERR_CLUSTER_PORT_INVALID = 2135
    NET_DVR_ERR_CLUSTER_USERNAEM_OR_PASSWORD_INVALID = 2136
    NET_DVR_ERR_CLUSTER_DEVICE_ALREADY_EXIST = 2137
    NET_DVR_ERR_CLUSTER_DEVICE_NOT_EXIST = 2138
    NET_DVR_ERR_CLUSTER_NON_CLUSTER_MODE = 2139
    NET_DVR_ERR_CLUSTER_IP_NOT_SAME_LAN = 2140
    NET_DVR_ERR_CAPTURE_PACKAGE_FAILED = 2141
    NET_DVR_ERR_CAPTURE_PACKAGE_PROCESSING = 2142
    NET_DVR_ERR_SAFETY_HELMET_NO_RESOURCE = 2143
    NET_DVR_NO_SUPPORT_WITH_ABSTRACT = 2144
    NET_DVR_INSUFFICIENT_DEEP_LEARNING_RESOURCES = 2146
    NET_DVR_ERR_IDENTITY_KEY = 2147
    NET_DVR_MISSING_IDENTITY_KEY = 2148
    NET_DVR_NO_SUPPORT_WITH_PERSON_DENSITY_DETECT = 2149
    NET_DVR_IPC_RESOLUTION_OVERFLOW = 2150
    NET_DVR_IPC_BITRATE_OVERFLOW = 2151
    NET_DVR_ERR_INVALID_TASKID = 2152
    NET_DVR_PANEL_MODE_NOT_CONFIG = 2153
    NET_DVR_DETECT_REGION_RANGE_INVALID = 2181
    NET_DVR_CHANNEL_CAPTURE_PICTURE_FAILURE = 2182
    NET_DVR_ERROR_NEED_DOUBLE_VERIFICATION = 2206
    NET_DVR_NO_DOUBLE_VERIFICATION_USER = 2207
    NET_DVR_SSD_FILE_SYSTEM_ERROR = 2266
    NET_DVR_ERR_NOTSUPPORT_DEICING = 3001
    NET_DVR_ERR_THERMENABLE_CLOSE = 3002
    NET_DVR_ERR_PANORAMIC_LIMIT_OPERATED = 3004
    NET_DVR_ERR_SMARTH264_ROI_OPERATED = 3005
    NET_DVR_ERR_RULENUM_LIMIT = 3006
    NET_DVR_ERR_LASER_DEICING_OPERATED = 3007
    NET_DVR_ERR_OFFDIGITALZOOM_OR_MINZOOMLIMIT = 3008
    NET_DVR_RULE_SHIELDMASK_CONFLICT_ERROR = 3013
    NET_ERR_NPQ_PARAM = 8001
    NET_ERR_NPQ_SYSTEM = 8002
    NET_ERR_NPQ_GENRAL = 8003
    NET_ERR_NPQ_PRECONDITION = 8004
    NET_ERR_NPQ_NOTSUPPOR = 8005
    NET_ERR_NPQ_NOTCALLBACK = 8100
    NET_ERR_NPQ_LOADLIB = 8101
    NET_DVR_ERR_NPQ_STEAM_CLOSE = 8104
    NET_DVR_ERR_NPQ_MAX_LINK = 8110
    NET_DVR_ERR_NPQ_STREAM_CFG_CONFLICT = 8111
    NET_DVR_RTSP_ERROR_NOENOUGHPRI = 401
    NET_DVR_RTSP_ERROR_ALLOC_RESOURCE = 402
    NET_DVR_RTSP_ERROR_PARAMETER = 403
    NET_DVR_RTSP_ERROR_NO_URL = 404
    NET_DVR_RTSP_ERROR_FORCE_STOP = 406
    NET_DVR_RTSP_GETPORTFAILED = 407
    NET_DVR_RTSP_DESCRIBERROR = 410
    NET_DVR_RTSP_DESCRIBESENDTIMEOUT = 411
    NET_DVR_RTSP_DESCRIBESENDERROR = 412
    NET_DVR_RTSP_DESCRIBERECVTIMEOUT = 413
    NET_DVR_RTSP_DESCRIBERECVDATALOST = 414
    NET_DVR_RTSP_DESCRIBERECVERROR = 415
    NET_DVR_RTSP_DESCRIBESERVERERR = 416
    NET_DVR_RTSP_SETUPERROR = 420
    NET_DVR_RTSP_SETUPSENDTIMEOUT = 421
    NET_DVR_RTSP_SETUPSENDERROR = 422
    NET_DVR_RTSP_SETUPRECVTIMEOUT = 423
    NET_DVR_RTSP_SETUPRECVDATALOST = 424
    NET_DVR_RTSP_SETUPRECVERROR = 425
    NET_DVR_RTSP_OVER_MAX_CHAN = 426
    NET_DVR_RTSP_SETUPSERVERERR = 427
    NET_DVR_RTSP_PLAYERROR = 430
    NET_DVR_RTSP_PLAYSENDTIMEOUT = 431
    NET_DVR_RTSP_PLAYSENDERROR = 432
    NET_DVR_RTSP_PLAYRECVTIMEOUT = 433
    NET_DVR_RTSP_PLAYRECVDATALOST = 434
    NET_DVR_RTSP_PLAYRECVERROR = 435
    NET_DVR_RTSP_PLAYSERVERERR = 436
    NET_DVR_RTSP_TEARDOWNERROR = 440
    NET_DVR_RTSP_TEARDOWNSENDTIMEOUT = 441
    NET_DVR_RTSP_TEARDOWNSENDERROR = 442
    NET_DVR_RTSP_TEARDOWNRECVTIMEOUT = 443
    NET_DVR_RTSP_TEARDOWNRECVDATALOST = 444
    NET_DVR_RTSP_TEARDOWNRECVERROR = 445
    NET_DVR_RTSP_TEARDOWNSERVERERR = 446
    # 软解码库错误码
    NET_PLAYM4_NOERROR = 500
    NET_PLAYM4_PARA_OVER = 501
    NET_PLAYM4_ORDER_ERROR = 502
    NET_PLAYM4_TIMER_ERROR = 503
    NET_PLAYM4_DEC_VIDEO_ERROR = 504
    NET_PLAYM4_DEC_AUDIO_ERROR = 505
    NET_PLAYM4_ALLOC_MEMORY_ERROR = 506
    NET_PLAYM4_OPEN_FILE_ERROR = 507
    NET_PLAYM4_CREATE_OBJ_ERROR = 508
    NET_PLAYM4_CREATE_DDRAW_ERROR = 509
    NET_PLAYM4_CREATE_OFFSCREEN_ERROR = 510
    NET_PLAYM4_BUF_OVER = 511
    NET_PLAYM4_CREATE_SOUND_ERROR = 512
    NET_PLAYM4_SET_VOLUME_ERROR = 513
    NET_PLAYM4_SUPPORT_FILE_ONLY = 514
    NET_PLAYM4_SUPPORT_STREAM_ONLY = 515
    NET_PLAYM4_SYS_NOT_SUPPORT = 516
    NET_PLAYM4_FILEHEADER_UNKNOWN = 517
    NET_PLAYM4_VERSION_INCORRECT = 518
    NET_PALYM4_INIT_DECODER_ERROR = 519
    NET_PLAYM4_CHECK_FILE_ERROR = 520
    NET_PLAYM4_INIT_TIMER_ERROR = 521
    NET_PLAYM4_BLT_ERROR = 522
    NET_PLAYM4_UPDATE_ERROR = 523
    NET_PLAYM4_OPEN_FILE_ERROR_MULTI = 524
    NET_PLAYM4_OPEN_FILE_ERROR_VIDEO = 525
    NET_PLAYM4_JPEG_COMPRESS_ERROR = 526
    NET_PLAYM4_EXTRACT_NOT_SUPPORT = 527
    NET_PLAYM4_EXTRACT_DATA_ERROR = 528
    # 转封装库错误码
    NET_CONVERT_ERROR_NOT_SUPPORT = 581
    # 语音对讲库错误码
    NET_AUDIOINTERCOM_OK = 600
    NET_AUDIOINTECOM_ERR_NOTSUPORT = 601
    NET_AUDIOINTECOM_ERR_ALLOC_MEMERY = 602
    NET_AUDIOINTECOM_ERR_PARAMETER = 603
    NET_AUDIOINTECOM_ERR_CALL_ORDER = 604
    NET_AUDIOINTECOM_ERR_FIND_DEVICE = 605
    NET_AUDIOINTECOM_ERR_OPEN_DEVICE = 606
    NET_AUDIOINTECOM_ERR_NO_CONTEXT = 607
    NET_AUDIOINTECOM_ERR_NO_WAVFILE = 608
    NET_AUDIOINTECOM_ERR_INVALID_TYPE = 609
    NET_AUDIOINTECOM_ERR_ENCODE_FAIL = 610
    NET_AUDIOINTECOM_ERR_DECODE_FAIL = 611
    NET_AUDIOINTECOM_ERR_NO_PLAYBACK = 612
    NET_AUDIOINTECOM_ERR_DENOISE_FAIL = 613
    NET_AUDIOINTECOM_ERR_UNKOWN = 619
    # Qos流控库错误码
    NET_QOS_ERR_SCHEDPARAMS_BAD_MINIMUM_INTERVAL = 678
    NET_QOS_ERR_SCHEDPARAMS_BAD_FRACTION = 679
    NET_QOS_ERR_SCHEDPARAMS_INVALID_BANDWIDTH = 680
    NET_QOS_ERR_PACKET_TOO_BIG = 687
    NET_QOS_ERR_PACKET_LENGTH = 688
    NET_QOS_ERR_PACKET_VERSION = 689
    NET_QOS_ERR_PACKET_UNKNOW = 690
    NET_QOS_ERR_OUTOFMEM = 695
    NET_QOS_ERR_LIB_NOT_INITIALIZED = 696
    NET_QOS_ERR_SESSION_NOT_FOUND = 697
    NET_QOS_ERR_INVALID_ARGUMENTS = 698
    NET_QOS_ERROR = 699
    NET_QOS_OK = 700


ErrorMsg = {
    0: '没有错误。',
    1: '用户名密码错误。注册时输入的用户名或者密码错误。',
    2: '权限不足。一般和通道相关，例如有预览通道1权限，无预览通道2权限，即有预览权限但不完全，预览通道2返回此错误。',
    3: 'SDK未初始化。必须先调用NET_DVR_Init，该接口是调用其他SDK函数的前提且一个程序进程只需要调用一次。',
    4: '通道号错误。设备通道分模拟通道和数字通道（IP通道），NET_DVR_Login_V40登录设备成功之后会返回设备支持的通道个数和起始通道号取值，详见“通道和通道号号相关说明”。',
    5: '设备总的连接数超过最大。例如网络摄像机只支持6路预览，预览第7路即会返回失败，错误码返回5。不同设备性能不一样，支持路数也不同。',
    6: '版本不匹配。SDK和设备的版本不匹配。',
    7: '连接设备失败。设备不在线或网络原因引起的连接超时等。',
    8: '向设备发送失败。',
    9: '从设备接收数据失败。',
    10: '从设备接收数据超时。',
    11: '传送的数据有误。发送给设备或者从设备接收到的数据错误，如远程参数配置时输入设备不支持的值。',
    12: '调用次序错误。',
    13: '无此权限。用户对某个功能模块的权限，例如无预览权限用户预览返回此错误。',
    14: '设备命令执行超时。',
    15: '串口号错误。指定的设备串口号不存在。',
    16: '报警端口错误。指定的设备报警输入或者输出端口不存在。',
    17: '参数错误。SDK接口中给入的输入或输出参数为空，或者参数格式或值不符合要求。',
    18: '设备通道处于错误状态',
    19: '设备无硬盘。当设备无硬盘时，对设备的录像文件、硬盘配置等操作失败。',
    20: '硬盘号错误。当对设备进行硬盘管理操作时，指定的硬盘号不存在时返回该错误。',
    21: '设备硬盘满。',
    22: '设备硬盘出错',
    23: '设备不支持。',
    24: '设备忙。',
    25: '设备修改不成功。',
    26: '密码输入格式不正确',
    27: '硬盘正在格式化，不能启动操作。',
    28: '设备资源不足。',
    29: '设备操作失败。',
    30: '语音对讲、语音广播操作中采集本地音频或打开音频输出失败。',
    31: '设备语音对讲被占用。',
    32: '时间输入不正确。',
    33: '回放时设备没有指定的文件。',
    34: '创建文件出错。本地录像、保存图片、获取配置文件和远程下载录像时创建文件失败。',
    35: '打开文件出错。可能因为文件不存在或者路径错误。',
    36: '上次的操作还没有完成。',
    37: '获取当前播放的时间出错。',
    38: '播放出错。',
    39: '文件格式不正确。',
    40: '路径错误',
    41: 'SDK资源分配错误。',
    42: '声卡模式错误。当前打开声音播放模式与实际设置的模式不符出错。',
    43: '缓冲区太小。接收设备数据的缓冲区或存放图片缓冲区不足。',
    44: '创建SOCKET出错。',
    45: '设置SOCKET出错。',
    46: '个数达到最大。分配的注册连接数、预览连接数超过SDK支持的最大数。',
    47: '用户不存在。注册的用户ID已注销或不可用。',
    48: '写FLASH出错。设备升级时写FLASH失败。',
    49: '设备升级失败。网络或升级文件语言不匹配等原因升级失败。',
    50: '解码卡已经初始化过。',
    51: '调用播放库中某个函数失败。',
    52: '登录设备的用户数达到最大。',
    53: '获得本地PC的IP地址或物理地址失败。',
    54: '设备该通道没有启动编码。',
    55: 'IP地址不匹配。',
    56: 'MAC地址不匹配。',
    57: '升级文件语言不匹配。',
    58: '播放器路数达到最大。',
    59: '备份设备中没有足够空间进行备份。',
    60: '没有找到指定的备份设备。',
    61: '图像素位数不符，限24色。',
    62: '图片高*宽超限，限128*256。',
    63: '图片大小超限，限100K。',
    64: '载入当前目录下播放库(PlayCtrl.dll、SuperRender.dll、AudioRender.dll)出错。',
    65: '找不到Player',
    66: '载入当前目录下DSsdk出错。',
    67: '找不到DsSdk中某个函数入口。',
    68: '调用硬解码库DsSdk中某个函数失败。',
    69: '声卡被独占。',
    70: '加入多播组失败。',
    71: '建立日志文件目录失败。',
    72: '绑定套接字失败。',
    73: 'socket连接中断，此错误通常是由于连接中断或目的地不可达。',
    74: '注销时用户ID正在进行某操作。',
    75: '监听失败。',
    76: '程序异常。',
    77: '写文件失败。本地录像、远程下载录像、下载图片等操作时写文件失败。',
    78: '禁止格式化只读硬盘。',
    79: '远程用户配置结构中存在相同的用户名。',
    80: '导入参数时设备型号不匹配。',
    81: '导入参数时语言不匹配。',
    82: '导入参数时软件版本不匹配。',
    83: '预览时外接IP通道不在线。',
    84: '加载标准协议通讯库(StreamTransClient.dll)失败。',
    85: '加载转封装库(SystemTransform.dll)失败。',
    86: '超出最大的IP接入通道数。',
    87: '添加录像标签或者其他操作超出最多支持的个数。',
    88: '图像增强仪，参数模式错误（用于硬件设置时，客户端进行软件设置时错误值）。',
    89: '码分器不在线。',
    90: '设备正在备份。',
    91: '通道不支持该操作。',
    92: '高度线位置太集中或长度线不够倾斜。',
    93: '取消标定冲突，如果设置了规则及全局的实际大小尺寸过滤。',
    94: '标定点超出范围。',
    95: '尺寸过滤器不符合要求。',
    96: '设备没有注册到ddns上。',
    97: 'DDNS',
    98: '此功能不支持该操作系统。',
    99: '解码通道绑定显示输出次数受限。',
    100: '加载当前目录下的语音对讲库失败。',
    101: '没有正确的升级包。',
    102: '用户还没登录成功。',
    103: '正在使用日志开关文件。',
    104: '端口池中用于绑定的端口已耗尽。',
    105: '码流封装格式错误。',
    106: 'IP接入配置时IPID有误。',
    107: '预览组件加载失败。',
    108: '语音组件加载失败。',
    109: '报警组件加载失败。',
    110: '回放组件加载失败。',
    111: '显示组件加载失败。',
    112: '行业应用组件加载失败。',
    113: '通用配置管理组件加载失败。',
    114: '设备配置核心组件加载失败。',
    121: '单独加载组件时，组件与core版本不匹配。',
    122: '预览组件与core版本不匹配。',
    123: '语音组件与core版本不匹配。',
    124: '报警组件与core版本不匹配。',
    125: '回放组件与core版本不匹配。',
    126: '显示组件与core版本不匹配。',
    127: '行业应用组件与core版本不匹配。',
    128: '通用配置管理组件与core版本不匹配。',
    136: '预览组件与HCNetSDK版本不匹配。',
    137: '语音组件与HCNetSDK版本不匹配。',
    138: '报警组件与HCNetSDK版本不匹配。',
    139: '回放组件与HCNetSDK版本不匹配。',
    140: '显示组件与HCNetSDK版本不匹配。',
    141: '行业应用组件与HCNetSDK版本不匹配。',
    142: '通用配置管理组件与HCNetSDK版本不匹配。',
    150: '别名重复（HiDDNS的配置）。',
    152: '用户名不存在（V5.1.7~V5.3.1版本的IPC、IPD的错误码）。',
    153: '用户名被锁定。',
    154: '无效用户ID。',
    155: '登录版本低。',
    156: '加载libeay32.dll库失败。',
    157: '加载ssleay32.dll库失败。',
    158: '加载libiconv.dll库失败。',
    165: '连接测试服务器失败。',
    166: 'NAS服务器挂载目录失败，目录无效或者用户名密码错误。',
    167: 'NAS服务器挂载目录失败，没有权限。',
    168: '服务器使用域名，但是没有配置DNS，可能造成域名无效。',
    169: '没有配置网关，可能造成发送邮件失败。',
    170: '用户名密码不正确，测试服务器的用户名或密码错误。',
    171: '设备和smtp服务器交互异常。',
    172: 'FTP服务器创建目录失败。',
    173: 'FTP服务器没有写入权限。',
    174: 'IP冲突。',
    175: '存储池空间已满。',
    176: '云服务器存储池无效，没有配置存储池或者存储池ID错误。',
    177: '生效需要重启。',
    178: '断网续传布防连接已经存在（私有SDK协议布防连接已经建立的情况下，重复布防且选择断网续传功能时返回该错误）。',
    179: '断网续传上传连接已经存在（EHOME协议和私有SDK协议不能同时支持断网续传，其中一种协议已经建议连接，另外一个连接建立时返回该错误）。',
    180: '导入文件格式不正确。',
    181: '导入文件内容不正确。',
    182: 'HRUDP连接数超过设备限制。',
    183: '已达到端口复用最大数目。',
    184: '创建端口复用失败。',
    # 阵列错误码
    200: '名称已存在。',
    201: '阵列达到上限。',
    202: '虚拟磁盘达到上限。',
    203: '虚拟磁盘槽位已满。',
    204: '重建阵列所需物理磁盘状态错误。',
    205: '重建阵列所需物理磁盘为指定热备。',
    206: '重建阵列所需物理磁盘非空闲。',
    207: '不能从当前的阵列类型迁移到新的阵列类型。',
    208: '迁移操作已暂停。',
    209: '正在执行的迁移操作已取消。',
    210: '阵列上存在虚拟磁盘，无法删除阵列。',
    211: '对象物理磁盘为虚拟磁盘组成部分且工作正常。',
    212: '指定的物理磁盘被分配为虚拟磁盘。',
    213: '物理磁盘数量与指定的RAID等级不匹配。',
    214: '阵列正常，无法重建。',
    215: '存在正在执行的后台任务。',
    216: '无法用ATAPI盘创建虚拟磁盘。',
    217: '阵列无需迁移。',
    218: '物理磁盘不属于同意类型。',
    219: '无虚拟磁盘，无法进行此项操作。',
    220: '磁盘空间过小，无法被指定为热备盘。',
    221: '磁盘已被分配为某阵列热备盘。',
    222: '阵列缺少盘。',
    223: '名称为空。',
    224: '输入参数有误。',
    225: '物理磁盘不可用。',
    226: '阵列不可用。',
    227: '物理磁盘数不正确。',
    228: '虚拟磁盘太小。',
    229: '不存在。',
    230: '不支持该操作。',
    231: '阵列状态不是正常状态。',
    232: '虚拟磁盘设备节点不存在。',
    233: '槽位达到上限。',
    234: '阵列上不存在虚拟磁盘。',
    235: '虚拟磁盘槽位无效。',
    236: '所需物理磁盘空间不足。',
    237: '只有处于正常状态的阵列才能进行迁移。',
    238: '阵列空间不足。',
    239: '正在执行安全拔盘或重新扫描。',
    240: '不支持创建大于16T的阵列。',
    # 安全激活相关错误码
    250: '设备未激活（设备未激活时，登录失败，返回错误码）',
    251: '有风险的密码（设置用户密码或者激活的时候为风险密码）',
    252: '设备已激活（已激活的设备，再次激活时返回错误）',
    # 智能设备错误码
    300: '配置ID不合理。',
    301: '多边形不符合要求。',
    302: '规则参数不合理。',
    303: '配置信息冲突。',
    304: '当前没有标定信息。',
    305: '摄像机参数不合理。',
    306: '长度不够倾斜，不利于标定。',
    307: '标定出错，以为所有点共线或者位置太集中。',
    308: '摄像机标定参数值计算失败。',
    309: '输入的样本标定线超出了样本外接矩形框。',
    310: '没有设置进入区域',
    311: '交通事件规则中没有包括车道（特值拥堵和逆行）',
    312: '当前没有设置车道',
    313: '事件规则中包含2种不同方向',
    314: '车道和数据规则冲突',
    315: '不支持的事件类型',
    316: '车道没有方向',
    317: '尺寸过滤框不合理',
    318: '特征点定位时输入的图像没有人脸',
    319: '特征点定位时输入的图像太小',
    320: '单张图像人脸检测时输入的图像没有人脸',
    321: '建模时人脸太小',
    322: '建模时人脸图像质量太差',
    323: '高级参数设置错误',
    324: '标定样本数目错误，或数据值错误，或样本点超出地平线',
    325: '所配置规则不允许取消标定',
    326: '最大过滤框的宽高最小值超过最小过滤框的宽高最大值两倍以上',
    327: '当前检测区域范围过大。检测区最大为图像的2/3',
    328: '试用版评估期已结束',
    329: '设备类型与配置文件冲突（加密狗类型与现有分析仪配置不符错误码提示）',
    330: '人脸特征点定位失败',
    331: '人脸评分失败',
    332: '人脸特征提取失败',
    333: '特征点定位时人脸检测置信度过低',
    334: '特征点定位置信度过低',
    335: '数据长度不匹配',
    336: '人脸模型数据中的模型版本错误',
    337: '识别库中人脸检测失败',
    338: '人脸归一化出错',
    339: '加密狗与前端取流设备类型不匹配',
    340: '前端取流设备版本不匹配',
    341: '设备的其他通道已经添加过该前端设备',
    342: '连接检索服务器失败',
    343: '可存储的硬盘空间不足',
    344: '数据库连接失败',
    345: '数据库用户名、密码错误',
    346: '解码失败',
    347: '图片分辨率不合理',
    348: '通道工作模式错误',
    # 其他错误码
    717: '场景正在使用。',
    780: '终端忙，终端处于会议中。',
    791: '设备其它功能占用资源，导致该功能无法开启。',
    800: '网络流量超过设备能力上限',
    801: '录像文件在录像，无法被锁定',
    802: '由于硬盘太小无法格式化',
    # N+1功能错误码
    803: '远端无法连接',
    804: '备机不能添加备机',
    805: '备份盘异常',
    806: '备机数已达上限',
    807: '添加的备机是工作机',
    808: '添加顺序出错，比如没有被工作机添加为备机，就添加工作机',
    809: '工作机不能添加工作机',
    810: 'CVR服务异常(N+1模式下表示CVR工作机服务异常)',
    811: '备机CVR服务异常',
    812: '添加的工作机是备机',
    813: '性能达到上限',
    814: '添加的设备已经存在',
    # 审讯机错误码
    815: '审讯恢复中。',
    816: '审讯备份中。',
    817: '光盘回放中。',
    818: '审讯已开启。',
    819: '本地操作进行中。',
    820: '审讯未开启。',
    # 其他错误码
    821: '通道未绑定或绑定语音对讲失败。',
    822: '设备当前处于N+1模式，不支持设置云存储。',
    823: '云存储模式已开启',
    824: '设备处于N+0被接管状态，不允许该操作。',
    825: '设备处于N+0被接管状态，需要获取重定向信息，再重新操作。',
    # 庭审主机错误码
    830: '红外输出口错误。',
    831: '红外输出口的命令号错误。',
    832: '设备处于非审讯状态。',
    833: '设备处于非暂停状态。',
    # 其他错误码
    834: '校验密码错误。',
    835: '校验密码不能为空。',
    836: '当前无法标定。',
    837: '请先完成标定。',
    838: 'Flash中全景标定为空。',
    839: '标定失败，请重新标定。',
    840: '规则线配置错误，请重新配置规则线，确保规则线位于红色区域内。',
    843: '超过人脸图片最大张数。',
    844: '图片数据识别失败。',
    845: 'A<-1报警号已用于触发车辆抓拍。',
    846: '人脸库中数据库版本不匹配。',
    847: '人脸库数据错误。',
    848: '人脸数据PID无效。',
    849: '人脸库ID无效。',
    850: '超过人脸库最大个数。',
    851: '图片未识别到目标。',
    852: '子图建模失败。',
    853: '无对应智能分析引擎支持图片二次识别。',
    854: '无分析引擎资源。',
    855: '引擎使用率超负荷，已达100%。',
    856: '超过开启人体去误报最大通道个数。',
    857: '名称错误。',
    858: '名称已存在。',
    859: '人脸库导入图片中。',
    864: '图片格式错误。',
    865: '图片分辨率无效错误。',
    866: '图片过大。',
    867: '图片目标个数超过上限。',
    868: '分析引擎初始化中。',
    869: '分析引擎异常。',
    870: '分析引擎正在导入人脸库。',
    871: '无待建模数据。',
    872: '设备正在进行图片建模操作，不支持并发处理。',
    873: '超过设备中支持导入人脸数最大个数限制（导入的人脸库中数据）。',
    874: '分析引擎已关联通道。',
    875: '上层自定义ID的长度最小32字符长度。',
    876: '上层下发重复的自定义人脸库ID。',
    877: '上层下发重复的自定义人员ID。',
    878: 'url下载失败。',
    879: 'url未开始下载。',
    880: '配置文件安全校验密钥错误。',
    883: '测温区域越界。',
    897: '无温度传感器。',
    898: '瞳距过大。',
    # 多屏控制器错误码
    901: '开窗通道号错误。',
    902: '窗口层数错误，单个屏幕上最多覆盖的窗口层数。',
    903: '窗口的块数错误，单个窗口可覆盖的屏幕个数。',
    904: '输出分辨率错误。',
    905: '场景号错误。',
    906: '输入分辨率不支持。',
    907: '子设备不在线。',
    908: '没有空闲解码通道。',
    909: '开窗能力上限，解码子设备能力上限或者显示处理器能力上限导致。',
    910: '调用顺序有误。',
    911: '正在执行预案。',
    912: '解码板正在使用。',
    913: '输出板数据量超限。',
    914: '用户名相同。',
    915: '无效用户名。',
    916: '输入矩阵正在使用。',
    917: '通道类型不同（矩阵输出通道和控制器的输入为不同的类型）。',
    918: '输入通道已经被其他矩阵绑定。',
    919: '正在使用的矩阵输出通道个数超过矩阵与控制器绑定的通道个数。',
    920: '输入信号源个数达到上限。',
    921: '输入通道正在使用。',
    922: '管理员已经登陆，操作失败。',
    923: '该用户已经登陆，操作失败。',
    924: '场景正在初始化，操作失败。',
    925: '底图大小不符。',
    926: '窗口正在执行其他操作，本次操作失败。',
    927: '信号源开窗个数达到上限。',
    # 解码器错误码
    943: '窗口大小超限',
    951: '达到最大窗口重叠数',
    952: 'stream',
    953: '设备无零通道',
    955: '需要重定向（转码子系统使用）',
    956: '流ID不存在',
    957: '转码未启动',
    958: '流ID数达到上限',
    959: '工作模式不匹配',
    960: '已工作在当前模式',
    961: '设备正在处理中',
    962: '正在被动转码',
    975: '窗口位置错误',
    976: '屏幕距离超限',
    984: '操作失败，请先关闭窗口',
    985: '超出轮巡解码能力限制',
    986: '轮巡解码时间不支持',
    987: '联动通道数超过上限',
    # 热成像错误码
    998: '单位配置失败',
    # 能力集错误码
    1000: '不支持能力节点获取。',
    1001: '输出内存不足。',
    1002: '无法找到对应的本地xml。',
    1003: '加载本地xml出错。',
    1004: '设备能力数据格式错误。',
    1005: '能力集类型错误。',
    1006: 'XML能力节点格式错误。',
    1007: '输入的能力XML节点值错误。',
    1008: 'XML版本不匹配。',
    # 其他错误码
    1101: '透明通道已打开，当前操作无法完成。',
    1102: '设备正在升级',
    1103: '升级包类型不匹配',
    1104: '设备正在格式化',
    1105: '升级包版本不匹配',
    1106: 'PT已被锁定',
    1111: '验证码不合法，请修改验证码',
    1112: '缺少验证码，请输入验证码',
    1113: '该IP地址已被禁止，不允许配置(设备支持的IP地址过滤功能)',
    # 报警设备错误码
    1201: '正在搜索外接模块。',
    1202: '正在注册外接模块。',
    1203: '正在获取防区参数。',
    1204: '正在获取触发器。',
    1205: '系统处于布防状态。',
    1206: '系统处于编程模式。',
    1207: '系统处于步测模式。',
    1208: '旁路状态。',
    1209: '功能未使能。',
    1210: '防区不支持该操作。',
    1211: '模块地址不能被修改。',
    1212: '模块未注册。',
    1213: '公共子系统关联自身。',
    1214: '超过公共子系统最大关联个数。',
    1215: '子系统被其他公共子系统关联。',
    1216: '防区处于故障状态。',
    1217: '事件触发报警输出开启和事件触发报警输出关闭中有相同事件类型。',
    1218: '防区处于报警状态。',
    1219: '扩展总线短路。',
    1220: '密码冲突，比如开锁密码和防劫持密码相同。',
    1221: '探测器已被其他防区注册。',
    1222: '探测器已被其他主机注册。',
    1223: '探测器不在线。',
    1224: '设备正在通话中。',
    1225: '防区处于防拆状态。',
    1226: '无线外设已被其他主机注册。',
    1227: '无线外设已被添加。',
    1228: '无线外设不在线。',
    1229: '无线外设处于防拆状态。',
    1357: '文件名称错误，为空或不合法。',
    1358: '设备正在广播中。',
    # 抓拍机错误码
    1400: '车道数超出能力。',
    1401: '牌识区域过大。',
    1402: '信号灯接入参数错误。',
    1403: '车道线配置错误。',
    1404: '停止线配置错误。',
    1405: '左/右转分界线配置错误。',
    1406: '叠加车道号重复。',
    1407: '牌识多边形不符合要求。',
    1408: '视频检测交通灯信号灯数目超出最大值。',
    1409: '视频检测交通灯信号灯子灯数目不合法',
    1410: '视频检测交通灯输入信号灯框大小不合法。',
    1411: '视频检测交通灯输入信号灯颜色不合法。',
    1412: '视频检测交通灯输入灯方向属性不合法。',
    1413: 'IO口实际支持的能力不足。',
    1414: 'FTP端口号非法（端口号重复或者异常）',
    1415: 'FTP目录名非法（启用多级目录，多级目录传值为空）',
    1416: 'FTP上传类型非法（单ftp只支持全部/双ftp只支持卡口和违章）',
    1417: '配置参数时写FLASH失败',
    1418: '配置参数时读FLASH失败',
    1419: 'FTP图片命名分隔符非法',
    1420: 'FTP图片命名项非法（例如',
    1421: '牌识区域类型非法（矩形和多边形有效性校验）',
    1422: '抓拍次数非法（有效值是0～5）',
    1423: '线圈距离非法（有效值是0～2000ms）',
    1424: '线圈输入状态非法',
    1425: '测速组IO关联冲突',
    1426: '连拍间隔时间非法（0～6000ms）',
    1427: '标志限速值非法（大车标志限速不能大于小车标志限速）',
    1428: '图像配置翻转（配置交互影响）',
    1429: '关联车道数错误(重复',
    1430: '配置抓拍机触发模式非法',
    1431: '触发延时时间错误(2000ms)',
    1432: '超过最大485个数限制',
    1433: '雷达类型错误',
    1434: '雷达角度错误',
    1435: '雷达有效时间错误',
    1436: '雷达线性矫正参数错误',
    1437: '雷达常量矫正参数错误',
    1438: '录像参数无效（预录时间不超过10s）',
    1439: '视频检测信号灯配置信号灯个数，但是没有勾选信号灯方向和颜色的',
    1440: '视频检测信号灯配置信号灯个数，但是没有画检测区域',
    1441: '牌识参数省份参数的合法性',
    1442: 'IO测速超时时间非法（有效值大于0）',
    1443: 'ntp时区参数错误',
    1444: 'ntp校时间隔错误',
    1445: '可配置网卡数目错误',
    1446: '默认路由错误',
    1447: 'bonding网卡工作模式错误',
    1448: 'slave网卡错误',
    1449: 'Primary网卡错误',
    1450: 'dhcp和pppoE不能同时启动',
    1451: '网络接口错误',
    1452: 'MTU错误',
    1453: '子网掩码错误',
    1454: 'IP地址不合法',
    1455: '多播地址不合法',
    1456: '网关不合法',
    1457: 'DNS不合法',
    1458: '告警主机地址不合法',
    1459: 'IP冲突',
    1460: 'IP不支持同网段',
    1461: '端口错误',
    1462: 'PPPOE不支持',
    1463: '域名不支持',
    1464: '未启用测速功能',
    1465: 'IO状态错误',
    1466: '连拍间隔非法',
    1467: '备用模式错误',
    1468: '叠加车道号错误',
    1469: '线圈区域类型错误',
    1470: '触发区域参数错误',
    1471: '违章限速参数错误',
    1472: '车道关联协议类型错误',
    1473: '连拍间隔类型非法',
    1474: '连拍间隔距离非法',
    1475: 'RS485关联类型非法',
    1476: 'RS485关联车道号非法',
    1477: '车道号关联多个RS485口',
    1478: '视频检测信号灯配置信号灯个数，但是检测区域宽或高为0',
    1479: '不支持抓拍帧2D降噪',
    1480: '不支持的镜头类型',
    1481: '不支持的白平衡模式',
    1482: 'IO口的有效性',
    1483: '信号灯检测器接入红/黄灯超限(16)',
    1484: '信号灯检测器接入红/黄灯冲突',
    1485: '直行触发线',
    1486: '待行区停止线',
    1487: '闯红灯触发线',
    1488: 'IO输出口编号越界',
    1489: 'IO输出口提前时间超限',
    1490: 'IO输出口有效持续时间超限',
    1491: 'IO输出口脉冲模式下倍频出错',
    1492: 'IO输出口脉冲模式下占空比出错',
    1493: '以曝闪起效，工作方式不支持视频',
    1494: '车牌亮度自动使能闪光灯仅在车牌亮度补偿模式下起效',
    1495: '识别类型非法',
    1496: '牌识参数非法',
    1497: '端口有冲突',
    1498: 'IP不能设置为回环地址',
    1499: '压线灵敏度出错(视频电警模式下)',
    # VQD错误码
    1500: 'VQD诊断时间段冲突。',
    1501: 'VQD诊断计划不存在。',
    1502: 'VQD监控点不存在。',
    1503: 'VQD计划数已达上限。',
    1504: 'VQD任务数已达上限。',
    # 抓拍机错误码新增
    1600: '抓拍模式为频闪时最大抓拍张数为2张(IVT模式下)',
    1601: '相同485口关联雷达类型冲突',
    1602: '车牌号为空',
    1603: '写入数据库失败',
    1604: '车牌有效时间错误',
    1605: '预录开始时间大于违法抓拍张数',
    1606: '触发规则线错误',
    1607: '左/右触发线不垂直',
    1608: '闪光灯闪烁模式错误',
    1609: '违章抓拍张数错误',
    1610: '违章检测类型错误',
    1611: '正背向触发线高度错误',
    1612: '混合模式下只支持机非人抓拍类型',
    1613: '小车标志限速大于限速值',
    1614: '大车标志限速大于限速值',
    1615: '大车标志限速大于小车标志限速值',
    1616: '大车限速值大于小车限速值',
    1617: '大车低速限速值大于小车低速限速值',
    1618: '小车限速大于异常高速值',
    1619: '大车限速大于异常高速值',
    1620: '停止线超过直行触发线',
    # 门禁主机错误码
    1900: '时间段重叠',
    1901: '假日计划重叠',
    1902: '卡号未排序',
    1903: '卡号不存在',
    1904: '卡号错误',
    1905: '防区处于布防状态(参数修改不允许)',
    1906: '防区不支持该操作',
    1907: '多门互锁和反潜回同时配置错误',
    1908: '卡已满（卡达到10W后返回）',
    1909: '假日组下载失败',
    1910: '就地控制器离线',
    1911: '就地控制器未添加',
    1912: '就地控制器已添加',
    1913: '与已添加的就地控制器门编号冲突',
    1914: '就地控制器通信失败',
    1915: '操作对象不存在（对门、报警输出、报警输入相关操作，当对象未添加时返回）',
    1916: '就地控制器超出设备最大能力（主控对就地数量有限制）',
    1917: '门超出设备最大能力',
    1918: '报警输入输出超出设备最大能力',
    1919: '就地控制器地址与类型不符',
    1920: '不支持一人多卡',
    1921: '删除的人脸不存在',
    1922: '与设备门特殊密码重复',
    1923: '与设备认证码重复',
    1924: '布防超过最大连接数',
    1925: '读卡器不支持按手指ID删除指纹',
    1926: '有效期参数配置范围有误',
    1927: '采集超时',
    1928: '采集质量低',
    1929: '离线采集中，无法响应',
    1950: '与门口机通信异常',
    1951: '未设置房间号',
    1952: '无呼叫',
    1953: '响铃',
    1954: '正在通话',
    1955: '智能锁密码错误',
    1956: '开关锁失败',
    1957: '开关锁超时',
    1958: '智能锁设备繁忙',
    1959: '远程开锁功能未打开',
    # 其他错误码
    2100: '下载的文件不完整',
    2101: '该IPC已经存在',
    2102: '该通道已添加IPC',
    2103: '网络带宽能力不足',
    2104: 'IPC的ip地址跟DVR的IP地址冲突',
    2105: '非法IP地址',
    2106: '非法的端口号',
    2107: '不在同一个局域网，无法设置安全问题或导出GUID文件',
    2108: '功能互斥',
    2109: '安全问题配置数量错误',
    2110: '人脸智能通道资源已用完',
    2111: '正在数据回迁',
    2116: 'SMD编码资源不足',
    2117: 'SMD解码资源不足',
    2118: '人脸库数据正在处理',
    2119: '设备和服务器之间的时间差异太大',
    2120: '已开启回放，不支持本功能',
    2121: '通道已开启SMD，不支持本功能',
    2122: '通道已开启人脸抓拍，不支持本功能',
    2123: '非法的电话号码',
    2124: '非法的证件号码',
    2125: '通道分辨率不支持',
    2126: '通道编码格式不支持',
    2127: '设备数少，不允许删除',
    2128: '该设备是集群主机，不允许删除',
    2129: '设备数达到上限，不允许增加',
    2130: '设备类型不一致',
    2131: '设备版本不一致',
    2132: '集群系统IP地址冲突：ipv4地址冲突、ipv6地址冲突',
    2133: '集群系统IP地址无效：ipv4非法、ipv6非法',
    2134: '集群系统端口冲突',
    2135: '集群系统端口非法',
    2136: '用户名或密码非法',
    2137: '存在相同设备',
    2138: '设备不存在(组网时下发的cs列表中的设备信息在任何一台cs上都找不到，删除的时候下发的id不对)',
    2139: '设备处于非集群模式',
    2140: 'IP地址不在同一局域网，不同区域网不允许组网/扩容',
    2141: '抓包失败',
    2142: '正在抓包',
    2143: '安全帽检测资源不足',
    2144: '已开启视频摘要，不支持本功能',
    2146: '深度学习资源超限',
    2147: '交互口令错误',
    2148: '交互口令缺失',
    2149: '已开启人员密度检测，不支持本功能',
    2150: 'IPC分辨率超限',
    2151: 'IPC码率超限',
    2152: '无效的taskID',
    2153: '没有配置面板路智能',
    2181: '检测区域范围非法',
    2182: '通道抓图失败',
    2206: '需要二次认证',
    2207: '无二次认证用户',
    2266: 'SSD文件系统错误',
    3001: '设备当前状态不支持除冰功能（只在POE+、AC24V、DC12V供电下支持除冰功能）',
    3002: '测温功能总使能未开启(即NET_DVR_THERMOMETRY_BASICPARAM使能未开启)',
    3004: '全景地图和限位不可同时操作',
    3005: 'SmartH264和ROI不可同时操作',
    3006: '规则数达到上限',
    3007: '激光以及除冰功能不可同时操作',
    3008: '请先关闭数据变倍功能或变倍限制设置为最小值（当执行烟火检测、行为分析、船只检测、坏点矫正、测温、烟火屏蔽功能时，若没有关闭数据变倍或者变倍限制没有设置为最小值时，将会提示该错误码）',
    3013: '规则区域与屏蔽区域冲突',
    8001: 'NPQ库参数有误',
    8002: 'NPQ库操作系统调用错误(包括资源申请失败或内部错误等）',
    8003: 'NPQ库内部通用错误',
    8004: 'NPQ库调用顺序错误',
    8005: 'NPQ库功能不支持',
    8100: '数据没有回调上来',
    8101: 'NPQ库加载失败',
    8104: '本路码流NPQ功能未开启',
    8110: 'NPQ取流路数达上限',
    8111: '编码参数存在冲突配置',
    401: '认证失败(没有权限)：服务器返回401时，转成这个错误码',
    402: '分配资源失败',
    403: '参数错误',
    404: '指定的URL地址不存在：服务器返回404时，转成这个错误码，例如请求不可用的通道号预览、请求不支持子码流的通道预览',
    406: '用户中途强行退出',
    407: '获取RTSP端口错误',
    410: 'RTSP',
    411: 'RTSP',
    412: 'RTSP',
    413: 'RTSP',
    414: 'RTSP',
    415: 'RTSP',
    416: 'RTSP',
    420: 'RTSP',
    421: 'RTSP',
    422: 'RTSP',
    423: 'RTSP',
    424: 'RTSP',
    425: 'RTSP',
    426: '超过服务器最大连接数，或者服务器资源不足，服务器返回453时，转成这个错误码',
    427: 'RTSP',
    430: 'RTSP',
    431: 'RTSP',
    432: 'RTSP',
    433: 'RTSP',
    434: 'RTSP',
    435: 'RTSP',
    436: 'RTSP',
    440: 'RTSP',
    441: 'RTSP',
    442: 'RTSP',
    443: 'RTSP',
    444: 'RTSP',
    445: 'RTSP',
    446: 'RTSP',
    # 软解码库错误码
    500: '没有错误',
    501: '输入参数非法',
    502: '调用顺序不对',
    503: '多媒体时钟设置失败',
    504: '视频解码失败',
    505: '音频解码失败',
    506: '分配内存失败',
    507: '文件操作失败',
    508: '创建线程事件等失败',
    509: '创建directDraw失败',
    510: '创建后端缓存失败',
    511: '缓冲区满，输入流失败',
    512: '创建音频设备失败',
    513: '设置音量失败',
    514: '只能在播放文件时才能使用此接口',
    515: '只能在播放流时才能使用此接口',
    516: '系统不支持，解码器只能工作在Pentium',
    517: '没有文件头',
    518: '解码器和编码器版本不对应',
    519: '初始化解码器失败',
    520: '文件太短或码流无法识别',
    521: '初始化多媒体时钟失败',
    522: '位拷贝失败',
    523: '显示overlay失败',
    524: '打开混合流文件失败',
    525: '打开视频流文件失败',
    526: 'JPEG压缩错误',
    527: '不支持该文件版本.',
    528: '提取文件数据失败',
    # 转封装库错误码
    581: '类型不支持',
    # 语音对讲库错误码
    600: '没有错误',
    601: '不支持',
    602: '内存申请错误',
    603: '参数错误',
    604: '调用次序错误',
    605: '未发现设备',
    606: '不能打开设备',
    607: '设备上下文出错',
    608: 'WAV文件出错',
    609: '无效的WAV参数类型',
    610: '编码失败',
    611: '解码失败',
    612: '播放失败',
    613: '降噪失败',
    619: '未知错误',
    # Qos流控库错误码
    678: '预设的最小间隔错误.',
    679: '预设分数错误',
    680: '预设的带宽值无效',
    687: '数据包太大',
    688: '数据包长度错误',
    689: '数据包版本错误',
    690: '未知数据包',
    695: '内存不足',
    696: 'Lib库没有初始化',
    697: '没有找到会话',
    698: '参数无效',
    699: 'Qos',
    700: '没有错误',
}


def get_error_msg(error_code):
    return ErrorMsg.get(error_code, 'Unknown')
