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

ApsaraVideo Live:標準ストリーミング再生

最終更新日:Nov 09, 2025

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

重要

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

手順

ステップ 1: SDK の統合

詳細については、「iOS 用 Player SDK を統合する」をご参照ください。

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

  1. 使用を開始する。

    基本的な再生の実装方法の詳細については、「iOS 用 Player の使用開始」をご参照ください。

  2. ライブストリームソースを設定する。

    Player SDK for iOS は、ライブストリームの 2 つの再生メソッドをサポートしています。URL ソースからの再生と暗号化された再生です。

    URL ソースからのライブストリーム再生

    URL からライブストリームを再生するには、プレーヤーの source プロパティをストリーミング URL に設定します。ストリーミング URL は、サードパーティのサービスまたは ApsaraVideo Live から取得できます。

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

    AVPUrlSource *urlSource = [[AVPUrlSource alloc] urlWithString:url]; // 必須。再生 URL。これは、サードパーティのサービスまたは ApsaraVideo Live からのストリーミング URL です。
    [self.player setUrlSource: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 に設定する必要があります。GOP サイズが大きいと、ストリームを切り替えるときに再生が飛ぶことがあります。

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

    • これらの要件を満たさないストリーム URL に切り替えると、切り替えは失敗します。

    解像度の切り替え

    解像度を切り替えるには、switchStream メソッドを呼び出し、新しい解像度のストリームの URL を渡します。

    [self.player switchStream:newUrl];

    解像度切り替えの通知

    定義の切り替えが成功した場合と失敗した場合に、コールバックが提供されます。

    // 切り替え成功のコールバック。
    - (void)onStreamSwitchedSuccess:(AliPlayer*)player URL:(NSString*)URL;
    
    // 切り替え失敗のコールバック。
    - (void)onStreamSwitchedFail:(AliPlayer*)player URL:(NSString*)URL errorModel:(AVPErrorModel *)errorModel;