关于c++:SkeyePlayer-RTSP播放器库API接口说明

3次阅读

共计 3506 个字符,预计需要花费 9 分钟才能阅读完成。

概述
libSkeyePlayer 实现对 RTSP 直播流进行实时采集和解码显示,稳固,高效,低延时;解码可采纳 intel 硬件解码和软件解码两种形式,能实时进行录像和快照抓图,OSD 叠加等性能。

API 接口函数定义
 int SkeyePlayer_Init();
函数阐明:
播放器初始化,播放器应用之前调用;
参数阐明:

 void SkeyePlayer_Release();
函数阐明:
播放器资源开释,播放器不再应用当前调用;
参数阐明:

int SkeyePlayer_OpenStream(const char url, HWND hWnd, RENDER_FORMAT renderFormat, int rtpovertcp, const char username, const char password, MediaSourceCallBack callback, void userPtr, bool bHardDecode);
函数阐明:
播放器开始进行流播放;返回值为以后播放的通道 ID,该 ID 在进行推流时须要用到;
参数阐明:
Url:[IN] 字符串类型,示意以后要播放的流地址,Eg: rtsp://127.0.0.1:554/stream.sdp
HWnd: [IN] 窗口句柄类型,示意为以后播放器将显示的窗口的句柄;
renderFormat:[IN] 播放渲染类型,详见 RENDER_FORMAT 构造;
Rtpovertcp:[IN] 整数型,拉取流的传输模式,0=udp, 1=tcp
Username:[IN] 字符串,拜访流的用户名(如果存在)
Password:[IN] 字符串,拜访流的用户名(如果存在)
Callback:[IN] 播放器回调音视频数据回调函数
userPtr:[IN] 用户自定义传入数据
bHardDecode:[IN] 是否采纳硬件解码 1= 是,0= 否

void SkeyePlayer_CloseStream(int channelId);
函数阐明:
播放器进行流播放;
参数阐明:
channelId [IN] 以后播放的流通道 ID,该 ID 是 SkeyePlayer_OpenStream 函数关上流的返回值;
int SkeyePlayer_SetFrameCache(int channelId, int cache);
函数阐明:
播放器设置以后流播放缓存帧数;
参数阐明:
channelId [IN] 以后播放的流通道 ID,该 ID 是 SkeyePlayer_OpenStream()函数关上 流的返回值;
cache [IN] 以后通道的流播放设置的缓存的视频帧数,Eg: 缓存 10 帧,则 cache = 10;

int SkeyePlayer_SetShownToScale(int channelId, int shownToScale);
函数阐明:
播放器按比例进行显示;
参数阐明:
channelId [IN] 以后播放的流通道 ID,该 ID 是 SkeyePlayer_OpenStream()函数关上 流的返回值;
shownToScale [IN] 0= 整个窗口区域显示,1= 按比例显示;

int SkeyePlayer_SetDecodeType(int channelId, int decodeKeyframeOnly);< 不罕用 >
函数阐明:
播放器设置解码类型;分为所有帧解码和只解码关键帧;
参数阐明:
channelId [IN] 以后播放的流通道 ID,该 ID 是 SkeyePlayer_OpenStream()函数关上 流的返回值;
decodeKeyframeOnly [IN] 0= 所有帧解码,1= 只解码关键帧;

int SkeyePlayer_SetRenderRect(int channelId, LPRECT lpSrcRect);< 不罕用 >
函数阐明:设置视频显示时渲染区域
参数阐明:
channelId [IN] 以后播放的流通道 ID,该 ID 是 SkeyePlayer_OpenStream 函数关上 流的返回值;
lpSrcRect [IN] 矩形框构造体指针,指向设置渲染区域的矩形构造体;

int SkeyePlayer_ShowStatisticalInfo(int channelId, int show);
函数阐明:
播放器设置是否显示码流信息;
参数阐明:
channelId [IN] 以后播放的流通道 ID,该 ID 是 SkeyePlayer_OpenStream()函数关上 流的返回值;
Show [IN] 0= 不显示,1= 显示;

int SkeyePlayer_ShowOSD(int channelId, int show, EASY_PALYER_OSD osd);
函数阐明:
播放器设置自定义显示 OSD 信息;
参数阐明:
channelId [IN] 以后播放的流通道 ID,该 ID 是 SkeyePlayer_OpenStream()函数关上 流的返回值;
Show [IN] 0= 不显示,1= 显示;
Osd [IN] osd 显示信息填充构造,定义如下:
typedef struct tagEASY_PALYER_OSD
{

char    stOSD[1024];    //OSD 字幕信息
DWORD    alpha;        // 通明通到 0 -255 
DWORD    color;        //RGB(0xf9,0xf9,0xf9)
DWORD    shadowcolor;    //OSD 背景色彩 RGB(0x4d,0x4d,0x4d) 全为 0 背景通明
RECT    rect;        //OSD 基于图像右上角显示区域
    int        size; //OSD 字体的大小

}EASY_PALYER_OSD;
留神:osd 字幕叠加通过”\r\n“结束符进行换行,一行的长度不能超过 128 个字节,总的 OSD 叠加不能超过 1024 个字节。其中 OSD 大小设置只有 D3D 渲染模式能力失效;

int SkeyePlayer_SetDragStartPoint(int channelId, POINT pt);< 不可用 >
函数阐明:
参数阐明:

int SkeyePlayer_SetDragEndPoint(int channelId, POINT pt);< 不可用 >
函数阐明:
参数阐明:

int SkeyePlayer_ResetDragPoint(int channelId);< 不可用 >
函数阐明:
参数阐明:

int SkeyePlayer_StartManuRecording(int channelId);
函数阐明:
播放器开始将流音视频数据进行录制,录制格局为 MP4;
参数阐明:
channelId [IN] 以后播放的流通道 ID,该 ID 是 SkeyePlayer_OpenStream 函数关上 流的返回值;

int SkeyePlayer_StopManuRecording(int channelId);
函数阐明:
播放器进行录制 MP4;
参数阐明:
channelId [IN] 以后播放的流通道 ID,该 ID 是 SkeyePlayer_OpenStream 函数关上 流的返回值;

int SkeyePlayer_PlaySound(int channelId);
函数阐明:
播放器开始播放音频;
参数阐明:
channelId [IN] 以后播放的流通道 ID,该 ID 是 SkeyePlayer_OpenStream 函数关上 流的返回值;

int SkeyePlayer_StopSound();
函数阐明:
播放器进行播放音频;

int SkeyePlayer_GetMediaInfo(int channelId, MEDIA_INFO& mediaInfo);
函数阐明:
播放器获取流媒体信息;
留神:该函数须要在拉到流信息当前能力精确的返回流媒体信息,否则返回数据均为空值。
参数阐明:
channelId [IN] 以后播放的流通道 ID,该 ID 是 SkeyePlayer_OpenStream()函数关上 流的返回值;
mediaInfo[OUT] 获取的媒体信息结构,参考 MEDIA_INFO 的申明如下:

typedef struct tagMEDIA_INFO
{
    unsigned int    video_codec;        /* 视频编码格局 */
    unsigned char    fps;                /* 视频帧率 */
    unsigned short    width;                /* 视频宽 */
    unsigned short  height;                /* 视频高 */
    unsigned int    audio_codec;        /* 音频编码格局 */
    unsigned int    sample_rate;        /* 音频采样率 */
    unsigned int    channels;            /* 音频声道数 */
    unsigned int    bits_per_sample;    /* 音频采样精度 */
    unsigned int    reserved1;            /* 保留参数 1 */
    unsigned int    reserved2;            /* 保留参数 2 */
}MEDIA_INFO;
正文完
 0