すべてのプロダクト
Search
ドキュメントセンター

ApsaraVideo Live:標準のライブストリーム再生

最終更新日:Nov 09, 2025

Alibaba Cloud Player SDK for Android は、RTMP、FLV、HLS などのフォーマットでの標準ライブストリーム再生をサポートしています。このトピックでは、標準のライブストリーム再生を実装する方法について説明します。

重要

特徴、API ドキュメント、よくある質問の詳細については、「Player for Android」をご参照ください。

手順

ステップ 1: SDK の統合

SDK を統合するには、「Player SDK for Android の統合」をご参照ください。

ステップ 2: ライブストリーム再生の実装

  1. 開始

    基本的な再生を実装するには、「Player for Android のクイックスタート」をご参照ください。

  2. ライブストリームソースの設定

    Player SDK for Android は、UrlSource 再生と暗号化再生の 2 つのライブストリーム再生メソッドをサポートしています。

    UrlSource を使用したライブストリーム再生

    UrlSource メソッドを使用してライブストリームを再生するには、プレーヤーの setUrl プロパティをストリーミング URL に設定します。URL は、サードパーティのストリーミング URL または ApsaraVideo Live のストリーミング URL にすることができます。

    URL ジェネレーターを使用して、コンソールで ApsaraVideo Live ストリーミング URL を生成できます。詳細については、「URL ジェネレーター」をご参照ください。

    UrlSource urlSource = new UrlSource();
            urlSource.setUri("Playback URL");// 再生 URL。これは、サードパーティのストリーミング URL または ApsaraVideo Live のストリーミング URL にすることができます。
            aliPlayer.setDataSource(urlSource);

    DRM 暗号化によるライブストリーム再生

    DRM 暗号化によるライブストリーム再生の詳細については、「暗号化されたビデオを再生する方法」をご参照ください。

  3. 複数の解像度の設定

    説明
    • この機能は、ApsaraVideo Live の再生 URL またはトランスコードされたストリーム URL をサポートします。デフォルトおよびカスタムのトランスコーディングがサポートされています。ライブストリームトランスコーディングの詳細については、「トランスコーディング管理」をご参照ください。URL の取得方法については、「アップストリーミング URL とストリーミング URL の生成」をご参照ください。

    • Alibaba Real-Time Communication (ARTC) または FLV プロトコルを使用するライブストリームでは、異なる解像度間の切り替えがサポートされています。

    • アップストリーミングの GOP (group of pictures) サイズを 1 s または 2 s に設定します。サイズが大きいと、ストリームを切り替えるときにジャンプが発生する可能性があります。

    • 再生ドメイン名については、次のオプションを有効にします: FLV 再生中の RTMP タイムスタンプの出力、およびアップストリーム切断後の RTMP タイムスタンプの出力。トランスコーディング設定については、次のオプションを有効にします: タイムスタンプはソースに従う、およびキーフレームはソースに従う。そうしないと、ストリームの切り替えが途切れたり失敗したりします。これらのオプションを有効にするには、チケットを送信してください。

    • 上記の要件を満たさないストリーム URL への切り替えは失敗します。

    スイッチの定義

    switchStream メソッドを呼び出して解像度を切り替えることができます。新しい解像度に対応する 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());
        }
    });