234 lines
7.2 KiB
C
234 lines
7.2 KiB
C
#ifndef _AV_SENDBACK_H
|
||
#define _AV_SENDBACK_H
|
||
|
||
/*魔数*/
|
||
#define AV_MAGIC_VALUE 0x8739
|
||
|
||
/*消息类型*/
|
||
#define AV_TYPE_META 0x01
|
||
#define AV_TYPE_DATA 0x02
|
||
#define AV_TYPE_RESULT 0x11
|
||
|
||
/*协议类型*/
|
||
#define AV_PROTOCOL_HTTP 0x01
|
||
#define AV_PROTOCOL_SMTP 0x02
|
||
#define AV_PROTOCOL_POP3 0x03
|
||
#define AV_PROTOCOL_FTP 0x04
|
||
#define AV_PROTOCOL_IMAP 0x05
|
||
#define AV_PROTOCOL_HTTP_STREAM 0x81
|
||
#define AV_PROTOCOL_RTSP_RDT 0x82
|
||
#define AV_PROTOCOL_RTSP_RTP 0x83
|
||
#define AV_PROTOCOL_ED2K 0x85
|
||
#define AV_PROTOCOL_MMS 0x84
|
||
#define AV_PROTOCOL_RTMP 0x86
|
||
#define AV_PROTOCOL_SIP 0x91
|
||
#define AV_PROTOCOL_BT 0x08
|
||
|
||
/*媒体类型*/
|
||
#define FILE_UNKNOWN 0x00
|
||
#define FILE_VIDEO 0x60
|
||
#define FILE_WMV 0x61
|
||
#define FILE_MPG 0x62
|
||
#define FILE_FLV 0x63
|
||
#define FILE_RMFF 0x65
|
||
#define FILE_AVI 0x66
|
||
#define FILE_SWF 0x67
|
||
#define FILE_MPG4 0x68
|
||
#define FILE_AIFF 0x69
|
||
#define FILE_OGG 0x6A
|
||
#define FILE_DRC 0x6B
|
||
#define FILE_DIRECTSHOW 0x6C
|
||
#define FILE_FLIC 0x6D
|
||
#define FILE_INDEO 0x6E
|
||
#define FILE_MKV 0x6F
|
||
|
||
#define FILE_AUDIO 0x70
|
||
#define FILE_MP3 0x71
|
||
|
||
#define FILE_OSMF 0xA1
|
||
#define FILE_HLS 0xA2
|
||
#define FILE_IOS 0xA3
|
||
#define FILE_ANDRIOD 0xA4
|
||
#define FILE_APP 0xA5
|
||
|
||
#define AUDIO_UNKNOWN 0xB0
|
||
#define AUDIO_G711_ULAW 0xB1
|
||
#define AUDIO_G711_ALAW 0xB2
|
||
#define AUDIO_G722 0xB3
|
||
#define AUDIO_G723 0xB4
|
||
#define AUDIO_G726_40 0xB5
|
||
#define AUDIO_G726_32 0xB6
|
||
#define AUDIO_G726_24 0xB7
|
||
#define AUDIO_G726_16 0xB8
|
||
#define AUDIO_AAL2_G726_40 0xB9
|
||
#define AUDIO_AAL2_G726_32 0xBA
|
||
#define AUDIO_AAL2_G726_24 0xBB
|
||
#define AUDIO_AAL2_G726_16 0xBC
|
||
#define AUDIO_G728 0xBD
|
||
#define AUDIO_G729D 0xBE
|
||
#define AUDIO_G729E 0xBF
|
||
#define AUDIO_GSM 0xC0
|
||
#define AUDIO_GSM_EFR 0xC1
|
||
#define AUDIO_ILBC 0xC2
|
||
#define AUDIO_AMR 0xC3
|
||
#define AUDIO_AMR_WB 0xC4
|
||
#define AUDIO_SILK 0xC5
|
||
#define AUDIO_LPC 0xC6
|
||
#define AUDIO_LPC1016 0xC7
|
||
#define AUDIO_LPC1015 0xC8
|
||
#define AUDIO_L16 0xC9
|
||
#define AUDIO_SPEEX 0xCA
|
||
#define AUDIO_L8 0xCB
|
||
#define AUDIO_MPA 0xCC
|
||
#define AUDIO_DVI4 0xCD
|
||
#define AUDIO_VDVI 0xCE
|
||
#define AUDIO_CN 0xCF
|
||
#define AUDIO_RED 0xD0
|
||
#define AUDIO_QCELP 0xD1
|
||
#define AUDIO_EVRC0 0xD2
|
||
#define AUDIO_EVRCB0 0xD3
|
||
#define AUDIO_G729 0xD4
|
||
#define AUDIO_VIVOX 0xD5
|
||
#define BE_FRAG_TYPE(t) ((t>=FILE_OSMF) && (t<=0xA2))
|
||
#define BE_APP_TYPE(t) ((t>=FILE_IOS) && (t<=0xA5))
|
||
#define BE_IMAGE_TYPE(t) ((t>=FILE_IMAGE) && (t<0x90))
|
||
#define BE_VIDEO_TYPE(t) ((t>=FILE_VIDEO) && (t<0x70))
|
||
#define BE_AUDIO_TYPE(t) ((t>=FILE_AUDIO) && (t<0x80))
|
||
#define BE_VOIP_TYPE(t) ((t>=AUDIO_UNKNOWN) && (t<=AUDIO_VIVOX))
|
||
|
||
|
||
#define FILE_IMAGE 0x80
|
||
|
||
#define FILE_JPG 0x84
|
||
#define FILE_BMP 0x85
|
||
#define FILE_GIF 0x86
|
||
|
||
#define MMS_TYPE 0x90
|
||
#define HTTP_STREAM_TYPE 0x90
|
||
#define RTSP_RDT_TYPE 0x92
|
||
#define RTSP_RTP_TYPE 0x91
|
||
|
||
/*业务类型*/
|
||
#define SERVICE_FLAG_FD 0 // FenDu Flag
|
||
#define SERVICE_FLAG_JC 1 // JianCe Flag
|
||
// Defination of service type ;
|
||
#define SERVICE_IPPORT_WHITE 0x01 //IP+PORT whitelist
|
||
#define SERVICE_IPPORT_BLACK 0x02 //IP+PORT blacklist
|
||
#define SERVICE_URL_WHITE 0x03 //节目地址blacklist
|
||
#define SERVICE_URL_BLACK 0x04 //节目地址blacklist
|
||
#define SERVICE_HOST_WHITE 0x05 //节目地址blacklist
|
||
#define SERVICE_HOST_BLACK 0x06 //节目地址blacklist
|
||
//add by lqy 20120427
|
||
#define SERVICE_FAKE_SERVERIP 0x07 //虚假服务器节点
|
||
|
||
// added by cxj 20100811
|
||
#define SERVICE_P2P_STATIC_WHITEIP 0x15
|
||
#define SERVICE_P2P_BI_WHITEIP 0x16
|
||
#define SERVICE_P2P_MI_WHITEIP 0x17
|
||
|
||
#define SERVICE_AUDIO_SAMPLE_FD 0x11
|
||
#define SERVICE_VIDEO_LABEL_FD 0x21
|
||
#define SERVICE_SPEEKER_FD 0x22
|
||
#define SERVICE_VIDEO_SAMPLE_FD 0x23
|
||
#define SERVICE_VIDEO_FACE_FD 0x24
|
||
#define SERVICE_AUDIO_SEX_FD 0x25
|
||
|
||
#define SERVICE_IMAGE_SAMPLE_FD 0x31
|
||
#define SERVICE_DYN_SUBSTR_FD 0x32
|
||
|
||
|
||
#define SERVICE_P2P_EMULE_SERVER 0x51 //
|
||
#define SERVICE_P2P_EMULE_KEY 0x52 //
|
||
#define SERVICE_P2P_EMULE_FILEID 0x53 //
|
||
#define SERVICE_P2P_EMULE_NODE 0x54 //
|
||
|
||
#define SERVICE_P2P_BT_INFOHASH 0x41 // BT Infohash Black List
|
||
#define SERVICE_P2P_BT_NODE 0x44 // BT Bone Node
|
||
#define SERVICE_P2P_BT_SERVICE 0x61 // BT DHT Index Server List
|
||
|
||
#define SERVICE_P2P_BT_ECLIPSE_IPLIST 0x45
|
||
#define SERVICE_P2P_BT_POLLUTION_IPLIST 0x46
|
||
#define SERVICE_P2P_EMULE_POLLUTION_IPLIST 0x55
|
||
|
||
#define SERVICE_P2P_BT_TRACKEIP 0x43 // BT tracke ip
|
||
#define SERVICE_P2P_BT_PEERIP 0x47 // BT peer ip
|
||
#define SERVICE_P2P_EMULE_PEERIP 0x56 // emule peer ip
|
||
|
||
|
||
//
|
||
#define SERVICE_EMULE_SERVER 0x71 //节目唯一ID whitelist
|
||
#define SERVICE_EMULE_KEYS 0x72 //节目唯一ID blacklist
|
||
#define SERVICE_EMULE_FHID 0x73 //emule的hashkey blacklist
|
||
#define SERVICE_EMULE_FNAME 0x74 //emule的hashkey blacklist
|
||
#define SERVICE_EMULE_NODE 0x75 //emule的hashkey blacklist
|
||
|
||
#define SERVICE_IPPORT_WHITE_JC 0x81 //IP+PORT whitelist
|
||
#define SERVICE_IPPORT_BLACK_JC 0x82 //IP+PORT blacklist
|
||
#define SERVICE_URL_WHITE_JC 0x83 //IP+PORT whitelist
|
||
#define SERVICE_URL_BLACK_JC 0x84 //IP+PORT blacklist
|
||
#define SERVICE_HOST_WHITE_JC 0x85 //IP+PORT blacklist
|
||
#define SERVICE_HOST_BLACK_JC 0x86 //IP+PORT blacklist
|
||
#define SERVICE_LOAD_ACTION_JC 0x87 /* liuxueli */
|
||
#define SERVICE_USER_REGION_JC 0x88 /* liuxueli */
|
||
|
||
#define SERVICE_AUDIO_SAMPLE_JC 0x91
|
||
#define SERVICE_SPEEKER_JC 0x92
|
||
#define SERVICE_AUDIO_CONT_JC 0x93
|
||
#define SERVICE_AUDIO_SECEN_JC 0x94
|
||
#define SERVICE_AUDIO_LANG_JC 0x97
|
||
#define SERVICE_AUDIO_LANG_FULL_JC 0x98
|
||
|
||
#define SERVICE_VIDEO_LOGO_JC 0xA1
|
||
#define SERVICE_VIDEO_SRT_JC 0xA2
|
||
#define SERVICE_VIDEO_SAMPLE_JC 0xA3
|
||
#define SERVICE_VIDEO_FACE_JC 0xA4
|
||
#define SERVICE_VIDEO_SEC_JC 0xA5
|
||
|
||
#define SERVICE_IMAGE_SAMPLE_JC 0xB1
|
||
#define SERVICE_IMAGE_KEYWORD_JC 0xB2
|
||
#define SERVICE_IMG_FEEDBACK_IP 0xB3
|
||
#define SERVICE_IMG_FEEDBACK_SIZE 0xB4
|
||
|
||
|
||
/*==================================消息头部==============================================*/
|
||
typedef struct msg_header_s
|
||
{
|
||
uint16_t magic;
|
||
uint16_t m_type;
|
||
uint32_t c_len;
|
||
}msg_header_t;
|
||
|
||
/*==================================指导消息==============================================*/
|
||
typedef struct metainfo_s
|
||
{
|
||
char pid[8]; //ID,由数据获取节点生成
|
||
uint64_t proglen; //流文件的总字节长度,为0表示长度未知
|
||
uint32_t capip; // 获取节点的IP
|
||
uint8_t protocol; // 承载协议类型
|
||
uint8_t mediatype; // 可能的媒体类型
|
||
uint16_t pad2; // 固定填0
|
||
}metainfo_t;
|
||
|
||
|
||
/*==================================流数据消息==============================================*/
|
||
typedef struct av_data_s
|
||
{
|
||
char pid[8]; // 流文件的ID,由数据获取节点生成
|
||
uint16_t frag_seq; // 片段序号
|
||
int64_t offset:48; // 本次数据在整个流文件中的偏移位置
|
||
char* avs; // 视音频流数据
|
||
}av_data_t;
|
||
|
||
/*==================================结果消息==================================================*/
|
||
typedef struct msg_result_s
|
||
{
|
||
char pid[8]; // 本流文件的ID,由数据获取节点生成
|
||
uint8_t servicetype; // 业务类型
|
||
int8_t level; // 检测结果置信度, [0, 100]
|
||
uint16_t pad; // 预留,必须填0值
|
||
uint32_t cfgid; // 命中的配置ID,值为0表示命中未知配置
|
||
char* logindex; //访问现场数据文件的存储路径URL,以"/0"结束
|
||
}msg_result_t;
|
||
|
||
#endif
|