接口协议适用平台:(Windows&Linux&ARM)
1. SDK描述
EasyRTMP是一套调用简单、功能完善、运行高效稳定的RTMP功能组件,经过多年实战和线上运行打造,支持RTMP推送断线重连、环形缓冲、智能丢帧、网络事件回调,支持Windows、Linux、arm(hisiv100/hisiv200/hisiv300/hisiv400/etc..)、Android、iOS平台,支持市面上绝大部分的RTMP流媒体服务器,包括Wowza、Red5、ngnix_rtmp、crtmpserver等主流RTMP服务器,能够完美应用于各种行业的直播需求,手机直播、桌面直播、摄像机直播、课堂直播等等方面!
2. API接口函数定义
2.1 数据、事件回调函数
函数:
typedef int (EasyRTMPCallBack)(int _frameType, char _pBuf, EASY_RTMP_STATE_T _state, void _userPtr);
参数:
_frameType: EASY_SDK_VIDEO_FRAME_FLAG/EASY_SDK_AUDIO_FRAME_FLAG/EASY_SDK_EVENT_FRAME_FLAG/…
_pBuf: 回调的数据部分,具体用法看Demo
_state: 连接状态:连接断开、重新连接、已连接
_userPtr: 用户自定义数据
2.2 SDK激活
函数:
EasyRTMP_API Easy_I32 Easy_APICALL EasyRTMP_Activate(char *license);
参数:
license: SDK激活码,可在 www.pvale.com 在线获取,或联系我们。
返回:
返回值为第三节的EASY_ACTIVATE_ERR_CODE_ENUM枚举类型
2.3 创建RTMP推送Session 返回推送句柄
函数:
EasyRTMP_API Easy_RTMP_Handle Easy_APICALL EasyRTMP_Create(void);
返回:
本次RTMP Session的句柄
2.4 设置数据回调
函数:
EasyRTMP_API Easy_I32 Easy_APICALL EasyRTMP_SetCallback(Easy_RTMP_Handle handle, EasyRTMPCallBack callback, void * userptr);
参数:
handle: EasyRTMP_Create接口返回的句柄
callback: 设置数据、事件回调函数
userptr: 设置用户自定义数据,每个Session对应一个userutr
2.5 连接RTMP服务器
函数:
EasyRTMP_API Easy_Bool Easy_APICALL EasyRTMP_Connect(Easy_RTMP_Handle handle, const char *url);
参数:
handle: EasyRTMP_Create接口返回的句柄
url: RTMP推流地址
2.6 设置RTMP推送的参数信息
函数:
EasyRTMP_API Easy_I32 Easy_APICALL EasyRTMP_InitMetadata(Easy_RTMP_Handle handle, EASY_MEDIA_INFO_T* pstruStreamInfo, Easy_U32 bufferKSize);
参数:
handle: EasyRTMP_Create接口返回的句柄
pstruStreamInfo:参数信息
bufferKSize: SDK中缓存队列大小,默认1024
2.7 推送H264或AAC流
函数:
EasyRTMP_API Easy_U32 Easy_APICALL EasyRTMP_SendPacket(Easy_RTMP_Handle handle, EASY_AV_Frame* frame);
参数:
handle: EasyRTMP_Create接口返回的句柄
frame: 帧数据
2.8 停止RTMP推送,释放句柄
函数:
EasyRTMP_API void Easy_APICALL EasyRTMP_Release(Easy_RTMP_Handle handle);
参数:
handle: EasyRTMP_Create接口返回的句柄
3. 结构体描述
|