通过阅读本文,你可以了解Linux推流SDK所涉及的接口详情。
目录
API | 描述 |
---|---|
get_rts_funcs | 唯一对外可见的API,获取其他API的指针。 |
preconfig | 全局参数配置函数,全局调用一次。 |
destroy | 释放实例,进程退出时调用一次,释放全局日志对象等资源。 |
open | 开始推流。 |
close | 结束推流。 |
write | 发送音视频数据。 |
详情
- get_rts_funcs:唯一对外可见的API,获取其他API的指针。
const struct rts_glue_funcs *get_rts_funcs(int version)
参数说明:参数 类型 描述 version int API兼容版本(必须是1)。 返回说明:返回rts_glue_funcs指针表示调用成功,返回NULL表示调用失败(一般情况为version参数不匹配)。
- preconfig:全局参数配置函数,全局只能调用一次。在调用open接口前调用。
void (* preconfig)(const rts_golbal_config_t* config);
参数说明:参数 类型 描述 config const rts_golbal_config_t* 全局配置 - destroy:释放实例,进程退出时调用一次,释放全局日志对象等资源。
void (* destroy)();
- open:开始推流。
void *(* open)(const char *url, const rts_config_t* config, const char *mode)
参数说明:参数 类型 描述 url const char * 流的URL,支持artc://格式的URL。 config const rts_config_t* 推流相关配置。 mode const char * 模式。取值为w,表示推送流。 返回说明:返回句柄表示调用成功,返回NULL表示调用失败。
- close:结束推流。
void (* close)(void *handle)
参数说明:参数 类型 描述 handle void * open接口返回的句柄。 - write:发送音视频数据。
int (* write)(struct rts_frame *frame, void *handle)
参数说明:参数 类型 描述 frame struct rts_frame* 要发送的音视频帧。 handle void * open接口返回的句柄。 返回说明:返回0表示调用成功,返回-3表示重试,返回其他表示错误。