SDK接口说明

音视频直播 LSS

  • 播放器SDK
  • Demo体验
  • 产品动态
  • 产品描述
    • 功能特性
    • 产品概述
    • 产品优势
    • 应用场景
    • 核心概念
  • 控制台操作指南
    • 多用户访问控制
    • LSS概览
    • 标签管理
    • 黄反审核
    • 安全策略
    • 开通LSS
    • 日志管理
    • 质量监控
    • 操作指引
    • 统计分析
      • 用量查询
      • 直播域名
      • 用户行为
    • 模板管理
      • 缩略图模板
      • 水印模板
      • 通知模板
      • 转码模板
      • 录制模板
    • 域名管理
      • 配置HTTPS
      • 时移&回看功能
      • 配置CNAME
      • 关闭域名
      • 添加域名
      • 删除域名
      • 开启域名
      • 配置转推功能
    • 流管理
      • 查询流信息
      • 新建流
  • 入门指南
    • 开始使用LSS
    • 创建推流和播放域名
    • 快速入门流程
  • 第三方工具使用指南
    • OBS推流工具使用指南
  • 服务等级协议SLA
    • LSS服务等级协议SLA
  • API参考
    • 日志下载接口
    • 统计接口
    • 模板接口
    • 文档更新记录
    • 通知接口
    • Stream接口
    • 轮播接口
    • 错误返回
    • 录制视频裁剪
    • 使用须知
    • 公共头域
    • 概述
  • 常见问题
    • API、SDK使用类问题
    • 计费类问题
    • 使用类问题
    • 常见问题总览
    • 性能类问题
    • 安全类问题
  • 视频专区
    • 操作指南
    • 开通直播服务
    • 新手入门
    • 产品简介
  • 低延时直播
    • 低延时直播概述
    • Demo和SDK接入说明
    • 低延时直播RTL SDK隐私政策
    • 低延时直播和标准直播区别
    • 低延时直播RTL SDK开发者个人信息保护合规指引
    • 低延时直播快速入门
    • SDK集成指南
      • SDK集成指南
      • 低延时传输层SDK
        • SDK接口说明
        • iOS端SDK集成指引
        • Android端SDK集成指引
      • 低延时全功能SDK
        • Android 端集成指引
  • 产品定价
    • 余额不足提醒和欠费处理
    • 账单
    • 购买流程
    • 计费方式变更
    • 计费概述
    • 预付费资源包
    • 退款说明
    • 直播增值服务费用
      • 直播录制
      • 直播审核
      • 直播转推
      • 直播转码
      • 直播时移
      • 直播截图
    • 直播基础服务费用
      • 标准直播服务费用
      • 低延时直播服务费用
  • 服务端SDK
    • 服务端PHP-SDK
      • 异常处理
      • 安装LSS-PHP-SDK
      • 安装LssClient
      • LSS开发指南
    • 服务端Java-SDK
      • 录制功能
      • 统计功能
      • 通知功能
      • Java-SDK-文档
      • 安装LSS-Java-SDK
      • stream管理
      • LssClient
  • 推流端SDK
    • iOS端推流SDK
      • 简介
      • 推流-SDK-开发指南
    • Android端推流SDK
      • 简介
      • 推流-SDK-开发指南
所有文档
menu
没有找到结果,请重新输入

音视频直播 LSS

  • 播放器SDK
  • Demo体验
  • 产品动态
  • 产品描述
    • 功能特性
    • 产品概述
    • 产品优势
    • 应用场景
    • 核心概念
  • 控制台操作指南
    • 多用户访问控制
    • LSS概览
    • 标签管理
    • 黄反审核
    • 安全策略
    • 开通LSS
    • 日志管理
    • 质量监控
    • 操作指引
    • 统计分析
      • 用量查询
      • 直播域名
      • 用户行为
    • 模板管理
      • 缩略图模板
      • 水印模板
      • 通知模板
      • 转码模板
      • 录制模板
    • 域名管理
      • 配置HTTPS
      • 时移&回看功能
      • 配置CNAME
      • 关闭域名
      • 添加域名
      • 删除域名
      • 开启域名
      • 配置转推功能
    • 流管理
      • 查询流信息
      • 新建流
  • 入门指南
    • 开始使用LSS
    • 创建推流和播放域名
    • 快速入门流程
  • 第三方工具使用指南
    • OBS推流工具使用指南
  • 服务等级协议SLA
    • LSS服务等级协议SLA
  • API参考
    • 日志下载接口
    • 统计接口
    • 模板接口
    • 文档更新记录
    • 通知接口
    • Stream接口
    • 轮播接口
    • 错误返回
    • 录制视频裁剪
    • 使用须知
    • 公共头域
    • 概述
  • 常见问题
    • API、SDK使用类问题
    • 计费类问题
    • 使用类问题
    • 常见问题总览
    • 性能类问题
    • 安全类问题
  • 视频专区
    • 操作指南
    • 开通直播服务
    • 新手入门
    • 产品简介
  • 低延时直播
    • 低延时直播概述
    • Demo和SDK接入说明
    • 低延时直播RTL SDK隐私政策
    • 低延时直播和标准直播区别
    • 低延时直播RTL SDK开发者个人信息保护合规指引
    • 低延时直播快速入门
    • SDK集成指南
      • SDK集成指南
      • 低延时传输层SDK
        • SDK接口说明
        • iOS端SDK集成指引
        • Android端SDK集成指引
      • 低延时全功能SDK
        • Android 端集成指引
  • 产品定价
    • 余额不足提醒和欠费处理
    • 账单
    • 购买流程
    • 计费方式变更
    • 计费概述
    • 预付费资源包
    • 退款说明
    • 直播增值服务费用
      • 直播录制
      • 直播审核
      • 直播转推
      • 直播转码
      • 直播时移
      • 直播截图
    • 直播基础服务费用
      • 标准直播服务费用
      • 低延时直播服务费用
  • 服务端SDK
    • 服务端PHP-SDK
      • 异常处理
      • 安装LSS-PHP-SDK
      • 安装LssClient
      • LSS开发指南
    • 服务端Java-SDK
      • 录制功能
      • 统计功能
      • 通知功能
      • Java-SDK-文档
      • 安装LSS-Java-SDK
      • stream管理
      • LssClient
  • 推流端SDK
    • iOS端推流SDK
      • 简介
      • 推流-SDK-开发指南
    • Android端推流SDK
      • 简介
      • 推流-SDK-开发指南
  • 文档中心
  • arrow
  • 音视频直播LSS
  • arrow
  • 低延时直播
  • arrow
  • SDK集成指南
  • arrow
  • 低延时传输层SDK
  • arrow
  • SDK接口说明
本页目录
  • 一、概述
  • 二、API详情

SDK接口说明

更新时间:2025-08-21

一、概述

API 描述
GetRtlStreamModule 获取rtl API操作唯一句柄。
create 创建rtl 播放实例
open 通过url打开媒体流
read 读取一帧媒体数据
free_frame 释放一帧媒体数据
close 关闭媒体流

二、API详情

* GetRtlStreamModule: 获取rtl API操作唯一句柄。

Plain Text
1const struct RtlStreamModule* GetRtlStreamModule(int version);

参数

参数 类型 描述
version int 版本号

返回

返回操作其它API的 RtlStreamModule 函数指针。

* create:创建rtl 播放实例。

Plain Text
1void* (*create)(RtlProfile profile);

参数

参数 类型 描述
profile RtlProfile 播放配置

返回

返回播放操作句柄表示成功,返回nullptr表示失败。

1、RtlProfile 数据结构

Plain Text
1typedef struct RtlProfile {
2  RtlLogLevel log_level;   // debug log level
3  void* ctx;            // AVFormatContext  usually 
4  RtlSignalingMode signaling_mode;
5  RtlCallbacks callbacks;  // rtl callbacks
6  char *media_server_host;
7} RtlProfile;
成员属性 描述
log_level debug log 级别控制 包括:0:RTL_LOG_DEBUG、1:RTL_LOG_INFO、2:RTL_LOG_WARN、3:RTL_LOG_ERROR、4:RTL_LOG_NONE
signaling_mode 信令模式,1: http 信令、2:百度私有udp信令,暂不开放 3: udp over minisdp信令。
ctx 传入rtl 的上下文, ffmpeg 里一般传入AVFormatContext。
callbacks rtl 回调
media_server_host 预设媒体服务地址,可优化启播,非必需。

2、RtlCallbacks 结构

Plain Text
1typedef struct RtlCallbacks {
2  OnLogSink log_sink; // log callback
3  MsgCallback msg_callback; // message callback
4  MediaInfoCallback media_info_callback; // media info callback
5} RtlCallbacks;
成员属性 描述
log_sink 日志回调, rtl 通过该接口向接入层回调debug日志信息;
msg_callback 消息回调,rtl 通过该接口向接入层回调事件及异常消息;
media_info_callback 媒体信息回调,rtl 通过该接口向接入层回调媒体信息;

3、MsgCallback 消息回调

Plain Text
1typedef int(*MsgCallback)(void* ctx, int type, const void* data, int data_size);
参数 类型 描述
ctx void* 上下文
type int 消息类型
void* 消息扩展信息
data_size int 消息扩展信息长度

消息类型包含事件消息及异常消息。

事件消息定义:

事件消息 事件码 描述
RTL_EVENT_ICE_CONNECTED 1201 ICE 媒体通道连接成功。
RTL_EVENT_CONNECTION_CLOSED 1202 播放连接关闭。
RTL_EVENT_ICE_DISCONNECTED 1206 ICE 媒体通道连接断开。
RTL_EVENT_NO_STREAMING_DETECTED 1207 没有检测到媒体流。
RTL_EVENT_REMOTE_SDP_ACQUIRED 1210 获得远端媒体描述。
RTL_EVENT_FIRST_VFRAME 1211 视频首帧事件。

异常消息定义:

错误消息 错误码 描述
RTL_ERROR_ICE_CHANNEL 12001 ICE 连接错误, 建议重试一次, 重试仍失败降级为普通直播。
RTL_ERROR_CONNECTION 12003 播放连接创建失败。
RTL_ERROR_REMOTE_SDP_REQUEST 12006 远端媒体描述请求失败, 建议降级为普通播放。
RTL_ERROR_INVALID_STATE 12008 播放状态错误。
RTL_ERROR_STREAMING_INTERRUPT 12009 媒体流中断错误(默认10s未收到媒体流则反馈该错误)。
RTL_ERROR_INVALID_URL 12010 URL 格式错误。
RTL_ERROR_MTU_SIZE_CHECK_FAILED 12014 用户当前网络不支持低延时播放错误(MTU检测异常),建议降级为普通播放。

* open:通过url打开媒体流。

Plain Text
1int (*open)(void* handle, const char* stream_url);

参数

参数 类型 描述
handle void* create 接口返回的播放句柄。
stream_url char* 媒体流播放地址,前缀为“webrtc://”。

返回

成功返回0,失败返回负值。

* read:读取一帧音视媒体数据。

Plain Text
1int (*read)(void* handle, struct RtlFrame** frame);

参数

参数 类型 描述
handle void* create 接口返回的播放句柄。
frame struct RtlFrame** 音视频媒体数据结构。

返回

返回 1 表示读取一帧到存入frame。 返回-1表示EOF。 返回其它负值表示发生错误;

* free_frame:释放一帧媒体数据。

Plain Text
1 void (*free_frame)(void* handle, struct RtlFrame* frame);

参数

参数 类型 描述
handle void* create 接口返回的播放句柄。
frame struct RtlFrame** 待释放的一帧媒体数据。

返回

无返回

* close:关闭媒体流。

Plain Text
1  void (*close)(void* handle);

参数

参数 类型 描述
handle void* create 接口返回的播放句柄。

返回

无返回。

上一篇
SDK集成指南
下一篇
iOS端SDK集成指引