实现Native端超低延时直播功能,需要集成播放器引擎。通过阅读本文,您可以了解Native RTS SDK目录结构及各播放器通过集成Native RTS SDK实现超低延时直播的方法。

实现超低延时直播基本流程

播放器引擎分为阿里云播放器SDK、依赖FFmpeg的其他播放器引擎、不依赖FFmpeg的播放器引擎三类。各播放器通过集成Native RTS SDK实现超低延时直播的基本流程如下所示:

播放器引擎 实现超低延时直播的基本流程
阿里云播放器SDK
  1. 阿里云播放器SDK集成Native RTS SDK作为插件。
  2. 用户工程集成阿里云播放器SDK。
  3. 调用阿里云播放器SDK接口实现超低延时直播功能。

Mac和Windows端RTS SDK内置阿里云播放器,无需单独集成(同时Mac端没有单独的阿里云播放器);Android和iOS端阿里云播放器SDK集成Native RTS SDK实现超低延时直播,详情请参见阿里云播放器SDK集成Native RTS SDK实现说明

依赖FFmpeg的其他播放器引擎
  1. 依赖FFmpeg的其他播放器集成Native RTS SDK作为插件。
  2. 用户工程集成其他播放器引擎。
  3. 调用播放器引擎接口实现超低延时直播功能。

通过依赖FFmpeg的其他播放器集成Native RTS SDK实现超低延时直播,详情请参见依赖FFmpeg的其他播放器集成Native RTS SDK实现说明

为了降低开发难度,对于依赖FFmpeg的其他播放器引擎,您也可以参见Native RTS SDK中的rtsdec.c文件将Native RTS SDK封装成了FFmpeg demuxer插件。

不依赖FFmpeg的播放器引擎
  1. 不依赖FFmpeg的播放器集成Native RTS SDK作为插件。
  2. 用户工程集成播放器引擎。
  3. 调用播放器引擎的接口使用RTS服务。

不依赖FFmpeg的播放器集成Native RTS SDK适用于拥有完全自研的播放器引擎。您需要将Native RTS SDK动态库和头文件复制到工程中,参见Native RTS SDK中的rtsdec.crtsenc.c完成demuxer的开发。

Native RTS SDK目录说明

操作系统 目录 描述
Android aar Maven依赖库,配合阿里云播放器SDK使用。
  • lib
  • include
需要用户自己开发artc demuxer,如果使用FFmpeg,可以基于source/rtsdec.c开发。
jar 1.4.1版本之后开始提供,使用本地方式集成需要引入jar包。
iOS source 无论是否使用阿里云播放器SDK都可以使用此依赖库。如果使用自有播放器,需要自己开发artc demuxer,如果自有播放器使用了FFmpeg,可以基于source/rtsdec.c开发。
RtsSDK.framework
Mac source
  • source/rtsdec.c:对接到FFmpeg拉流的示例。
  • source/rtsenc.c:对接到FFmpeg推流的示例。
lib 动态库文件libRtsSDK.dylib。
include RTS SDK头文件。
Windows source
  • source/rtsdec.c:对接到FFmpeg拉流的示例。
  • source/rtsenc.c:对接到FFmpeg推流的示例。
lib 动态库文件RtsSDK.dll、RtsSDK.lib。
include RTS SDK头文件。