ApsaraVideo Live では、標準ストリーミングからリアルタイムストリーミング (RTS) へシームレスにアップグレードできます。すでに標準ストリーミングをご利用の場合、[RTS] を有効にすることで、両方のサービスを同時に利用できます。
前提条件
ApsaraVideo Live サービスを有効化し、「ApsaraVideo Live クイックスタート」で説明されている標準ストリーミングの必要な設定を完了している必要があります。標準ストリーミングの設定は、以下の順序で完了する必要があります。
ステップ1:RTS の有効化
-
ApsaraVideo Live コンソールにログインします。
-
左側のナビゲーションペインで、ライブストリーム + > RTS を選択します。
-
[RTS] を有効にするストリーミングドメインを選択します。
-
[RTS] スイッチをオンにし、ビジネスニーズに応じてレイテンシモードを選択します:サブ秒遅延 (エンドツーエンドの遅延は 400 ms ~ 800 ms) または 半秒遅延 (エンドツーエンドの遅延は 200 ms ~ 400 ms)。
選択する前に、各レイテンシオプションの互換性と制限事項を確認してください。
準秒レベルのレイテンシ
-
特徴:高い互換性を備え、400 ms から 800 ms のエンドツーエンドレイテンシを実現します。このモードは、標準ストリーミングや他のアップストリーミングまたは再生プロトコルとの互換性が求められる低レイテンシのライブストリーミングシナリオに最適です。
-
プロトコルサポート:アップストリーミングとストリーム再生では、ARTC (WebRTC ベース) に対応しています。標準ストリーミングと上位互換があり、RTMP でのアップストリーミング、オリジンプル、および RTMP、FLV、HLS などの一般的な再生プロトコルに対応しています。
-
アップストリーミングおよび再生ツール:業界の一般的なツールと互換性があります。Alibaba Cloud Ingest SDK および ApsaraVideo Player SDK の使用を推奨します。
-
その他の注意事項:アップストリームに B フレームが含まれている場合、または Opus 以外の音声コーデックを使用している場合、システムは Web 再生用にストリームを自動的にトランスコーディングし、トランスコーディング料金が発生します。
ApsaraVideo Web SDK を再生に使用する場合、基盤となる WebRTC エンジンはネイティブでは B フレームをサポートしておらず、Opus 音声コーデックが必要です。スムーズな再生体験を保証するため、システムはアップストリームのコンテンツに基づいて自動的にトランスコーディングをトリガーします。
-
アップストリームにB フレームとAAC 音声の両方が含まれている場合、システムは動画から B フレームを削除し、音声を AAC から Opus に変換するために自動的にトランスコーディングします。ソース解像度に基づいた標準の動画トランスコーディング料金が課金されます。
-
アップストリームにB フレームが含まれていないもののAAC 音声が含まれている場合、システムは AAC を Opus に変換するために音声のみのトランスコーディングをトリガーします。音声のみのトランスコーディングに対して課金されます。
-
トランスコーディングテンプレートも設定している場合、システムはテンプレートで定義された操作に加えて、B フレームの削除と Opus への変換を実行します。組み合わされたトランスコーディング操作に対して課金されます。
ApsaraVideo Native SDK を再生に使用する場合、ネイティブ SDK は B フレームと AAC の両方をサポートしているため、自動トランスコーディングはトリガーされず、追加料金も発生しません。
-
0.5 秒レベルのレイテンシ
-
特徴:200 ms から 400 ms のエンドツーエンドレイテンシを実現します。このモードは、可能な限り低いレイテンシが求められるシナリオに適しています。
-
プロトコルサポート:アップストリーミングとストリーム再生は、ARTC (WebRTC ベース) に対応しています。このモードは標準ストリーミングと互換性がなく、RTMP でのアップストリーミング、オリジンプル、または RTMP、FLV、HLS などの一般的なプロトコルを使用した再生には対応していません。
-
アップストリーミングおよび再生ツール:アップストリーミングには、WHIP プロトコルを使用した OBS または Alibaba Cloud Ingest SDK を使用できます。ストリーム再生には、ApsaraVideo Player SDK を使用する必要があります。
-
その他の注意事項:このモードでは、トランスコーディングや録画などのクラウド機能はストリーミングドメインで利用できません。ただし、ストリーム転送設定を使用して、ストリームを別のドメインで利用可能にできます。
-
ストリームプッシュ設定 をクリックし、ストリーミングドメインに関連付けられており、0.5 秒レベルのレイテンシモードまたはデュアルストリームディザスタリカバリが有効になっていないアップストリーミングドメインを選択します。このドメインは転送された RTMP ストリームを受信します。たとえば、ストリームをアップストリーミングドメイン
push.example.comに転送できます。このドメインはストリーミングドメインpull.example.comに関連付けられています。設定が完了すると、標準ストリーミングプロトコルを使用してpull.example.comからストリームをプルし、トランスコーディングや録画などのクラウド機能を使用できます。
-
-
RTS 設定がネットワーク全体にデプロイされるまで数分かかる場合があります。テストする前に数分間お待ちください。
-
1つのアップストリーミングドメインを複数のストリーミングドメインに関連付ける必要がある場合は、「サブストリーミングドメインをメインストリーミングドメインにバインドする」をご参照ください。
-
RTS と標準ストリーミングは同じストリーミングドメインを共有できます。ただし、RTS は UDP を、標準ストリーミングは TCP を使用するため、基盤となる技術が異なります。RTS には専用のストリーミングドメインを使用することを推奨します。
ステップ2:アップストリーミング URL とストリーミング URL の生成
方法1:コンソールでの URL 生成
RTS を有効にすると、コンソールのストリームテストツールを使用できます。ライブストリーミング URL の高速生成 をクリックし、アプリケーション名とストリーム名を入力すると、ツールは ARTC ベースの RTS アップストリーミング URL とストリーミング URL を生成します。
コンソールでは、まず [リアルタイムストリーミング] スイッチを有効にし、レイテンシモードを選択する必要があります:[準秒レベルのレイテンシ] (エンドツーエンドレイテンシ 400 ms ~ 800 ms、RTMP/ARTC でのアップストリーミングと HLS/FLV/RTMP/ARTC での再生をサポート) または[0.5秒レベルのレイテンシ] (エンドツーエンドレイテンシ 200 ms ~ 400 ms、ARTC でのアップストリーミングと再生のみをサポート)。生成された URL リストには、artc://、rtmp://、http:// など、アップストリーミングと再生のための複数のプロトコル形式が含まれます。
方法2:手動での URL 構築
アップストリーミング URL とストリーミング URL を構築する前に、ストリームがトランスコーディングされるかどうか、および URL 署名が有効になっているかどうかを確認します。次に、必要な情報 (アップストリーミングドメイン、ストリーミングドメイン、アプリケーション名、ストリーム名、トランスコーディングテンプレート ID (該当する場合)、アクセス トークン (該当する場合)) を準備します。
|
URL タイプ |
形式 |
構築ルール |
|
アップストリーミング URL |
RTMP、RTS、SRT 形式に対応しています。アップストリーミングには RTMP 形式を使用することを推奨します。例: RTMP: 説明
[RTS] では、RTS URL を使用したストリーム再生にも対応しています。 |
アップストリーミングドメイン + アプリケーション名 + ストリーム名 + アクセス トークン |
|
ストリーミング URL |
RTMP、FLV、M3U8、RTS 形式に対応しています。ストリーム再生には RTS 形式を使用することを推奨します。例: RTS: |
ストリーミングドメイン + アプリケーション名 + ストリーム名 + アクセス トークン |
|
トランスコード済みストリーム URL 説明
トランスコーディングテンプレートを設定した場合は、対応するトランスコード済みストリーム URL を使用する必要があります。 |
RTMP、FLV、M3U8、RTS 形式に対応しています。ストリーム再生には RTS 形式を使用することを推奨します。例: RTS: |
ストリーミングドメイン + アプリケーション名 + ストリーム名_トランスコーディングテンプレート ID + アクセス トークン |
-
関連付けられたアップストリーミングドメインとストリーミングドメインでは、アップストリーミングとストリーム再生の両方で同じアプリケーション名とストリーム名を使用します。
-
トランスコード済みストリーム URL にはトランスコーディングテンプレートが必要です。トランスコーディングテンプレート ID はコンソールで確認できます。詳細は、「ライブストリームトランスコーディング」をご参照ください。
-
アクセストークン (auth_key) は、URL 署名が有効な場合にのみ必要なハッシュ文字列です。MD5 アルゴリズムを使用してアクセストークンを生成できます。詳細は、「署名付き URLのコンポーネント」をご参照ください。
-
URL をカスタマイズする場合、{Transcoding Template ID} または {Access Token} を実際のデータに直接置き換えます。実際のデータには {} 記号を含めないでください。
ステップ3:RTS のアップストリーミングと再生の開始
RTS を有効にして URL を生成した後、コンソールの RTS を体験する を使用して RTS のアップストリーミングと再生をテストできます。このツールは、カメラからのストリーミングまたは画面共有に対応しています。
コンソールのストリームテストツールは、迅速なテストのためにプロキシシグナリングドメインを使用します。Web SDK を独自のアプリケーションに統合する場合は、ドメインに SSL 証明書を設定し、正しい Access-Control-Allow-Origin レスポンスヘッダーを設定する必要があります。
ApsaraVideo Live では、RTS を試せる モバイルおよび Web デモも提供しています。
また、以下の SDK をアプリケーションに統合することもできます。
|
SDK タイプ |
ドキュメント |
|
モバイル |
|
|
Web |
再生に関する問題が発生した場合は、まずセルフサービス トラブルシューティングツールを使用してください。このツールは、一般的な再生の問題を迅速に診断し、解決策を提供します。詳細は、「セルフサービス トラブルシューティング」をご参照ください。
エンドツーエンドレイテンシの検証
アップストリームに時刻校正 URL を追加して、標準時と比較することで[RTS] のレイテンシを検証できます。以下の例では、アップストリーミングに OBS を使用します。
OBS のメインインターフェイスで、[ソース] セクションにブラウザソースとして時刻校正 URL を追加し、[配信開始] をクリックします。