#if !defined(__LIB_RTSP_H__) #define __LIB_RTSP_H__ #define RTSP_ERR_OK 0 //成功 //错误码 #define RTSP_ERR_PARAM -1001 //参数错误 #define RTSP_ERR_TIMEOUT -1002 //超时 #define RTSP_ERR_OPTIONS -1003 //options 请求失败 #define RTSP_ERR_DESCRIBE -1004 //describe请求失败 #define RTSP_ERR_SETUP -1005 //setup请求失败 #define RTSP_ERR_PLAY -1006 //play请求失败 #define RTSP_ERR_PAUSE -1007 //pause请求失败 #define RTSP_ERR_TEARDOWN -1008 //teardown请求失败 #define RTSP_ERR_NO_MEMORY -1009 //申请内存失败 #define RTSP_ERR_CONNECT -1010 //connect失败 #define RTSP_ERR_INITPORT -1011 //初始化端口失败 //码流传输方式 typedef enum { E_STREAM_TRANS_UDP = 1, //UDP传输码流 E_STREAM_TRANS_TCPACTIVE = 2, //GB28181 TCP主动 码流传输方式 TcpClient E_STREAM_TRANS_TCPPASSIVE = 3, //GB28181 TCP被动 码流传输方式 TcpServer }StreamTransType_E; //视频请求类型 typedef enum { E_VIDEO_REQUEST_REALPLAY = 1, //请求实时视频 E_VIDEO_REQUEST_PLAYBACK = 2, //请求历史视频 E_VIDEO_REQUEST_DOWNLOAD = 3, //历史视频下载 }VideoRequestType_E; #define HIS_VIDEO_CTRL_PLAY 1 //点播播放控制 #define HIS_VIDEO_CTRL_FAST 2 //点播快放控制 参数范围:1-32倍 #define HIS_VIDEO_CTRL_SLOW 3 //点播慢放控制 参数范围:1-32倍 #define HIS_VIDEO_CTRL_PAUSE 4 //点播暂停控制 #define HIS_VIDEO_CTRL_JUMP 5 //点播跳转控制 参数范围:从开始计算跳转的时间 (时间单位:秒) // 码流回调的数据类型 #define GB_VIDEO_STREAM_H264 0 #define GB_VIDEO_STREAM_MPEG2 1 // MPEG4 #define GB_VIDEO_STREAM_MPEG4 2 // MPEG4 #define GB_VIDEO_STREAM_SVAC 3 // SVAC #define GB_VIDEO_STREAM_3GP 4 // 3GP #define GB_VIDEO_STREAM_H265 5 //H265 // 码流回调帧数据类型 I帧 P帧 目前只判断是否为I帧 #define GB_VIDEO_FRAME_I 1 #define GB_VIDEO_FRAME_P 2 //////////////////////////////////////////////////////////////////////////////// // 函数名:码流回调函数 // 描述: // 参数:datatype:码流格式数据类型(H264 H265等) frametype:帧类型(I帧 P帧) // datalen:长度 data:码流数据 userdata:用户指针 // // 返回值:会话句柄 // 。 // 说明: // 保留原模块接口。 //////////////////////////////////////////////////////////////////////////////// typedef void (*PlayCallBack2)(int datatype, int frametype, unsigned char *data, unsigned int datalen, long userdata); #ifdef __cplusplus extern "C"{ #endif //////////////////////////////////////////////////////////////////////////////// // 函数名:RTSPSTREAM_Open // 描述:设置回调函数。 // 参数:rtsp地址、 码流回调函数、用户指针 // // // 返回值:会话句柄 // 。 // 说明: // 保留原模块接口。 //////////////////////////////////////////////////////////////////////////////// long RTSPSTREAM_Open(const char *rtspurl, PlayCallBack2 streamcallback, long userdata); //////////////////////////////////////////////////////////////////////////////// // 函数名:RTSPSTREAM_Contrl // 描述:设置回调函数。 // 参数:会话句柄, 控制类型, 控制参数 // // // 返回值: // 。 // 说明: // 保留原模块接口。 //////////////////////////////////////////////////////////////////////////////// long RTSPSTREAM_Contrl(long handle, int ctrltype, double ctrlparam); //////////////////////////////////////////////////////////////////////////////// // 函数名:RTSPSTREAM_Close // 描述:设置回调函数。 // 参数:会话句柄 // // // 返回值: // 。 // 说明: // 保留原模块接口。 //////////////////////////////////////////////////////////////////////////////// long RTSPSTREAM_Close(long handle); #ifdef __cplusplus } #endif #endif