Alibaba Cloud Player SDK for iOS は、RTMP、FLV、HLS などのフォーマットでの標準ライブストリーム再生をサポートしています。このトピックでは、この機能の実装方法について説明します。
機能、API ドキュメント、よくある質問の詳細については、「Player for iOS」をご参照ください。
手順
ステップ 1: SDK の統合
詳細については、「iOS 用 Player SDK を統合する」をご参照ください。
ステップ 2: ライブストリーム再生の実装
使用を開始する。
基本的な再生の実装方法の詳細については、「iOS 用 Player の使用開始」をご参照ください。
ライブストリームソースを設定する。
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 暗号化ライブストリーム再生の詳細については、「暗号化されたビデオを再生する」をご参照ください。
複数の定義を設定します。
説明この機能は、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;