接口协议适用平台:(Windows&Linux&ARM)
1. SDK描述
EasyRTMPClient拉流功能组件是紫鲸团队开发和维护的一套非常稳定、易用、支持重连的RTMPClient工具,以SDK的形式提供,全平台支持(包括Windows/Linux 32&64,ARM各平台),接口简单、兼容性强、且成熟稳定!能清晰地回调出帧率、时间戳、首帧是否为I帧、ES数据流、能保存ES进行分析,一直都是围绕着“Easy”来进行架构和设计,能最接近现实项目中的应用需求!
2. API接口函数定义
2.1 数据、事件回调函数
函数:
typedef int (EasyRTMPClientCallBack)(int _channelId, void _channelPtr, int _frameType, char pBuf, EASY_FRAME_INFO _frameInfo);
参数:
_channelId: 通道号, 由EasyRTMPClient_StartStream设置
_channelPtr: 用户自定义数据,由EasyRTMPClient_StartStream设置
_frameType: EASY_SDK_VIDEO_FRAME_FLAG/EASY_SDK_AUDIO_FRAME_FLAG/EASY_SDK_EVENT_FRAME_FLAG/…
_pBuf: 回调的数据部分
_frameInfo: 帧结构参数
2.2 SDK激活
函数:
Easy_API Easy_I32 EasyRTMPClient_Activate(char *license);
参数:
license: SDK激活码,可在 www.pvale.com 在线获取,或联系我们。
返回:
返回值为第三节的EASY_ACTIVATE_ERR_CODE_ENUM枚举类型
2.3 创建EasyRTMPClient句柄 返回为句柄值
函数:
Easy_API Easy_RTMP_Handle EasyRTMPClient_Create();
返回:
返回Easy_RTMP_Handle 0表示失败
2.4 设置数据回调
函数:
Easy_API int EasyRTMPClient_SetCallback(Easy_RTMP_Handle handle, EasyRTMPClientCallBack _callback);
参数:
handle: EasyRTMPClient_Create接口返回的句柄
callback: 设置数据、事件回调函数
2.5 打开一路RTMP网络流
函数:
Easy_API int EasyRTMPClient_StartStream(Easy_RTMP_Handle _handle, int _channelid, const char _url, void _channelPtr);
参数:
_handle: EasyRTMPClient_Create接口返回的句柄
_channelid: 自定义通道号,回调函数返回时会携带回来,可用于表示通道,也可用_channelPtr参数来表示和参数传递
url: 拉取的流地址
_channelPtr: 用户自定义数据,回调函数返回时会带对应的userPtr,可用于标记对应流的回调和参数传递
2.6 释放EasyRTMPClient 参数为EasyRTMP句柄
函数:
Easy_API int EasyRTMPClient_Release(Easy_RTMP_Handle handle);
参数:
handle: EasyRTMPClient_Create接口返回的句柄
3. 结构体描述
|