全部產品
Search
文件中心

ApsaraVideo Live:RTS直播播放

更新時間:Jan 20, 2026

超低延時直播RTS(Real-time Streaming)是ApsaraVideo for Live的重要增值功能,通過阿里雲播放器SDK實現千萬級並發下的毫秒級延時直播,解決傳統直播3~6秒延時問題,保障了超低延時、低卡頓、秒開的流暢體驗。本文介紹RTS直播播放的實現方法。

重要

更多功能、API文檔及常見問題,請參考Android播放器

RTS播放

Android播放器SDK整合Native RTS SDK實現Native端低延時直播功能,詳情請參見Android端實現RTS拉流

詳細程式碼範例可參考API-Example RTS超低延時直播播放(RtsLiveStream)模組,該工程是基於Java的阿里雲播放器SDK Android樣本工程,能夠協助開發人員快速掌握SDK核心功能整合。

RTS多清晰度

說明
  • 支援阿里雲ApsaraVideo for Live的播放地址或經直播轉碼後(現支援通用轉碼和自訂轉碼)的轉碼流地址,直播轉碼詳情請參見轉碼管理;地址擷取方式請參見產生直播地址

  • 支援RTS協議和HTTP-FLV協議直播流的不同清晰度切換。

  • 推流的gop size需要設定為1s或2s,過大會導致切流跳變。

  • 播放網域名稱需開啟選項:FLV播放時輸出RTMP時間戳記、上遊斷流後輸出RTMP時間戳記;轉碼配置需開啟選項:時間戳記隨源、主要畫面格隨源,否則會導致切流卡頓或失敗。如需開啟請提交工單申請。

  • 切換到不符合上述要求的流地址時,會切換失敗。

切換清晰度

通過switchStream方法切換清晰度,傳遞對應新清晰度的URL即可。

//起播
aliPlayer.setUrlSource(oldUrl);
aliPlayer.prepare();
aliPlayer.start();

//播放過程中切換至另一個url
aliPlayer.switchStream(newUrl);

清晰度切換通知

清晰度切換成功與失敗回調。

aliPlayer.setOnStreamSwitchedListener(new IPlayer.OnStreamSwitchedListener() {
    @Override
    public void onSwitchedSuccess(String url) {
        Log.i("SwitchStream", "switch success, url = " + url);
    }

    @Override
    public void onSwitchedFail(String url, ErrorInfo errorInfo) {
        Log.i("SwitchStream", "switch failed, url = " + url + ", error=" + errorInfo.getMsg());
    }
});