API说明【windows】
RtmpPlaySdk简介
一款低延时的极简接口RTMP播放器(Windows版和Android版)。其中Windows版播放器的特性如下:
- 1、支持Rtmp掉线自动重连。
- 2、支持非阻塞Rtmp连接,外层可随时中断。
- 3、支持多实例
- 4、支持任意AAC采样率、声道数,内部自动resample,支持音量调节。
- 5、支持H264/H265+AAC组合Rtmp流,支持同步TS\MP4文件录制。
- 6、支持渲染时保证画面宽高比而自适应加黑边。
- 7、支持外层可设置的Jitter Buff延时,设置为0时为极速模式,配合低延时推送端最小延时仅500ms。
- 8、仅六个接口,调用简洁,用户只需传入播放器窗口句柄即可。
- 9、整个系统仅由一个DLL组成,占用空间小。性能强劲,单路720P 30fps在i5 CPU上占用率5%以内。
- 10、C++开发,支持C、C++、C#
API接口
所有API接口定义均位于RtmpPlayerSdk.h文件中。
1、环境初始化,系统只需调用一次
void RtmpPlayer_Enviroment_Init(const char * outputPath, LOG_OUTPUT_LEVEL outputLevel);
参数:
@param: outputPath:日志文件输出的目录,若目录不存在将自动创建
@param: outputLevel:日志输出的级别,只有等于或者高于该级别的日志输出到文件
返回值:
2、环境反初始化,系统只需调用一次
void RtmpPlayer_Enviroment_Free();
返回值:
3、创建RtmpPlayer
void* RtmpPlayer_Create();
返回值: 返回模块指针,为NULL则失败
4、销毁RtmpPlayer
void RtmpPlayer_Delete(void* pRtmpPlayer);
参数:
@param pRtmpPlayer: 模块指针
返回值:
::: caution
说明:本API涉及到资源销毁,使用者应该做好本接口与其他API接口的互斥保护
:::
5、开始拉流Rtmp并播放
BOOL RtmpPlayer_Start(void* pRtmpPlayer, char *strRtmpPlayUrl, UINT unJitterBuffDelay, void* pDisplayHandle);
参数:
@param pRtmpPlayer: 模块指针
@param strRtmpPlayUrl: Rtmp地址
@param unJitterBuffDelay: 内部缓存时间,缓存时间越大延时越大、流畅性越好。反之延时越小,流畅性越差。范围[0, 4000]毫秒,设置为0时为极低延时模式。
@param pDisplayHandle: 渲染输出的窗口句柄
返回值: TURE成功,FALSE失败
6、停止拉流Rtmp播放
void RtmpPlayer_Stop(void* pRtmpPlayer);
参数:
@param pRtmpPlayer: 模块指针
返回值:
7、获取RTMP连接状态
RtmpPlay_Status RtmpPlayer_GetRtmpStatus(void* pRtmpPlayer);
参数:
@param pRtmpPlayer: 模块指针
返回值: RTMP连接状态
H265支持说明
H265 over RTMP采用业内普遍使用的私有标准(SRS、金山云、大牛直播等均采用该标准),使用如下环境测试:
推送端:ffmpeg补丁版 https://github.com/ossrs/srs/pull/1721#issuecomment-619460847
服务器:SRS 4.x https://github.com/ossrs/srs/tree/feature/h265
SDK下载
最后修改时间: 1 年前