video analysis2.0拆分,ffmpeg封装go接口库
zhangmeng
2019-11-04 907db4dde1b7c10dd3521a4869496542aeac72e2
font fixed
1个文件已修改
114 ■■■■ 已修改文件
csrc/thirdparty/gb28181/include/librtsp.h 114 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
csrc/thirdparty/gb28181/include/librtsp.h
@@ -2,43 +2,43 @@
#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   //初始化端口失败
#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
    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,    //历史视频下载
    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 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
@@ -46,20 +46,20 @@
#define    GB_VIDEO_STREAM_3GP        4    // 3GP
#define    GB_VIDEO_STREAM_H265    5    //H265
// 码流回调帧数据类型 I帧 P帧  目前只判断是否为I帧
// 码流回调帧数据类型 I帧 P帧  目前只判断是否为I帧
#define GB_VIDEO_FRAME_I        1
#define GB_VIDEO_FRAME_P        2
////////////////////////////////////////////////////////////////////////////////
// 函数名:码流回调函数
// 描述:
// 参数:datatype:码流格式数据类型(H264 H265等) frametype:帧类型(I帧 P帧)
//    datalen:长度 data:码流数据  userdata:用户指针
// 函数名:码流回调函数
// 描述:
// 参数:datatype:码流格式数据类型(H264 H265等) frametype:帧类型(I帧 P帧)
//    datalen:长度 data:码流数据  userdata:用户指针
//
// 返回值:会话句柄
//  。
// 说明:
//  保留原模块接口。
// 返回值:会话句柄
//  。
// 说明:
//  保留原模块接口。
////////////////////////////////////////////////////////////////////////////////
typedef void (*PlayCallBack2)(int datatype, int frametype, unsigned char *data, unsigned int datalen, long userdata);
@@ -68,41 +68,41 @@
#endif
////////////////////////////////////////////////////////////////////////////////
// 函数名:RTSPSTREAM_Open
// 描述:设置回调函数。
// 参数:rtsp地址、 码流回调函数、用户指针
// 函数名:RTSPSTREAM_Open
// 描述:设置回调函数。
// 参数:rtsp地址、 码流回调函数、用户指针
//
//
// 返回值:会话句柄
//  。
// 说明:
//  保留原模块接口。
// 返回值:会话句柄
//  。
// 说明:
//  保留原模块接口。
////////////////////////////////////////////////////////////////////////////////
long RTSPSTREAM_Open(const char *rtspurl, PlayCallBack2 streamcallback, long userdata);
////////////////////////////////////////////////////////////////////////////////
// 函数名:RTSPSTREAM_Contrl
// 描述:设置回调函数。
// 参数:会话句柄, 控制类型, 控制参数
// 函数名:RTSPSTREAM_Contrl
// 描述:设置回调函数。
// 参数:会话句柄, 控制类型, 控制参数
// 
//
// 返回值:
//  。
// 说明:
//  保留原模块接口。
// 返回值:
//  。
// 说明:
//  保留原模块接口。
////////////////////////////////////////////////////////////////////////////////
long RTSPSTREAM_Contrl(long handle, int ctrltype, double ctrlparam);
////////////////////////////////////////////////////////////////////////////////
// 函数名:RTSPSTREAM_Close
// 描述:设置回调函数。
// 参数:会话句柄
// 函数名:RTSPSTREAM_Close
// 描述:设置回调函数。
// 参数:会话句柄
//
//
// 返回值:
//  。
// 说明:
//  保留原模块接口。
// 返回值:
//  。
// 说明:
//  保留原模块接口。
////////////////////////////////////////////////////////////////////////////////
long RTSPSTREAM_Close(long handle);