實現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頭文件。