View
174
Download
3
Category
Preview:
Citation preview
NetSDK Manual de programação
VERSÃO 1.4.0.0 (Build 090926)
2009-01-10
História modificação
data conteúdo
2008.10.22 Criar
2009.02.12 Add H264_DVR_SearchDevice para o dispositivo busca em LAN
2009.02.18 Adicione API com a conversa:
H264_DVR_StartVoiceCom_MR, H264_DVR_VoiceComSendData, H264_DVR_StopVoiceCom, H264_DVR_SetTalkMode
Adicionar IPA 2009.09.26 abaixo:
H264_DVR_StartDVRRecord, H264_DVR_StopDVRRecord, H264_DVR_SetSystemDateTime, H264_DVR_GetDVRWorkState, H264_DVR_ClickKey
1. Introdução Geral
1.1 Introdução
Este SDK é para VANGUARD DVR, servidor de vídeo em rede e etc O texto descreve as funções e interfaces, bem como as relações entre them.It também fornecem demonstração detalhada.
Este pacote inclui duas partes: operação e gestão de equipamentos:
operação
estado de escuta, um monitor em tempo real, visualização em tempo real, sobreposição personagem, controle de áudio, reprodução de registro e transferência, armazenamento de dados, controle PTZ, implantação de alarme, o diálogo de voz, gerenciamento de registros, gerenciamento de usuários, a ação em caso de alarme, a porta e com transparência etc
gerenciamento de dispositivos
atualização remota, reiniciar / desligamento remoto, os parâmetros de configuração do equipamento, tais como definição geral, alarme, registro, porta serial, imagem, registro, gerenciamento de usuários, o calendário do dispositivo, detecção de movimento, rede e etc
O pacote de desenvolvimento inclui os seguintes arquivos:
Arquivo Cabeça rede de bibliotecas NetSDK
Lib NetSDK.lib
NetSDK.dll biblioteca de interface
Assitante biblioteca H264Play.dll assistente de biblioteca Decode
Assistente de biblioteca Decode DllDeinterlace.dll
hi_h264dec_w.dll assistente de biblioteca Decode
1.2 Aplicabilidade
reprodução do monitor em tempo real Suporte, alarme, configuração remota, gerenciamento de log e etc.
Suporte TCP rede tramsmisson, 10 conexões TCP Max.
Você pode usar este SDK para se conectar a um dispositivo para desenvolver programa cliente-end, ou você pode usar a interface callback SDK para desenvolver o programa de servidor, como o fluxo de transferência de mídia, a reprodução, alarme e etc
O cliente suporta resoluções de multi-imagem, incluindo QCIF, CIF, 2CIF,
HalfD1, D1, VGA (640 × 480) e etc
Quando SDK é a reprodução / transferência, uma sessão ID não pode operar a reprodução e downalod para o mesmo canal ao mesmo tempo.
desempenho SDK tem dispositivo woth relação estado e capacidade PC cliente final execução. Basicamente, ele pode suportar 1.024 usuários se registrem, ao mesmo tempo, 1024-ch visualização de rede e reprodução ao mesmo tempo. Apoio alarme 1024-ch carregar ao mesmo tempo. E exibição de vídeo de 100 ch
Desig de principia
1.3 Programação Descrição
inicialização e limpar
1, First H264_DVR_Init chamada () para inicializar SDK, quando sair do aplicativo, chamando H264_DVR_Cleanup () para liberar todo recurso ocupado.
2, Most API chamará após H264_DVR_Init (), antes de H264_DVR_Cleanup (), mas H264_DVR_GetLastError pode ser chamado em qualquer lugar.
Entrar em sessão e fora
Dispositivo de acesso antes da sua, você será chamado H264_DVR_Login () primeiro login, você também pode ligar para H264_DVR_LoginEx () para atribuir o seu tipo de cliente logined. Se o login bem sucedido, irá retornar um identificador global, o identificador é um canal de sessão, você pode usá-lo para operar o dispositivo. Chame H264_DVR_Logout () para fechar esta sessão.
Callback Fuction
Função de callback tem um parâmetro: dwUser, é elf-definir parâmetros, você pode definir seus dados do proprietário.
1.4 API chamada de Referência
O diagrama abaixo descreve uma breve referência API pedindo aplicação básica do cliente, e os usuários podem adicionar em outros módulos de função de acordo com os requisitos das aplicações reais.
A. Inicialização
SDK H264_DVR_Init Inicialização ()
B. Definir retorno para a mensagem de alarme
Definir H264_DVR_SetDVRMessCallBack callback ()
C. Entrar em
Entrar em H264_DVR_Login ()
H264_DVR_LoginEx ()
Assinar mensagem de alarme H264_DVR_SetupAlarmChan ()
D. Operação de dispositivo, get e set parâmetro de configuração
H264_DVR_GetDevConfig parâmetro de configuração ()
H264_DVR_SetDevConfig ()
Entrar em busca H264_DVR_FindDVRLog ()
PTZ controle H264_DVR_PTZControl ()
H264_DVR_PTZControlEx ()
E. pré-visualização em tempo real
Abra e feche H264_DVR_RealPlay canal de monitor ()
H264_DVR_StopRealPlay ()
Callback para salvar os dados do monitor
H264_DVR_SetRealDataCallBack ()
F. Reprodução / download
Gravar pesquisa H264_DVR_FindFile ()
H264_DVR_PlayBackByName controle de reprodução ()
H264_DVR_PlayBackControl ()
H264_DVR_StopPlayBack ()
Baixar H264_DVR_GetFileByName ()
H264_DVR_GetDownloadPos ()
H264_DVR_StopGetFile ()
G. Controle remoto
Atualize H264_DVR_Upgrade ()
H264_DVR_GetUpgradeState ()
H264_DVR_CloseUpgradeHandle ()
Reiniciar / Clear H264_DVR_ControlDVR log ()
H. Entrar para fora
Cancelar se inscrever para mensagem de alarme
H264_DVR_CloseAlarmChan ()
Disconnect H264_DVR_Logout ()
I. Lançamento SDK recurso
SDK saída H264_DVR_Cleanup ()
2 Estrutura de Dados Descrição
2.1 Client Estrutura Descrição
Tipo de controle / / PTZ
typedef enum PTZ_ControlType
{
TILT_UP = 0, / / UP
TILT_DOWN, / / DOWN
PAN_LEFT, / / LEFT
PAN_RIGTH, / / rigth
PAN_LEFTTOP, TOP / / LEFT
PAN_LEFTDOWN, / / esquerda para baixo
PAN_RIGTHTOP, / / rigth TOP
PAN_RIGTHDOWN, / / rigth BAIXO
ZOOM_IN, / / ZOOM IN
ZOOM_OUT, / / ZOOM OUT
FOCUS_FAR, / / FOCUS FAR
FOCUS_NEAR, / / FOCUS NEAR
IRIS_OPEN, / / IRIS ABERTO
IRIS_CLOSE, / / IRIS FECHAR
EXTPTZ_OPERATION_ALARM, / / ALARME
EXTPTZ_LAMP_ON, / / LUZ ABERTO
EXTPTZ_LAMP_OFF, / / LUZ FECHAR
EXTPTZ_POINT_SET_CONTROL, / / SET POINT PRESET
EXTPTZ_POINT_DEL_CONTROL, PONTO PRESET / / CLEAR
EXTPTZ_POINT_MOVE_CONTROL, / / GOTO PRESET POINT
EXTPTZ_STARTPANCRUISE, / / START PAN CRUISE
EXTPTZ_STOPPANCRUISE, / / STOP PAN CRUISE EXTPTZ_SETLEFTBORDER, / / SET borda esquerda
EXTPTZ_SETRIGHTBORDER, / / SET borda direita
EXTPTZ_STARTLINESCAN, / / START AUTO SCAN
EXTPTZ_CLOSELINESCAN, / / PARAR AUTO SCAN
EXTPTZ_ADDTOLOOP, / / ADD POINT PRESET A linha de cruzeiro
EXTPTZ_DELFROMLOOP, / / DEL ponto predefinido de Cruise Line
EXTPTZ_POINT_LOOP_CONTROL, / / INÍCIO DO CRUZEIRO
EXTPTZ_POINT_STOP_LOOP_CONTROL, / / CRUZEIRO PARAR
EXTPTZ_CLOSELOOP, / / CRUZEIRO Limpar Line
EXTPTZ_FASTGOTO, / / FAST GOTO
EXTPTZ_AUXIOPEN, / / AUX ABERTO
EXTPTZ_OPERATION_MENU, / / operação do menu
EXTPTZ_REVERSECOMM, / / REVER cameral
EXTPTZ_OPERATION_RESET, / / / <PTZ REAJUSTE
EXTPTZ_TOTAL,
};
O código de erro, o retorno por GetLastError
typedef enum SDK_RET_CODE
{
H264_DVR_NOERROR = 0, / / nenhum erro
H264_DVR_SUCCESS = 1, / / sucesso
H264_DVR_SDK_NOTVALID = -10.000, / / inválido pedido
H264_DVR_NO_INIT = -10.001, / / SDK não inited
H264_DVR_ILLEGAL_PARAM = -10.002, parâmetro do usuário / / ilegal
H264_DVR_INVALID_HANDLE = -10.003, / / handle é nulo
H264_DVR_SDK_UNINIT_ERROR = -10.004, / / erro claro SDK
H264_DVR_SDK_TIMEOUT = -10.005, / / timeout
H264_DVR_SDK_MEMORY_ERROR = -10.006, / H264_DVR_SDK_NET_ERROR erro de memória / = -10.007, erro / / rede
H264_DVR_SDK_OPEN_FILE_ERROR = -10.008, arquivo / / open falhar
H264_DVR_SDK_UNKNOWNERROR = -10.009, erro / / desconhecido
H264_DVR_DEV_VER_NOMATCH = -11.000, / / incompatibilidade de versão
H264_DVR_ERROR_GET_DATA = -11.001, / / obtém fail dados (incluindo configuração, informações de usuário e etc)
H264_DVR_OPEN_CHANNEL_ERROR = -11.200, canal / / open falhar
H264_DVR_CLOSE_CHANNEL_ERROR = -11.201, canal / / fechar falhar
H264_DVR_SUB_CONNECT_ERROR = -11.202, / / open media connet falhar H264_DVR_SUB_CONNECT_SEND_ERROR = -11.203, / / media connet enviar dados falham
/ / / Código de erro de gerenciamento de usuários
H264_DVR_NOPOWER = -11.300, / / não poder
H264_DVR_PASSWORD_NOT_VALID = -11.301, / / senha não é válida
H264_DVR_LOGIN_USER_NOEXIST = -11.302, / / usuário não existe
H264_DVR_USER_LOCKED = -11.303, / / usuário está bloqueado
H264_DVR_USER_IN_BLACKLIST = -11.304, / / usuário está em backlist
H264_DVR_USER_HAS_USED = -11.305, / / user ter logined H264_DVR_USER_NOT_LOGIN = -11.305, / / não H264_DVR_CONNECT_DEVICE_ERROR login = -11.306, o dispositivo / / talvez não existam
/ / / Código de erro de gestão de configuração
H264_DVR_OPT_RESTART = -11.400, / / necessário reiniciar a aplicação H264_DVR_OPT_REBOOT = -11.401, / / precisa reiniciar sistema H264_DVR_OPT_FILE_ERROR = -11.402, / / gravar o arquivo falhar
H264_DVR_OPT_CAPS_ERROR = -11.403, / / não suporta
H264_DVR_OPT_VALIDATE_ERROR = -11.404, / / validar falhar H264_DVR_OPT_CONFIG_NOT_EXIST = -11.405, / / config não existe
H264_DVR_CTRL_PAUSE_ERROR = -11.500, / / pausa falhar
};
Alarme Tipo de Evento
enum SDK_EventCodeTypes
{
SDK_EVENT_CODE_INIT = 0,
SDK_EVENT_CODE_LOCAL_ALARM = 1, alarme / / local SDK_EVENT_CODE_NET_ALARM, / / rede alarme SDK_EVENT_CODE_MANUAL_ALARM, / alarme / manual
SDK_EVENT_CODE_VIDEO_MOTION, / / detecção de movimento
SDK_EVENT_CODE_VIDEO_LOSS, / / perda de detecção SDK_EVENT_CODE_VIDEO_BLIND, / detecção / cego
SDK_EVENT_CODE_VIDEO_TITLE,
SDK_EVENT_CODE_VIDEO_SPLIT,
SDK_EVENT_CODE_VIDEO_TOUR,
SDK_EVENT_CODE_STORAGE_NOT_EXIST,
SDK_EVENT_CODE_STORAGE_FAILURE,
SDK_EVENT_CODE_LOW_SPACE,
SDK_EVENT_CODE_NET_ABORT,
SDK_EVENT_CODE_COMM,
SDK_EVENT_CODE_STORAGE_READ_ERROR,
SDK_EVENT_CODE_STORAGE_WRITE_ERROR,
SDK_EVENT_CODE_NET_IPCONFLICT,
SDK_EVENT_CODE_ALARM_EMERGENCY,
SDK_EVENT_CODE_DEC_CONNECT,
SDK_EVENT_CODE_NR,
};
/ / Alarme informações
typedef struct SDK_ALARM_INFO
{
int nChannel;
int iEvent / / / <consulte SDK_EventCodeTypes
int iStatus / / / <0: start 1: parar
SDK_SYSTEM_TIME sysTime;
} SDK_AlarmInfo;
2.1.1 Estrutura de informações do dispositivo
Estrutura do dispositivo definem como abaixo
typedef struct _H264_DVR_DEVICEINFO
{
sSoftWareVersion char [64] / / / <versão do software
sHardWareVersion char [64] / / <versão / hardware
sEncryptVersion char [64] / / / <versão criptografar
SDK_SYSTEM_TIME tmBuildTime ;/ / / <tempo de construção
sSerialNumber char [64] / / / <dispositivo de número de série
int byChanNum / / / <número do canal de vídeo em
int iVideoOutChannel / / / <número do canal de saída de vídeo
int byAlarmInPortNum / / / <número do canal de alarme em
int byAlarmOutPortNum / / / <número do canal de saída de alarme
int iTalkInChannel / / / <número do canal de conversa em
int iTalkOutChannel / / / <número do canal de falar para fora
int iExtraChannel / / / <número do canal adicional
int iAudioInChannel / / / <número do canal de áudio
int iCombineSwitch / / / <número do canal de combinar
} H264_DVR_DEVICEINFO, * LPH264_DVR_DEVICEINFO;
2.1.2 Data de Informação
typedef struct {SDK_SYSTEM_TIME
int ano ;/ / / <ano
int mês ;/ / / <mês, janeiro = 1, fevereiro = 2, e assim por diante.
int dia ;/ / / <dia
int wday ;/ / / <semana, domingo = 0, segunda-feira = 1, e assim por diante
int hora ;/ / / <hora
int minutos ;/ / / <minutos
int segundo ;/ / / <segunda
int isdst ;/ / / <DST (horário de verão), bandeira, Sim = 1, Não = 0
} SDK_SYSTEM_TIME;
2.1.3 Gravar Informações do Arquivo
/ Estrutura de condição / search
typedef struct
{
int nChannelN0 / / canal NÃO, começam com 0
int nFileType; tipo / / record
H264_DVR_TIME startTime, o tempo / / start
H264_DVR_TIME endTime, o tempo / / fim
carbonizar szCard [32], o número / / cartão
} H264_DVR_FINDINFO;
/ / O retorno da estrutura de informação de registro
typedef struct
{
int ch / / / <canal NÃO, começam com 0
tamanho int / / / <tamanho do registro (BYTE)
sFileName char [108] / / <nome do arquivo / registro
SDK_SYSTEM_TIME stBeginTime / / / <hora de início do registro SDK_SYSTEM_TIME stEndTime / / / <final hora de registo
} H264_DVR_FILE_DATA;
Protocolo de Informações de série
struct SDK_COMMATTRI
{
iDataBits int / / bit de dados: [5,8]
iStopBits int / / Stop bit: [0,2]
int iParity / / paridade: 0: Nenhum 1: odd 2: até 3: Marca 4: espaço
int iBaudRate / / taxa de transmissão: 115200,57600,38400,9600,4800,2400 e assim por diante
};
/ / Configure série
struct SDK_CONFIG_COMM_X
{
carbonizar iProtocolName [32] / / Protocolo: "Console"
int iPortNo / / N º porta
SDK_COMMATTRI aCommAttri / / atributo da série
};
云台 协议
struct SDK_STR_CONFIG_PTZ
{
carbonizar sProtocolName [NET_MAX_PTZ_PROTOCOL_LENGTH]; / / Protocolo
int ideviceNo / / PTZ dispositivo NO.
iNumberInMatrixs int / / NO. em matrixs
int iPortNo; port / / serial NO: [1, 4].
SDK_COMMATTRI dstComm / / atributo da série
};
/ / Todos os canais de protocolo PTZ
struct SDK_STR_PTZCONFIG_ALL
{
SDK_STR_CONFIG_PTZ ptzAll [NET_MAX_CHANNUM];
};
User Manager Estrutura de Dados
Lista de direito
typedef struct _OPR_RIGHT
{
string nome;
} OPR_RIGHT;
typedef struct _USER_INFO
{
int rigthNum;
corda direitos [NET_MAX_RIGTH_NUM];
corda strGroupname;
corda strmemo;
strName string;
corda strPassword;
bool reservados / / é usuário reservados
bool compartilhável / / é compartilhável
} USER_INFO;
typedef struct _USER_GROUP_INFO
{
int rigthNum;
cadeia memo;
string nome;
direitos string [NET_MAX_RIGTH_NUM] / / lista da direita
} USER_GROUP_INFO;
/ / Todos os usuários e estrutura de informação do grupo
typedef struct _USER_MANAGE_INFO
{
int rigthNum;
OPR_RIGHT rightList [NET_MAX_RIGTH_NUM];
int GroupNum;
USER_GROUP_INFO groupList [NET_MAX_GROUP_NUM];
int UserNum;
USER_INFO userList [NET_MAX_USER_NUM];
} USER_MANAGE_INFO;
/ / Modificar usuário
typedef struct _CONF_MODIFYUSER
{
std :: string sUserName;
USER_INFO usuário;
} CONF_MODIFYUSER;
/ / Modificar grupo
typedef struct _CONF_MODIFYGROUP
{
std :: string sGroupName;
Grupo USER_GROUP_INFO;
} CONF_MODIFYGROUP;
/ / / Modificar a senha
struct _CONF_MODIFY_PSW
{
std :: string sUserName;
std :: string sPassword;
std :: string sNewPassword;
};
informações de log
# Define NET_MAX_RETURNED_LOGLIST 1024 / / o item máximo de Log
/ / / Condição de pesquisa log
struct SDK_LogSearchCondition
{
int nType / / / <tipo de log: 0: todos 1: Sistema 2: configurar 3: armazenamento 4: alarme 5: ficha 6: conta 7: arquivo
int iLogPosition / / / <retorno da última posição do item de registro em todo os logs
SDK_SYSTEM_TIME stBeginTime / / / <começam tempo
SDK_SYSTEM_TIME stEndTime / / / <tempo do fim
};
/ / Retorno de pesquisa Identificar
struct SDK_LogList
{
int iNumLog;
struct LogItem
{
carbonizar sType [24] / / / <tipo de registro
carbonizar suser [32] / / / <Operador de log
sData de char [68] / / </ dados de log
SDK_SYSTEM_TIME stLogTime / / / <o tempo de log aconteceu
} Logs [NET_MAX_RETURNED_LOGLIST];
};
estrutura de informação de armazenamento
struct SDK_STORAGEDISK
{
int iPhysicalNo;
int iPartNumber;
SDK_DriverInformation diPartitions [SDK_MAX_DRIVER_PER_DISK];
};
struct SDK_StorageDeviceInformationAll
{
int iDiskNumber;
SDK_STORAGEDISK vStorageDeviceInfoAll [SDK_MAX_DISK_PER_MACHINE];
};
monitor em tempo real
typedef struct {
int nChannel, NO / / Channel.
nStream int / / 0: córrego principal, 1: fluxo adicional
int nMode / / 0: TCP, 1: UDP
} H264_DVR_CLIENTINFO, * LPH264_DVR_CLIENTINFO;
2.1.4 Estrutura de configuração
Comandos de H264_DVR_GetDevConfig, H264_DVR_SetDevConfig
typedef enum _SDK_CONFIG_TYPE
{
E_SDK_CONFIG_NOTHING = 0,
Managerment / / Usuário
E_SDK_CONFIG_USER, / informação / usuário, incluindo a lista de energia, lista de usuário e lista de grupos
USER_MANAGE_INFO
E_SDK_CONFIG_ADD_USER, / / adiciona USER_INFO usuário
E_SDK_CONFIG_MODIFY_USER, / / CONF_MODIFYUSER usuário modify
E_SDK_CONFIG_DELETE_USER, / / del usuário USER_INFO
E_SDK_CONFIG_ADD_GROUP, / / adiciona grupo USER_GROUP_INFO
E_SDK_CONFIG_MODIFY_GROUP, / / modify grupo CONF_MODIFYGROUP
E_SDK_COFIG_DELETE_GROUP, / / del grupo USER_GROUP_INFO
E_SDK_CONFIG_MODIFY_PSW, / / modificar a senha _CONF_MODIFY_PSW
/ Capacidade / dispositivo
E_SDK_CONFIG_ABILITY_SYSFUNC = 9, / / suporte de serviços de rede SDK_SystemFunctio
E_SDK_CONFIG_ABILTY_ENCODE, / / codificar CONFIG_EncodeAbility capacidade
E_SDK_CONFIG_ABILITY_PTZPRO, / / protocolos de PTZ apoio SDK_PTZPROTOCOLFUNC
E_SDK_COMFIG_ABILITY_COMMPRO, / / 232 protocolos de apoio SDK_COMMFUNC
E_SDK_CONFIG_ABILITY_MOTION_FUNC, / / Motion detectar SDK_MotionDetectFunction
E_SDK_CONFIG_ABILITY_BLIND_FUNC, / / Cego detecção SDK_BlindDetectFunction
E_SDK_CONFIG_ABILITY_DDNS_SERVER, / / o tipo de serviços DDNS apoio SDK_DDNSServiceFunction
E_SDK_CONFIG_ABILITY_TALK, / / codificar tipo de sustentação audio
/ / Dispositivo de configuração
E_SDK_CONFIG_SYSINFO = 17, / / sistema de informação H264_DVR_DEVICEINFO
E_SDK_CONFIG_SYSNORMAL, / / geral SDK_CONFIG_NORMAL
E_SDK_CONFIG_SYSENCODE, / / codificar SDK_EncodeConfigAll
E_SDK_CONFIG_SYSNET, SDK_CONFIG_NET_COMMON / / rede
E_SDK_CONFIG_PTZ, / / PTZ SDK_STR_PTZCONFIG_ALL
E_SDK_CONFIG_COMM, / / 232 SDK_CommConfigAll
E_SDK_CONFIG_RECORD, / / record SDK_RECORDCONFIG_ALL
E_SDK_CONFIG_MOTION, / / detecção de movimento SDK_MOTIONCONFIG
E_SDK_CONFIG_SHELTER, / / cego detecção SDK_BLINDDETECTCONFIG_ALL
E_SDK_CONFIG_VIDEO_LOSS, / / perda de detecção SDK_VIDEOLOSSCONFIG_ALL
E_SDK_CONFIG_ALARM_IN, / / alarme em SDK_ALARM_INPUTCONFIG_ALL
E_SDK_CONFIG_ALARM_OUT, / / saída de alarme
E_SDK_CONFIG_DISK_MANAGER / / Gerenciamento de disco
E_SDK_CONFIG_OUT_MODE, o modo / / out
E_SDK_CONFIG_AUTO, / / auto manter SDK_AutoMaintainConfig
E_SDK_CONFIG_DEFAULT, / / set default
E_SDK_CONFIG_DISK_INFO, / info / disco SDK_StorageDeviceInformationAll
E_SDK_CONFIG_LOG_INFO, / / obtém SDK_LogList log
E_SDK_CONFIG_NET_IPFILTER, / / serviços de rede: preto / branco lista SDK_NetIPFilterConfig
E_SDK_CONFIG_NET_DHCP, / / serviços de rede: DHCP
E_SDK_CONFIG_NET_DDNS, / / serviços de rede: DDNS SDK_NetDDNSConfigALL
E_SDK_CONFIG_NET_EMAIL, / / serviços de rede: SDK_NetEmailConfig EMAIL
E_SDK_CONFIG_NET_MULTICAST, / / serviços de rede: SDK_NetMultiCastConfig Multicast
E_SDK_CONFIG_NET_NTP, / / serviços de rede: NTP SDK_NetNTPConfig
E_SDK_CONFIG_NET_PPPOE, / / serviços de rede: PPPOE SDK_NetPPPoEConfig
E_SDK_CONFIG_NET_DNS, / / serviços de rede: DNS SDK_NetDNSConfig
E_SDK_CONFIG_NET_FTPSERVER, / / serviços de rede: FTP SDK_FtpServerConfig
Tempo E_SDK_CONFIG_SYS_TIME, / system /
E_SDK_CONFIG_CLEAR_LOG, log / / clear
E_SDK_REBOOT_DEV, o dispositivo / / reboot
E_SDK_CONFIG_ABILITY_LANG, / / languages apoio
E_SDK_CONFIG_VIDEO_FORMAT, formato / / Vídeo
E_SDK_CONFIG_COMBINEENCODE, / / combinar codificar
E_SDK_CONFIG_EXPORT, / / config exportação
E_SDK_CONFIG_IMPORT, importação / / config
E_SDK_LOG_EXPORT, exportação / / log
E_SDK_CONFIG_COMBINEENCODEMODE, / / modo de combinar codificar
E_SDK_WORK_STATE, estado / / trabalho
} SDK_CONFIG_TYPE;
/ / / Tipo de suporte DDNS
struct SDK_DDNSServiceFunction
{
int nTypeNum;
carbonizar vDDNSType [NET_MAX_DDNS_TYPE] [64];
};
/ / Support / cego detect
struct SDK_BlindDetectFunction
{
int iBlindCoverNum / / / <o número de apoio área da tampa
};
/ / / Detecção de movimento
struct SDK_MotionDetectFunction
{
int iGridRow / / / <o número de linha
int iGridColumn / / / <o número de Colum
};
/ / / 232 protocolos de apoio
struct SDK_COMMFUNC
{
int nProNum / / / <o número de protocolo
carbonizar vCommProtocol [SDK_COM_TYPES] [32] / / / <nome de protocolo
};
/ / / Protocolos de PTZ
struct SDK_PTZPROTOCOLFUNC
{
int nProNum;
carbonizar vPTZProtocol [100] [NET_MAX_PTZ_PROTOCOL_LENGTH];
};
/ / / Codificar a informação
struct SDK_EncodeInfo
{
bool bEnable / / / <enable
int iStreamType / / / <tipo de fluxo ver se referir a capture_channel_t
bool bHaveAudio / / / <é audio apoio
unsigned uiCompression int / / / <máscara de capture_comp_t
unsigned uiResolution int / / / <máscara de capture_size_t
};
/ / / Codificar poder
struct CONFIG_EncodeAbility
{
int iMaxEncodePower / / / <max codificar poder
SDK_EncodeInfo vEncodeInfo [SDK_CHL_FUNCTION_NUM] / / / <codificar a informação
SDK_EncodeInfo vCombEncInfo [SDK_CHL_FUNCTION_NUM] / / / <combinar-codificar a informação
};
/ / / Sistema de função
struct SDK_SystemFunction
{
bool vEncodeFunction SDK_ENCODE_FUNCTION_TYPE_NR [] / / / <Encode Funções
bool vAlarmFunction SDK_ALARM_FUNCTION_TYPE_NR [] / / / <alarme fucntions
bool vNetServerFunction SDK_NET_SERVER_TYPES_NR [] / / / <Funções Net Servidor
bool vPreviewFunction SDK_PREVIEW_TYPES_NR [] / / / <Preview Funções
};
/ / / <Auto-Manter ambiente
struct SDK_AutoMaintainConfig
{
int iAutoRebootDay / / / <intervalo de dias Auto-reboot
int iAutoRebootHour / / / <a hora de reiniciar [0, 23]
int iAutoDeleteFilesDays / / / <intervalo de arquivo de gravação Auto-Del [0, 30]
};
/ / Info Disk
struct SDK_STORAGEDISK
{
int iPhysicalNo; Não. / / Física
int iPartNumber / / Partition números
SDK_DriverInformation diPartitions [SDK_MAX_DRIVER_PER_DISK];
};
struct SDK_StorageDeviceInformationAll
{
int iDiskNumber;
SDK_STORAGEDISK vStorageDeviceInfoAll [SDK_MAX_DISK_PER_MACHINE];
};
/ / Tipo de ligação PTZ
enum PtzLinkTypes
{
PTZ_LINK_NONE, / / NONE
PTZ_LINK_PRESET, / / GOTO PRESET
PTZ_LINK_TOUR, / / TOUR
PTZ_LINK_PATTERN / / PADRÃO
};
/ / PTZ ligação Configuração
struct SDK_PtzLinkConfig
{
int iType / / ver se referir a PtzLinkTypes
int iValue / / valor do tipo de ligação
};
/ / Manipulador de evento
struct SDK_EventHandler
{
unsigned int dwRecord / / máscara de bits de registro. Bits por canal
unsigned int iRecordLatch; trava / / record: 10 ~ 300 seg.
unsigned dwTour int / / máscara de bits de turnê. Bits por canal
unsigned dwSnapShot int / / máscara de bits de snapshot. Bits por canal
unsigned dwAlarmOut int / / máscara de bits de saída de alarme. Bits por canal
unsigned dwMatrix int / / máscara de bits de matriz. Bits por canal
int iEventLatch / / intervalo de evento (unidade: seg.)
int iAOLatch / / Saída de alarme trava: 10 ~ 300 seg
SDK_PtzLinkConfig PtzLink [NET_MAX_CHANNUM] / / PTZ ativação ligação
SDK_CONFIG_WORKSHEET horário / / weeksheet de registro
bool bRecordEn / / ativar o sinalizador de registro
bool bTourEn / / permitir bandeira da turnê
bool bSnapEn / / ativar o sinalizador de snapshot
bool bAlarmOutEn / / ativar o sinalizador de alarme fora
bool bPtzEn / / ativar o sinalizador de ligação PTZ
bool bTip / / ativar o sinalizador de dica de tela
bool BMail / / ativar o sinalizador de envio de e-mail
bool bMessage / / ativar o sinalizador de envio de mensagem para o centro de alarme
bool bBeep / / ativar o sinalizador de aviso sonoro buzzer
bool BVoice / / permitir bandeira de ponta voz
bool BFTP / / ativar o sinalizador de FTP descarregar
bool bMatrixEn / / não usado
Blog bool / / ativar o sinalizador de log
bool bMessagetoNet / / não usado
};
/ / / <Cegos detect
struct SDK_BLINDDETECTCONFIG
{
bool bEnable / / / <enable
int iLevel / / / <sensibilidade: 1 ~ 6
SDK_EventHandler hEvent / / / <manipulador de cego detectar evento
};
/ / / Todos os canais de cego detectar configuração
struct SDK_BLINDDETECTCONFIG_ALL
{
SDK_BLINDDETECTCONFIG vBlindDetectAll [NET_MAX_CHANNUM];
};
/ / / <Alarme em
struct SDK_ALARM_INPUTCONFIG
{
bool bEnable / / / <enable
int iSensorType / / / <Tipo de Sensor: Normal ou Normal Aberto Fechar
SDK_EventHandler hEvent / / / <manipulador de alarme em
};
/ / / <Todos os canais de alarme na configuração
struct SDK_ALARM_INPUTCONFIG_ALL
{
SDK_ALARM_INPUTCONFIG vAlarmConfigAll [NET_MAX_CHANNUM];
};
/ / / <Detecção de movimento
struct SDK_MOTIONCONFIG
{
bool bEnable / / <enable
int iLevel / / <sensibilidade: [1,6]
unsigned int mRegion [NET_MD_REGION_ROW] / / <regiões de detecção de movimento, um bit por coluna, região Max: 18 * 22
SDK_EventHandler hEvent / / <manipulador de detecção de movimento
};
/ / / Todos os canais de configuração de movimento de vídeo
struct SDK_MOTIONCONFIG_ALL
{
SDK_MOTIONCONFIG vMotionDetectAll [NET_MAX_CHANNUM];
};
/ / / <Perda de vídeo detectar
struct SDK_VIDEOLOSSCONFIG
{
bool bEnable / / / <enable
SDK_EventHandler hEvent / / / <manipulador de eventos
};
/ / / Todos os canais de configuração de perda de vídeo
struct SDK_VIDEOLOSSCONFIG_ALL
{
SDK_VIDEOLOSSCONFIG vGenericEventConfig [NET_MAX_CHANNUM];
};
/ / / Record tipo de modo
enum SDK_RecordModeTypes
{
SDK_RECORD_MODE_CLOSED, / / / <Fechado
SDK_RECORD_MODE_MANUAL, / / / <Manual: recorde o tempo todo
SDK_RECORD_MODE_CONFIG, / / / <Configuração: de acordo com SDK_RECORDCONFIG
SDK_RECORD_MODE_NR,
};
/ / / Recorde <
struct SDK_RECORDCONFIG
{
int iPreRecord / / / <tempo de pré-gravação (Unidade: sec.)
bRedundancy bool / / / <recorde redundância
bSnapShot bool / / / <não usados
int iPacketLength / / / <comprimento de registro (unidade: minuto) [1, 255]
int iRecordMode; <modo / / / registro, consulte SDK_RecordModeTypes
SDK_CONFIG_WORKSHEET wcWorkSheet / / / <planilha
unsigned int typeMask [NET_N_WEEKS] [NET_N_TSECT] / / / <máscara do tipo de registro, que corresponde a planilha
};
/ / Todos os canais de configuração do registro
struct SDK_RECORDCONFIG_ALL
{
SDK_RECORDCONFIG vRecordConfigAll [NET_MAX_CHANNUM];
};
/ / Configuração Geral
typedef struct _SDK_CONFIG_NORMAL
{
NEW_NET_TIME sysTime / / / <hora do sistema
int iLocalNo / / / <dispositivo n º: [0, 998]
int iOverWrite / / / <quando o disco completo, 0: substituição, 1: stoprecord
int iSnapInterval / / / <não usado
carbonizar sMachineName [64], o nome / / / <dispositivo
int iVideoStartOutPut / / / <não usado
int iAutoLogout / / / <auto Sair [0, 120], 0 significa nunca
int iVideoFormat / / / <formato de vídeo: 0: PAL, 1: NTSC, 2: SECAM
int iLanguage / / / <idioma: 0: Inglês, 1: SimpChinese, 2: TradChinese, 3: italiano, 4: Espanhol, 5: japonês, 6: Russo, 7: França, 8: Alemão
int iDateFormat / / / <formato de data: 0: YYMMDD, 1: MMDDYY, 2: DDMMYY
int iDateSeparator / / / <Data separador:. 0:, 1 -, 2: /
int iTimeFormat / / / <formato Time: 0: 12, 1: 24
int iDSTRule / / / <DST regra: 0: OFF, 1: ON
int iWorkDay / / / <dia de trabalho
DSTPoint dDSTStart;
DSTPoint dDSTEnd;
} SDK_CONFIG_NORMAL;
/ / Codificar configuração
struct SDK_CONFIG_ENCODE
{
SDK_MEDIA_FORMAT dstMainFmt [SDK_ENCODE_TYPE_NUM]; / stream / main
SDK_MEDIA_FORMAT dstExtraFmt [SDK_EXTRATYPES] / / stream extra
SDK_MEDIA_FORMAT dstSnapFmt [SDK_ENCODE_TYPE_NUM] / / Snapshot
};
/ / Todos canal codificar configuração
struct SDK_EncodeConfigAll
{
SDK_CONFIG_ENCODE vEncodeConfigAll [NET_MAX_CHANNUM];
};
/ / Combinar codificar
struct SDK_CombineEncodeConfigAll
{
SDK_CONFIG_ENCODE vEncodeConfigAll [NET_MAX_COMBINE_NUM];
};
/ / Newwork configuração
struct SDK_CONFIG_NET_COMMON
{
carbonizar HostName [NET_NAME_PASSWORD_LEN] / / / <hostname
CONFIG_IPAddress HostIP / / / <IP
CONFIG_IPAddress SUBMASK / / / <Netmask
CONFIG_IPAddress gateway / / / <NetGateway
port / / / <HTTP; int HttpPort
int TCPPort / / / <porta TCP
int sslport / / / <não usado
int Porta UDP / / / <não usados
int maxconn / / / <max connect
int MonMode / / / <tradução de protocolo: 0: TCP, 1: UDP, 2: MCAST, só suportam TCP agora
MaxBps int / / / <não usados
int TransferPlan / / / <política de Tradução: 0: AUTO 1: Qualidade em primeiro lugar 2: fluência em primeiro lugar
bUseHSDownLoad bool / / / <bandeira de download de alta velocidade
};
Configuração / / PTZ
struct SDK_STR_CONFIG_PTZ
{
carbonizar sProtocolName [NET_MAX_PTZ_PROTOCOL_LENGTH] / / <nome Protocol
int ideviceNo / / <dispositivo Não.
iNumberInMatrixs int / / <Não. Na matrixs
int iPortNo / / <Porto Não. [1, 4]
SDK_COMMATTRI dstComm / / <atributo comm
};
/ / Todos os canais de configuração PTZ
struct SDK_STR_PTZCONFIG_ALL
{
SDK_STR_CONFIG_PTZ ptzAll [NET_MAX_CHANNUM];
};
/ / 232 configuração
struct SDK_CONFIG_COMM_X
{
carbonizar iProtocolName [32], o nome / / Protocolo: "Console"
int iPortNo / / N º porta
SDK_COMMATTRI aCommAttri / / comm atributo
};
/ / Todos os canais de configuração 232
struct SDK_CommConfigAll
{
SDK_CONFIG_COMM_X vCommConfig [SDK_COM_TYPES];
};
/ / / <Fliter IP
struct SDK_NetIPFilterConfig
{
bool Ativar / / / <possibilitar
CONFIG_IPAddress BannedList [NET_MAX_FILTERIP_NUM] / / / <lista negra
CONFIG_IPAddress TrustList [NET_MAX_FILTERIP_NUM] / / / <lista branca
};
/ / / <Multicast
struct SDK_NetMultiCastConfig
{
bool Ativar / / / <possibilitar
Servidor SDK_RemoteServerConfig / / / <servidor multicast
};
/ / / <Pppoe
struct SDK_NetPPPoEConfig
{
bool Ativar / / / <possibilitar
Servidor SDK_RemoteServerConfig; <servidor / / / PPPOE
CONFIG_IPAddress addr / / / <ip começar a partir de discagem PPPOE
};
/ / / <DDNS
struct SDK_NetDDNSConfig
{
bool Ativar / / / <possibilitar
carbonizar DDNSKey [NET_NAME_PASSWORD_LEN] / / / <o tipo de nome DDNS
carbonizar HostName [NET_NAME_PASSWORD_LEN] / / / <hostname
Servidor SDK_RemoteServerConfig / / / <servidor DDNS
};
/ / / <DDNS
struct SDK_NetDDNSConfigALL
{
SDK_NetDDNSConfig ddnsConfig [5];
};
/ / / <FTP
struct {SDK_FtpServerConfig
/ / / <Enable
bool Ativar;
/ / / <Servidor FTP
Servidor SDK_RemoteServerConfig;
/ / / <Reposição IP do servidor
CONFIG_IPAddress SpareIP;
/ / / <Nome do caminho no servidor FTP
RemotePathName char [NET_MAX_PATH_LENGTH];
/ / / <Max arquivo lenght
int FileMaxLen;
/ / / <Carregamento períodos
SDK_TIMESECTION UpLoadPeriod [NET_N_MIN_TSECT];
};
/ / / <NTP
struct SDK_NetNTPConfig
{
/ / / <Enable
bool Ativar;
/ / / <Servidor NTP
Servidor SDK_RemoteServerConfig;
/ / / <Período de atualização
int UpdatePeriod;
/ / / <Fuso horário
int fuso horário;
};
# Define NET_MAX_EMAIL_TITLE_LEN 64
# Define NET_MAX_EMAIL_RECIEVERS 5
# Define NET_EMAIL_ADDR_LEN 32
struct SDK_NetEmailConfig
{
/ / / <Enalbe
bool Ativar;
/ / / <Servidor smtp
Servidor SDK_RemoteServerConfig;
/ / / <Necessidade SSL?
bool bUseSSL;
/ / / <Endereço do remetente
carbonizar SendAddr [NET_EMAIL_ADDR_LEN];
/ / / <Receptor
Receptores char [NET_MAX_EMAIL_RECIEVERS] [NET_EMAIL_ADDR_LEN];
/ / / <Título email
Título de char [NET_MAX_EMAIL_TITLE_LEN];
/ / Seção / hora <
SDK_TIMESECTION Agenda [NET_N_MIN_TSECT];
};
/ / / <DNS
struct SDK_NetDNSConfig
{
CONFIG_IPAddress PrimaryDNS;
CONFIG_IPAddress SecondaryDNS;
};
Formato / / / áudio para conversas de áudio
struct SDK_AudioInFormatConfig
{
int iBitRate / / / <bitrate, (unidade: kbps)
taxa / / / <amostra (unidade: Hz); iSampleRate int
int iSampleBit / / / <amostra bit
int iEncodeType / / / <tipo de codificação, consulte consulte AudioEncodeTypes
};
/ / / Alarme de status
struct SDK_DVR_ALARMSTATE
{
int iVideoMotion / / / <detecção de movimento status, máscara de bits por canal, bit0 significa canal 1, e assim por diante, 1: 0 alarmante: normal
int iVideoBlind, estado de detecção cego / / / <, máscara de bits por canal, bit0 significa canal 1, e assim por diante, 1: 0 alarmante: normal
iVideoLoss int / / / <detectar perda de status, máscara de bits por canal, bit0 significa canal 1, e assim por diante, 1: 0 alarmante: normal
int iAlarmIn / / / <alarme em status, máscara de bits por canal, bit0 significa canal 1, e assim por diante, 1: 0 alarmante: normal
int iAlarmOut / / / <alarme fora status, máscara de bits por canal, bit0 significa canal 1, e assim por diante, 1: 0 alarmante: normal
};
/ Status / channel
struct SDK_DVR_CHANNELSTATE
{
bool bRecord / / / <está gravando
int iBitrate / / / <taxa de bits
};
/ / Status trabalho dispositivo
struct SDK_DVR_WORKSTATE
{
SDK_DVR_CHANNELSTATE vChnState [NET_MAX_CHANNUM];
SDK_DVR_ALARMSTATE vAlarmState;
};
2.1.5 teclado Rede definir
/ / / Valor da chave
enum SDK_NetKeyBoardValue
{
SDK_NET_KEY_0, SDK_NET_KEY_1, SDK_NET_KEY_2, SDK_NET_KEY_3, SDK_NET_KEY_4, SDK_NET_KEY_5, SDK_NET_KEY_6, SDK_NET_KEY_7, SDK_NET_KEY_8, SDK_NET_KEY_9,
SDK_NET_KEY_10, SDK_NET_KEY_11, SDK_NET_KEY_12, SDK_NET_KEY_13, SDK_NET_KEY_14, SDK_NET_KEY_15, SDK_NET_KEY_16, SDK_NET_KEY_10PLUS,
SDK_NET_KEY_UP = 20, / / UP
SDK_NET_KEY_DOWN, / / DOWN
SDK_NET_KEY_LEFT, / / LEFT
SDK_NET_KEY_RIGHT, / / DIREITO
SDK_NET_KEY_SHIFT,
SDK_NET_KEY_PGUP, / / PAGE UP
SDK_NET_KEY_PGDN, / / PAGE DOWN
SDK_NET_KEY_RET, / / ENTER
SDK_NET_KEY_ESC, / / ESC
SDK_NET_KEY_FUNC, / / FUNC
SDK_NET_KEY_PLAY, / / PLAY / PAUSE
SDK_NET_KEY_BACK, / / BACK
SDK_NET_KEY_STOP, / / STOP
SDK_NET_KEY_FAST, / / FAST
SDK_NET_KEY_SLOW, / / SLOW
SDK_NET_KEY_NEXT, / / próxima imagem
SDK_NET_KEY_PREV, / / PREV IMAGEM
SDK_NET_KEY_REC = 40, / / ENTER RECORDES PAGE
SDK_NET_KEY_SEARCH, / / ENTER registro de pesquisa PAGE
SDK_NET_KEY_INFO, / / ENTER SYSTEM INFO PAGE
SDK_NET_KEY_ALARM, / / ENTER ALARM OUT PAGE
SDK_NET_KEY_ADDR, / / ENTER endereço remoto configuração da página
SDK_NET_KEY_BACKUP, / / entrar na página de BACKUP
SDK_NET_KEY_SPLIT, / / NEXT SPLIT MODO
SDK_NET_KEY_SPLIT1, / / SLPIT MODO 1
SDK_NET_KEY_SPLIT4, / / SLPIT MODO 4
SDK_NET_KEY_SPLIT8, / / SLPIT modo 8
SDK_NET_KEY_SPLIT9, / / SLPIT MODO 9
SDK_NET_KEY_SPLIT16, / / SLPIT MODO 16
SDK_NET_KEY_SHUT, / / SHUTDOWN
SDK_NET_KEY_MENU, / / MENU
SDK_NET_KEY_PTZ = 60, / / ENTER página de controle PTZ
SDK_NET_KEY_TELE, / / ZOOM -
SDK_NET_KEY_WIDE, / / ZOOM +
SDK_NET_KEY_IRIS_SMALL, / / ABERTURA -
SDK_NET_KEY_IRIS_LARGE, / / ABERTURA +
SDK_NET_KEY_FOCUS_NEAR, / / FOCUS -
SDK_NET_KEY_FOCUS_FAR, / / FOCUS +
SDK_NET_KEY_BRUSH, / / ESCOVA
SDK_NET_KEY_LIGHT, / / LIGHT
SDK_NET_KEY_SPRESET, / / SET POINT PRESET
SDK_NET_KEY_GPRESET, / / GOTO PRESET POINT
SDK_NET_KEY_DPRESET, / / CLEAR ponto predefinido
SDK_NET_KEY_PATTERN, / / PADRÃO
SDK_NET_KEY_AUTOSCAN, / / Auto-Scan ON / OFF
SDK_NET_KEY_AUTOTOUR, / / AUTO-TOUR ON / OFF
SDK_NET_KEY_AUTOPAN, / / AUTO-PAN ON / OFF
};
/ / / Teclado estado
enum SDK_NetKeyBoardState
{
SDK_NET_KEYBOARD_KEYDOWN, / / tecla pressionada
SDK_NET_KEYBOARD_KEYUP, / / tecla para cima
};
struct SDK_NetKeyBoardData
{
int iValue / / ver se referir a SDK_NetKeyBoardValue
int iState / / ver se referir a SDK_NetKeyBoardState
};
3 Definição API
3.1 SDK Inicialização
1. H264_DVR_API longo H264_DVR_GetLastError ();;
descrição API: É para retornar código de falha função. quando você não ligar para o seguinte interface, você pode chamar esse fucntion para obter o código de erro.
Parâmetros: nenhum
retorno: Por favor, veja se referir ao código de erro
API Referência:
typedef void (__stdcall * fDisConnect) (longa lLoginID, char * pchDVRIP, nDVRPort longo, longo dwUser não assinado);
2. H264_DVR_API longo H264_DVR_Init (fDisConnect cbDisConnect, muito dwUser não assinado);
descrição API: Inicializar SDK, chamando antes de todas as funções SDK
Parâmetro:
cbDisConnect
Desligue a função callback. Trata-se de retorno de chamada sem desligar dispositivo dispositivo de logout com sucesso (H264_DVR_Logout call (), defina-o como 0 quando proíbem callbacking.
[In] dwUser
Os dados do usuário
função de retorno de parâmetros:
lLoginID
Entrar lidar com
pchDVRIP
IP do dispositivo
nDVRPort
Porto
dwUser
Os dados do usuário, a mesma coisa com os dados do usuário acima, você tem de entrada.
retorno: Sucedido: TRUE, Fail: FALSE
API Referência: H264_DVR_Cleanup
3. CLIENT_API vazio H264_DVR_Cleanup ();
descrição API: Limpe SDK e liberar recursos ocupados, chamando depois de toda a função SDK.
Parâmetros: nenhum
retorno: nenhum
API Referência: H264_DVR_Init
3.2 Obter estado de alarme
typedef bool (__stdcall * fMessCallBack) (longa lLoginID, char * pBuf,
dwBufLen unsigned long, long dwUser);
H264_DVR_API bool H264_DVR_SetDVRMessCallBack (fMessCallBack cbAlarmcallback, muito luser não assinado);
descrição API: Set dispositivo fuction mensagem de retorno para obter o estado atual do dispositivo. Ordem de retorno não importa aqui. Configuração padrão SDK não é callback.You precisa chamar mensagem de alarme assinatura de interface H264_DVR_SetupAlarmChan (). Aplica-se ao atual estado status.Device alarme definido é callbacked cada segundo.
Parâmetro:
cbAlarmcallback
Mensagem callback function.It é callback status do dispositivo (como o estado de alarme). Quando for 0, o sistema desativa retorno.
[In] luser
dados auto-definidas pelo usuário
parâmetros da função de retorno de chamada:
lLoginID
Valor de H264_DVR_Login voltar
pBuf
Consulte a ver SDK_AlarmInfo
dwBufLen
comprimento pBuf. Unidade é byte.
dwUser
Usuário dados auto-definidas
retorno: Sucedido: TRUE, Fail: FALSE
API Referência: H264_DVR_SetupAlarmChan, H264_DVR_CloseAlarmChan
4. H264_DVR_API longo H264_DVR_SetupAlarmChan (longa lLoginID);
descrição API: Iniciar mensagem dispositivo de escuta. Esta função é definir callbacking mensagem dispositivo ou não. A mensagem é callbacked de H264_DVR_SetDVRMessCallBack.
Parâmetro:
[No] lLoginID
Valor de H264_DVR_Login voltar
retorno: Sucedido: TRUE, Fail: FALSE
API Referência: H264_DVR_SetDVRMessCallBack, H264_DVR_CloseAlarmChan
5. H264_DVR_API bool H264_DVR_CloseAlarmChan (longa lLoginID);
descrição API: Pare lisening um dispositivo
Parâmetro:
[No] lLoginID
Valor de H264_DVR_Login voltar
retorno: Sucedido: TRUE, Fail: FALSE
API Referência: H264_DVR_SetupAlarmChan
3.3 Registo do Dispositivo
6. H264_DVR_API longo H264_DVR_Login (char * sDVRIP, curto wDVRPort unsigned, char * sUserName, char * sPassword, LPH264_DVR_DEVICEINFO lpDeviceInfo, int * Erro);
descrição API: Login. Quando o dispositivo definir o usuário como a reutilização (usuário padrão dispositivo como administrador pode ser reutilizado.). esta conta pode registras várias vezes.
Parâmetro:
[No] sDVRIP
dispositivo IP
[No] wDVRPort
porta do dispositivo
[No] sUserName
nome de usuário
[In] sPassword
senha
[Out] lpDeviceInfo
propriedade do dispositivo. é um parâmetro de saída.
[Out] erro
(Quando a função retornado com êxito, o parâmetro é null.Please se referir ao código de erro.
Retorno: O retorno o se falhou. Voltar ID do dispositivo, se bem sucedido. Utilizando este valor (identificador do dispositivo) depois de todas as operações de registo com sucesso em lata que corresponde ao dispositivo.
API Referência: H264_DVR_Logout
7. H264_DVR_API longo H264_DVR_LoginEx (char * sDVRIP, curto wDVRPort unsigned, char * sUserName, char * sPassword, LPH264_DVR_DEVICEINFO lpDeviceInfo, int nType, int * Erro);
descrição API: Registre-se um usuário para porta de extensão do dispositivo. apoiar um usuário especificar dispositivo.
Parâmetro:
[No] sDVRIP
dispositivo IP
[No] wDVRPort
porta do dispositivo
[No] sUserName
nome de usuário
[In] sPassword
senha
[Out] lpDeviceInfo
propriedade do dispositivo. é um parâmetro de saída.
[In] nType
o tipo como se segue:
enum LoginType
{
LOGIN_TYPE_GUI, / / / <GUI local
LOGIN_TYPE_CONSOLE, / / / <Console
LOGIN_TYPE_WEB, / / / <WEB
LOGIN_TYPE_SNS, / / / <SNS
LOGIN_TYPE_MOBIL, / / </ terminal móvel
LOGIN_TYPE_NETKEYBOARD, / / / <Netkeyboard
LOGIN_TYPE_SERVER, / / / <Servidores do Centro
LOGIN_TYPE_AUTOSEARCH, / / / <ferramenta de busca IP
LOGIN_TYPE_UPGRADE, / / / <ferramenta de atualização
LOGIN_TYPE_MEGAEYE, / / / <Megaeye
LOGIN_TYPE_NR,
};
[Out] erro
(Quando a função retornado com êxito, o parâmetro é null.Please se referir ao código de erro.
Retorno: O retorno 0 se falhou. Voltar ID do dispositivo se succeeded.Using este valor (identificador do dispositivo) todas as operações depois de logon com êxito no cân correspondente ao dispositivo.
API Referência: H264_DVR_Logout
8. H264_DVR_API longo H264_DVR_Logout (longa lLoginID)
descrição API: Sair usuário
Parâmetro:
[No] lLoginID
Valor de H264_DVR_Login voltar
retorno: Sucedido: TRUE, Fail: FALSE
API Referência: H264_DVR_Login
3.4 monitor em tempo real
9. H264_DVR_API longo H264_DVR_RealPlay (longa lLoginID, LPH264_DVR_CLIENTINFO lpClientInfo);
descrição API iniciar o Monitor em tempo real.
Parâmetro:
[No] lLoginID
Valor de H264_DVR_Login voltar
[No] lpClientInfo
Informações do cliente
Retorno: O retorno cabo do monitor em tempo real, se bem sucedido, retornar 0 se falhou.
API Referência: H264_DVR_StopRealPlay, H264_DVR_SetRealDataCallBack
10. H264_DVR_API bool H264_DVR_StopRealPlay (longa lRealHandle);
descrição API: Pare de monitor em tempo real
Parâmetro:
[No] lRealHandle
Valor de H264_DVR_RealPlay voltar
retorno: Sucedido: TRUE, Fail: FALSE
API Referência: H264_DVR_RealPlay
11. H264_DVR_API bool H264_DVR_SetRealDataCallBack (longa lRealHandle, fRealDataCallBack cbRealData, muito dwUser);
typedef int (* __stdcall fRealDataCallBack) (lRealHandle longo, longo dwDataType, unsigned char * pBuffer, lbufsize longo, longo dwUser);
descrição API: Set do monitor em tempo real de retorno de chamada de dados e fornece-lhe com os dados do dispositivo Quando cbRealData é NULL, fins de retorno de chamada..
Parâmetro:
[No] lRealHandle
Valor de H264_DVR_RealPlay voltar
cbRealData
É uma função de retorno de chamada para a saída dos dados em tempo real atuais do dispositivo.
[In] dwUser
Os dados do usuário
parâmetros da função de retorno de chamada:
lRealHandle
Valor de H264_DVR_RealPlay voltar
dwDataType
0: dados originais
1: Os dados do quadro
2: dados yuv
3: dados de áudio PCM
pBuffer
dados de call-back. Toda vez que chamar de volta os dados de diferentes comprimentos de acordo com os diferentes tipos de dados (exceto tipo 0). Outros tipos de dados são baseados em frames, cada vez que ela chama de volta um quadro.
dwBufSize
comprimento dos dados de retorno de chamada (Unidade: byte)..
dwUser
Usuário auto-definido
retorno: Sucedido: TRUE, Fail: FALSE
API Referência: H264_DVR_RealPlay, H264_DVR_StopRealPlay
3.5 Reprodução And Download
12. H264_DVR_API longo H264_DVR_FindFile (longa lLoginID, H264_DVR_FINDINFO * lpFindInfo, H264_DVR_FILE_DATA * lpFileData, int lMaxCount, int * findCount, int waittime = 2000);
descrição API: Busca arquivos de registro
Parâmetro:
[No] lLoginID
Valor de H264_DVR_Login voltar
[No] lpFindInfo
Pesquisar condição H264_DVR_FINDINFO
[Out] lpFileData
Devolvido arquivo information.It registro é uma H264_DVR_FILE_DATA
estrutura array.
[No] lMaxCount
O comprimento do lpFileData (Unidade: BYTE, o valor deve entre 100 ~ 200 * sizeof (H264_DVR_FILE_DATA))
[Out] filecount
Devolvido quantidade de arquivos; É um parâmetro máximo de saída. Você só pode pesquisar os arquivos de vídeo antes de buffer está cheio
[In] waittime
Waitting tempo
retorno: Sucedido: TRUE, Fail: FALSE
API Referência:
H264_DVR_Login, H264_DVR_PlayBackByName, H264_DVR_StopPlayBack,
H264_DVR_PlayBackControl, H264_DVR_GetFileByName
typedef void (__stdcall * fDownLoadPosCallBack) (lPlayHandle longo, longo lTotalSize, lDownLoadSize longo, longo dwUser)
13. H264_DVR_API longo H264_DVR_PlayBackByName (longa lLoginID, H264_DVR_FILE_DATA * sPlayBackFile, fDownLoadPosCallBack cbDownLoadPos, fRealDataCallBack fDownLoadDataCallBack, muito dwDataUser);
descrição API: reprodução Rede. Por favor, note que quando você acessar um dispositivo, um canal só pode jogar um registro de um tempo, enquanto multi-registros do mesmo canal não pode ser aberto simutaniously.
Parâmetro:
[No] lLoginID
Valor de H264_DVR_Login voltar
[No] sPlayBackFile
Gravado arquivo de troca de informações por H264_DVR_FindFile
[In] cbDownLoadPos
Progress função call-back
[No] fDownLoadDataCallBack
Dados da função call-back vídeo
[In] dwUserData
Usuário dados auto-definidas
função de retorno:
lPlayHandle
Valor de H264_DVR_PlayBackByName voltar
dwTotalSize
Corrente total tamanho play, unidade é KB.
dwDownLoadSize
Jogado tamanho, a unidade é KB. Quando o valor é -1, o que significa a reprodução Cureent acabou.
dwUser
Os dados do usuário, a mesma coisa com os dados do usuário no acima.
Retorno: O retorno playbackID rede se conseguiu, retornar 0 se falhou.
API Referência:
H264_DVR_Login, H264_DVR_FindFile, H264_DVR_StopPlayBack,
H264_DVR_PlayBackControl
14. H264_DVR_API bool H264_DVR_StopPlayBack (longa lPlayHandle);
descrição API: Parar a reprodução
Parâmetro:
[No] lPlayHandle
Alça de reprodução, como o valor de retorno de H264_DVR_PlayBackByName
retorno: Sucedido: TRUE, Fail: FALSE
API Referência: H264_DVR_PlayBackByName
15. H264_DVR_API longo H264_DVR_GetFileByName (longa lLoginID, H264_DVR_FILE_DATA * sPlayBackFile, char * sSavedFileName, fDownLoadPosCallBack cbDownLoadPos = NULL, muito dwDataUser = NULL);
descrição API: Download de arquivos gravados através da informação pesquisada
Parâmetro:
[No] lLoginID
O valor de retorno de H264_DVR_Login
[No] sPlayBackFile
Gravado ponteiro informações do arquivo.
[No] sSavedFileName
O nome do arquivo para salvar (caminho completo).
[In] cbDownLoadPos
Processo de download do usuário chama auto-definida dados.Por processo de download callback fucntion, consulte H264_DVR_GetDownloadPos
[In] dwUserData
Baixar processo chama utilizador dados de auto-definidos.
função de retorno:
lPlayHandle
Valor de H264_DVR_PlayBackByName voltar
dwTotalSize
Corrente total tamanho play, unidade é KB.
dwDownLoadSize
Jogado tamanho, a unidade é KB. Quando o valor é -1, o que significa a reprodução Cureent acabou.
dwUser
Os dados do usuário, a mesma coisa com os dados do usuário no acima.
Retorno: O retorno de download ID se conseguiu. Retornar 0 se falhou.
API Referência: H264_DVR_StopGetFile, H264_DVR_GetDownloadPos
16. H264_DVR_API bool H264_DVR_StopGetFile (longa lFileHandle);
descrição API: Interromper o download de arquivos.
Parâmetro:
[No] lFileHandle
O valor de retorno de H264_DVR_GetFileByName
retorno: Sucedido: TRUE, Fail: FALSE
API Referência: H264_DVR_GetFileByName, H264_DVR_GetDownloadPos
17. H264_DVR_API int H264_DVR_GetDownloadPos (longa lFileHandle);
descrição API: É chegar actual lugar de baixar para interfaces que não precisam mostrar o progresso do download em tempo real. Ela é semelhante à função de retorno de download.
Parâmetro:
[No] lFileHandle
O valor de retorno de H264_DVR_GetFileByName
retorno: posição (valor entre 0 a 100)
API Referência: H264_DVR_GetFileByName, H264_DVR_StopGetFile
3.6 Controle de reprodução
18. H264_DVR_API bool H264_DVR_PlayBackControl (lPlayHandle longo, longo lControlCode, muito lCtrlValue);
descrição API: Pausa, Retomar reprodução Procure rede
Parâmetro:
[No] lPlayHandle
Jogue manusear, retornar por H264_DVR_GetFileByName
[No] lControlCode
enum SEDK_PlayBackAction
{
SDK_PLAY_BACK_PAUSE, / / Pause
SDK_PLAY_BACK_CONTINUE, / / Resume
SDK_PLAY_BACK_SEEK, / / Procurar
};
retorno: Sucedido: TRUE, Fail: FALSE
API Referência: H264_DVR_PlayBackByName, H264_DVR_StopPlayBack
3.7 Controle de PTZ
19. H264_DVR_API bool H264_DVR_PTZControl (longa lLoginID, int nChannelNo, muito lPTZCommand, bool bStop = false, muito lSpeed = 4)
descrição API: controle PTZ
Parâmetro:
[No] lLoginID
Valor de H264_DVR_Login voltar
[No] nChannelNo
Canal NO. começam com 0
[Out] lPTZCommand
Comandos, consulte consulte PTZ_ControlType
[No] bStop
Se parar ou não. Ela se aplica a operação PTZ andlens direção. Quando você operar outras funções, a entrada desse parâmetro como FALSE.
[Out] lSpeed
Passo / Velocidade. O valor varia de 1 a 8. 8 tem a maior capacidade de controle (4 por padrão). dwStep é o valor pré-definido quando você usa a função predefinida.
retorno: Sucedido: TRUE, Fail: FALSE
API Referência: H264_DVR_Login, H264_DVR_RealPlay
3.8 Configuração do Sistema
20. H264_DVR_API longo H264_DVR_GetDevConfig (longa lLoginID, unsigned long dwCommand, int nChannelNO, char * lpOutBuffer, unsigned long dwOutBufferSize, unsigned long * lpBytesReturned, int waittime = 1000);
descrição API: Obter informações sobre a configuração do dispositivo.
Parâmetro:
[No] lLoginID
O valor de retorno de H264_DVR_Login
[In] dwCommand
Tipo de configuração, por favor, consulte SDK_CONFIG_TYPE
[No] nChannelNO
Número do canal. Definir como -1 para configurar todos os canais. O parâmetro é nulo se o comando não precisa do número do canal.
[Out] lpOutBuffer
Receba ponteiro do buffer de dados, tamanho do buffer dependem da configuração tamanho da estrutura.
[No] dwOutBufferSize
Receber dados de buffer comprimento (Unidade: byte)
[Out] lpBytesReturned
O comprimento de dados efetivamente recebidos.
[In] waittime
O tempo de espera
retorno: Sucedido: TRUE, Fail: FALSE
API Referência: H264_DVR_SetDevConfig
21. H264_DVR_API longo H264_DVR_SetDevConfig (longa lLoginID, unsigned long dwCommand, int nChannelNO, char * lpInBuffer, unsigned long dwInBufferSize, int waittime = 1000);
descrição API: Definir as informações de configuração do dispositivo
Parâmetro:
[No] lLoginID
O valor de retorno de H264_DVR_Login
[In] dwCommand
Tipo de configuração, por favor, consulte SDK_CONFIG_TYPE
[No] nChannelNO
Número do canal. Definir como -1 para configurar todos os canais. O parâmetro é nulo se o comando não precisa do número do canal.
[In] lpInBuffer
Ponteiro do buffer de dados
[No] dwInBufferSize
Dados tampão comprimento (unidade é byte).
[In] waittime
Waitting tempo
retorno: Sucedido: TRUE, Fail: FALSE
API Referência: H264_DVR_GetDevConfig
3.9 Log Management
22. H264_DVR_API bool H264_DVR_FindDVRLog (longa lLoginID, SDK_LogSearchCondition * pFindParam, SDK_LogList * pRetBuffer, muito lBufSize, int waittime = 2000);
descrição API: query Log
Parâmetro:
[No] lLoginID
O valor de retorno de H264_DVR_Login
[No] pFindParam
Pesquisar condição, por favor, consulte SDK_LogSearchCondition
[No] pRetBuffer
O retorno de informações de log, por favor, consulte SDK_LogList
[No] lBufSize
O comprimento retorno de informações de log
[In] waittime
O tempo de espera
retorno: Sucedido: TRUE, Fail: FALSE
API Reference: Nenhum
3.10 Controle Remoto
23. H264_DVR_API bool H264_DVR_ControlDVR (longa lLoginID, int tipo, int waittime = 2000)
descrição API: dispositivo Reinicie o computador e log claro
Parâmetro:
[No] lLoginID
O valor de retorno de H264_DVR_Login
[In] tipo
0: dispositivo reiniciar, 1: log clara
retorno: Sucedido: TRUE, Fail: FALSE
API Reference: Nenhum
3.11 Atualização
typedef void (__stdcall * fUpgradeCallBack) (lLoginID longo, longo lUpgradechannel, int nTotalSize, int nSendSize, muito dwUser);
24. H264_DVR_API longo H264_DVR_Upgrade (longa lLoginID, char * sFileName, int nType = 0, cbUpgrade fUpgradeCallBack = NULL, muito dwUser = 0);
descrição API: dispositivo de atualização
Parâmetro:
[No] lLoginID
O valor de retorno de H264_DVR_Login
[In] sFileName
O nome do arquivo de atualização
[In] nType
O tipo de arquivo de atualização
enum UpgradeTypes
{
UPGRADE_TYPES_SYSTEM, / / / <Sistema
UPGRADE_TYPES_NR,
};
função de retorno:
fUpgradeCallBack
Callback do progresso upgrade, lUpgradechannel é o identificador upgrade, voltar por H264_DVR_Upgrade
nTotalSize
Atualize comprimento de arquivo, (Unidade: BYTE)
nSendSize
comprimento dos dados tenham sido atualizados, (unidade: BYTE)
[In] dwUser
Usuário auto-definir dados
retorno: Sucedido: Punho de atualização retorno, Fail: FALSE
API Referência: H264_DVR_GetUpgradeState, H264_DVR_CloseUpgradeHandle
25. H264_DVR_API longo H264_DVR_CloseUpgradeHandle (longa lUpgradeHandle);
descrição API: atualização parada
Parâmetro:
[No] lUpgradeID
O valor de retorno de H264_DVR_Upgrade
retorno: Sucedido: TRUE, Fail: FALSE
API Referência: H264_DVR_Upgrade
26. H264_DVR_API int H264_DVR_GetUpgradeState (longa lUpgradeHandle)
descrição API: obter o status de atualização
Parâmetro:
[No] lUpgradeHandle
O valor de retorno de H264_DVR_Upgrade
retorno: 1: Sucedido 2: Atualizando, 3: FALSE
API Referência: H264_DVR_Upgrade, H264_DVR_CloseUpgradeHand
27. H264_DVR_API bool H264_DVR_SearchDevice (char * szBuf, int nBufLen, int * pRetLen,
nSearchTime int);
descrição API: Dispositivo de Busca em LAN
Parâmetro:
[In] szBuf
Buffer para receber estrutura SDK_CONFIG_NET_COMMON, voltar a uma estrutura, enquanto que pesquisar um dispositivo.
[No] nBufLen
szBuf tamanho do buffer
[No] pRetLen
Retorne o comprimento total estrutura de SDK_CONFIG_NET_COMMON
[No] nSearchTime
O tempo de espera
retorno: Sucedido: TRUE, Fail: FALSE
API Referência:
3.11 Áudio Discussão
typedef void (__stdcall * pfAudioDataCallBack) (longa lVoiceHandle, char * pDataBuf,
longo dwBufSize, byAudioFlag char, muito dwUser);
28. H264_DVR_API longo H264_DVR_StartVoiceCom_MR (longa lLoginID, pfAudioDataCallBack pVcb,
Comprida dwDataUser);
descrição API: Enviar audio pedido falar com dispositivo.
Parâmetro:
[No] lLoginID
O valor de retorno de H264_DVR_Login
[No] pVcb
Interface callback dados auto-definido.
[No] dwDataUser
Dados auto-definidos. Devolvido a você através da função callback
retorno:> 0 audio pega conversa, <= FALSE
API Referência:
H264_DVR_VoiceComSendData, H264_DVR_StopVoiceCom, H264_DVR_SetTalkMode
29. H264_DVR_API bool H264_DVR_VoiceComSendData (longa lVoiceHandle, char * pSendBuf,
lBufSize longo);
descrição API: Enviar dados de áudio do usuário para o dispositivo.
Parâmetro:
[No] lVoiceHandle
Valor de H264_DVR_StartVoiceCom_MR voltar
[No] pSendBuf
Os dados de áudio a ser enviado para fora.
[No] lBufSize
Comprimento de dados de áudio a ser enviado (Unidade: byte).
retorno: Sucedido: TRUE, Fail: FALSE
API Referência:
H264_DVR_StartVoiceCom_MR H264_DVR_StopVoiceCom H264_DVR_SetTalkMode
30. H264_DVR_API bool H264_DVR_StopVoiceCom (longa lVoiceHandle);
descrição API: Pare de falar de áudio
Parâmetro:
[No] lVoiceHandle
O valor de retorno de H264_DVR_StartVoiceCom_MR
retorno: Sucedido: TRUE, Fail: FALSE
API Referência:
H264_DVR_StartVoiceCom_MR H264_DVR_VoiceComSendData H264_DVR_SetTalkMode
31. H264_DVR_API bool H264_DVR_SetTalkMode (longa lLoginID, SDK_AudioInFormatConfig * pTalkMode);
descrição API: conjunto de modo de conversação áudio
Parâmetro:
0 - [in] lLoginID
O valor de retorno de H264_DVR_Login
1 - [no] pTalkMode
Modo de conversa de áudio, ver se referir a SDK_AudioInFormatConfig
retorno: Sucedido: TRUE, Fail: FALSE
API Referência:
H264_DVR_StartVoiceCom_MR H264_DVR_VoiceComSendData H264_DVR_StopVoiceCom
3.12 Modo de Gravação
32. H264_DVR_API bool H264_DVR_StartDVRRecord (longa lLoginID, int nChannelNo, muito lRecordType);
descrição API: modo de gravação set
Parâmetro:
lLoginID
o valor de retorno de H264_DVR_Login
[No] nChannelNo
Canal No., -1 todos os canais
[No] lRecordType
Modo de gravação, consulte consulte SDK_RecordModeTypes
retorno: Sucedido: TRUE, Fail: FALSE
API Referência: H264_DVR_StopDVRRecord
33. H264_DVR_API bool H264_DVR_StopDVRRecord (longa lLoginID, int nChannelNo);
descrição API: registro de parada
Parâmetro:
[No] lLoginID
O valor de retorno de H264_DVR_Login
[No] nChannelNo
Canal No., -1: todos os canais
retorno: Sucedido: TRUE, Fail: FALSE
API Referência: H264_DVR_StartDVRRecord
3.13 Ajuste da hora do sistema
34. H264_DVR_API bool H264_DVR_SetSystemDateTime (longa lLoginID, SDK_SYSTEM_TIME * pSysTime);
descrição API: conjunto hora do sistema
Parâmetro:
[No] lLoginID
O valor de retorno de H264_DVR_Login
[No] pSysTime
Hora do sistema, ver se referir a SDK_SYSTEM_TIME
retorno: Sucedido: TRUE, Fail: FALSE
API Reference: Nenhum
3.14 Obter estado Dispositivo
35. H264_DVR_API bool H264_DVR_GetDVRWorkState (longa lLoginID, SDK_DVR_WORKSTATE * pWorkState);
descrição API: Obter estado de funcionamento do dispositivo
Parâmetro:
[No] lLoginID
O valor de retorno de H264_DVR_Login
0 - [in] pWorkState
Estrutura de staus de trabalho, consulte consulte SDK_DVR_WORKSTATE
retorno: Sucedido: TRUE, Fail: FALSE
API Reference: Nenhum
3.15 Teclado Net
36. H264_DVR_API bool H264_DVR_ClickKey (longa lLoginID, SDK_NetKeyBoardData * pKeyBoardData);
descrição API: enviar mensagem teclado net
Parâmetro:
[No] lLoginID
O valor de retorno de H264_DVR_Login
0 - [in] pKeyBoardData
Valor de chave, consulte consulte SDK_NetKeyBoardData
retorno: Sucedido: TRUE, Fail: FALSE
API Reference: Nenhum
Recommended