通过阅读本文,你可以了解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表示重试,返回其他表示错误。