標準のライブストリーミングでは、通常エンドツーエンドレイテンシが 3~6 秒程度発生します。リアルタイムストリーミング (RTS) を使用すると、このレイテンシをミリ秒単位まで低減でき、パケット損失に対する耐性も向上します。e コマース向けライブ配信、オンライン教育、スポーツ中継、ライブショーなど、低レイテンシと高インタラクティブ性が求められるユースケースに RTS をご活用ください。
本ガイドでは、ApsaraVideo Live の有効化、ドメインの構成、RTS の有効化、および初回ストリームのテスト手順について説明します。
基本概念
用語 | 説明 |
インジェストドメイン | エンコーダまたはプッシュ SDK からライブストリームを受信するドメインです。 |
ストリーミングドメイン | 視聴者にライブストリームを配信するドメインです。 |
AppName | アップストリーミング URL およびストリーミング URL 内のアプリケーションレベルのパスセグメント(例: |
StreamName | AppName 内で特定のライブストリームを一意に識別する ID です。 |
ライブセンター | トランスコード、録画、スナップショット取得、プロダクションスタジオなどのクラウド機能を実行する、リージョン固有の処理ハブです。 |
ApsaraVideo Real-Time Communication (ARTC) | Web Real-Time Communication (WebRTC) を基盤とする、Alibaba Cloud が提供する RTS 向けプロトコルです。 |
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
アップストリーミングドメインおよびストリーミングドメイン
ドメイン名のインターネットコンテンツプロバイダー (ICP) 登録完了(中国本土内でサービスを提供する場合)
ライブセンターが中国本土以外にあり、かつアクセラレーションリージョンが 中国本土以外 に設定されている場合は、ICP 登録は不要です。
アップストリーミングドメインおよびストリーミングドメインが同一プライマリドメインのサブドメインである場合、プライマリドメインのみの ICP 登録で十分です。
レイテンシモードの選択
RTS には 2 種類のレイテンシモードがあります。構成を進める前に、ご利用のユースケースに合ったモードを選択してください。
機能 | サブセカンド | ハルフセカンド |
エンドツーエンドレイテンシ | 400~800 ms | 200~400 ms |
プロトコル | ARTC(WebRTC 基盤) | ARTC(WebRTC 基盤) |
標準ライブストリーミングとの互換性 | あり。RTMP アップストリーミング、back-to-origin、RTMP/FLV/HLS による再生をサポートします。 | なし。ARTC 専用です。 |
インジェストツール | 一般的なツール。推奨:ApsaraVideo Live プッシュ SDK | OBS Studio との WHIP、ApsaraVideo Live プッシュ SDK |
再生ツール | 一般的なプレーヤー。推奨:ApsaraVideo Player SDK | ApsaraVideo Player SDK のみ |
クラウド機能(トランスコード、録画) | サポート済み | 非サポート(ストリームリレーにより別のストリーミングドメインへ転送) |
最適な利用シーン | プロトコルの柔軟性を重視した低レイテンシ配信 | 1 ミリ秒単位の超低レイテンシ配信 |
ハルフセカンドモードでは、ストリーミングドメインはトランスコードや録画などのクラウド機能をサポートしません。これらの機能を利用するには、ストリームリレーを構成してライブストリームを別のストリーミングドメインへ転送してください。
不要なトランスコード料金を回避する
視聴者が Web SDK を使用して サブセカンド再生を行う場合、ネイティブ WebRTC は B-フレームをサポートせず、Opus 音声エンコーディングを必要とします。システムはコーデックの不一致を自動的に処理しますが、これによりトランスコード料金が発生します。
インジェストされたストリーム | 自動処理 | 料金 |
B-フレーム+AAC 音声を含む | 動画トランスコード(B-フレーム削除)+音声トランスコード(AAC → Opus) | ソース解像度に基づく標準動画トランスコード料金 |
B-フレームなし+AAC 音声 | 音声トランスコード(AAC → Opus) | 音声専用トランスコード料金 |
最適化済み(B-フレームなし+Opus) | なし | 追加料金なし |
これらの料金を回避するには、エンコーダ設定で B-フレームを無効化し、Opus 音声エンコーディングを使用してください。あるいは、B-フレームおよび AAC をネイティブでサポートするネイティブ SDK を再生ツールとして使用することで、トランスコードを回避できます。
ライブストリームトランスコーディングテンプレートを別途構成した場合、その料金は自動コーデック変換料金に加算されます。
料金の詳細については、「ライブストリームトランスコーディングの課金」をご参照ください。
ステップ 1:ApsaraVideo Live の有効化
ApsaraVideo Live コンソール にログインします。
今すぐ有効化 をクリックします。課金方法として トラフィック課金 を選択し、ApsaraVideo Live 利用規約 を読み、同意します。
今すぐ有効化 をクリックします。
操作の動画解説については、「ApsaraVideo Live の有効化」をご参照ください。
ステップ 2:アップストリーミングドメインおよびストリーミングドメインの追加
ドメイン名の準備
ヒント: ICP 登録を行わずに基本機能を試す場合は、ライブセンターを 中国本土以外 に選択し、アクセラレーションリージョン を 中国本土以外 に設定してください。
コンソールでのドメイン名追加
ApsaraVideo Live コンソール にログインします。
左側ナビゲーションウィンドウで、アップストリームミングまたはストリーミングのドメイン名管理 をクリックします。
ドメイン名の追加 をクリックします。
ドメイン名の追加 ページで、以下のパラメーターを設定します。
パラメーター
説明
ドメインタイプ
アップストリーミングドメイン または ストリーミングドメイン を選択します。作成後は変更できません。1 つのドメインをアップストリーミングおよびストリーミングの両方として使用することはできません。
ドメイン名
push.example.comやpull.example.comなどのサブドメインを入力します。ワイルドカードドメイン(例:*.example.com)はサポートされていません。重複するドメイン名は許可されません。指定されたドメインが既に存在するというエラーが表示された場合は、他のクラウドサービス(例:ApsaraVideo VOD)にすでに登録済みではないか確認してください。
アカウントあたり最大 20 個のドメイン名を追加できます。平均日次ピーク帯域幅が 50 Mbit/s を超える場合、このクォータを増加させるには、チケットを送信 してください。
当該ドメインから配信されるコンテンツは、「ドメイン名の要件」を満たす必要があります。
アクセラレーションリージョン
アップストリーミングドメインの場合は、ホストの所在地に基づいてアクセラレーションリージョンを選択します。ストリーミングドメインの場合は、オーディエンスの所在地に基づいて選択します。
以下のケースでは ICP 登録が必要です。
アクセラレーション領域は、中国本土 または グローバル に設定されます。
アクセラレーションリージョンが 中国本土以外 に設定されているが、選択されたライブセンターが中国本土内にある場合。
詳細については、「ドメインのアクセラレーションリージョンの選択方法」をご参照ください。
ライブセンター
クラウドメディア処理用のリージョンを選択します。アップストリーミングドメインおよび関連付けられたストリーミングドメインは、同じライブセンターのリージョンを使用する必要があります。作成後は変更できません。
利用可能なリージョンについては、「対応リージョン」をご参照ください。選択方法については、「ライブセンターの選択方法」をご参照ください。
初めてドメイン名を追加する際、ApsaraVideo Live はドメイン所有権の検証を実施します。サブドメインは、同一の Alibaba Cloud アカウントに属している必要があります。
次のステップで使用するため、生成された CNAME レコードをメモしてください。ステップ 3~5 を繰り返して、2 つ目のドメイン(アップストリーミングまたはストリーミング)を追加します。
操作の動画解説については、「ドメイン名の追加」をご参照ください。
ステップ 3:CNAME レコードの構成
ApsaraVideo Live によって割り当てられた CNAME アドレスにドメイン名をポイントします。以下の手順では、Alibaba Cloud DNS を例として説明します。
Alibaba Cloud DNS にログインします。
左側ナビゲーションウィンドウで、インターネットの権威ある DNS 解決 を選択します。
構成するドメイン名を見つけ、解決設定 を Actions 列からクリックします。以下のパラメーターを指定します。
パラメーター
説明
レコードタイプ
CNAME を選択します。
ホスト名
プレフィックスを入力します。例については、以下の表をご参照ください。
クエリソース
デフォルト値を使用します。
レコード値
ステップ 2 で得た CNAME 値を入力します。
TTL
デフォルト値を使用します。
プレフィックス
ドメイン名の例
説明
demo
demo.aliyundoc.com
サブドメインを解決します。
@
aliyundoc.com
ルートドメインを解決します。
*
*.aliyundoc.com
ワイルドカード DNS 解決を実行します。
確認 をクリックして CNAME 構成を完了します。
各ドメイン名について、ステップ 3~4 を繰り返します。
CNAME 構成の検証
CNAME レコードが有効であることを確認するには、以下のいずれかの方法を使用します。
コンソールによる検証:CNAME レコードの追加 ページで、CNAME 設定ガイド をクリックします。CNAME 検証 セクションで、CNAME ステータスの検証 をクリックします。
コマンドラインによる検証:以下のコマンドを実行し、結果が ApsaraVideo Live コンソールに表示される CNAME 値と一致することを確認します。
nslookup -type=cname <your-domain>
CNAME 検証サーバーは中国本土に展開されています。中国本土以外のリージョンのみに DNS レコードを構成した場合、検証サーバーは CNAME を解決できません。この場合、コンソール上では CNAME ステータスが 保留中の設定 と表示されますが、これはアクセラレーションサービスに影響しません。
Alibaba Cloud CDN、DCDN、ApsaraVideo Live、ApsaraVideo VOD の CNAME ドメイン名は、スケジューリングおよび解決専用です。CNAME の不正使用があった場合、Alibaba Cloud はドメインおよびアカウントの一時停止を実施する権利を有します。
ステップ 4:アップストリーミングドメインとストリーミングドメインの関連付け
左側ナビゲーションウィンドウで、アップストリームミングまたはストリーミングのドメイン名管理 をクリックします。ストリーミングドメインを見つけ、ドメイン設定 を アクション 列からクリックします。
アップストリーミング情報 タブをクリックしてください。
アップストリーミング情報の追加(または アップストリーミングドメイン の横にある編集アイコン)をクリックし、関連付けるアップストリーミングドメインを選択します。
操作の動画解説については、「ストリーミングドメインとアップストリーミングドメインの関連付け」をご参照ください。
ステップ 5:RTS の有効化
ApsaraVideo Live コンソール にログインします。
左側ナビゲーションウィンドウで、ライブストリーム + > RTS を選択します。
RTS を有効化するストリーミングドメインを選択します。
RTS を有効化 スイッチをオンにして、レイテンシモードを選択します。
サブ秒遅延 (エンドツーエンドの遅延は 400 ms ~ 800 ms):標準ライブストリーミングプロトコルと互換性があります。RTMP アップストリーミング、back-to-origin、RTMP/FLV/HLS による再生をサポートします。
半秒遅延 (エンドツーエンドの遅延は 200 ms ~ 400 ms):ARTC 専用であり、標準ライブストリーミングプロトコルとは互換性がありません。
RTS 構成はネットワーク全体への展開に数分かかります。テストを実行する前に、数分待機してください。
ストリームリレーの構成(ハルフセカンドモードのみ)
ハルフセカンドモードでは、ストリーミングドメインはトランスコードや録画などのクラウド機能をサポートしません。これらの機能を利用するには、ライブストリームを別のストリーミングドメインへリレーします。
ストリームプッシュ設定 をクリックします。
ストリーミングドメインと関連付けられており、かつハルフセカンド RTS モードまたはデュアルストリームディザスタリカバリが有効になっていないアップストリーミングドメインを選択します。
たとえば、リレー先のアップストリーミングドメインが push.example.com で、関連付けられたストリーミングドメインが pull.example.com の場合、標準ライブストリーミングプロトコルを使用して pull.example.com からストリームをプルすることで、トランスコードや録画などの機能を利用できます。
その他の注意事項
1 つのアップストリーミングドメインを複数のストリーミングドメインに関連付ける方法については、「主ストリーミングドメインと副ストリーミングドメインの関連付け」をご参照ください。
RTS と標準ライブストリーミングは、同一のストリーミングドメインを共有できますが、RTS は UDP プロトコルを、標準ライブストリーミングは TCP プロトコルを使用します。最適な結果を得るには、RTS 専用のストリーミングドメインをご使用ください。
ステップ 6:アップストリーミング URL およびストリーミング URL の生成
方法 1:コンソールで URL を生成
RTS を有効化した後、ライブストリーミング URL の高速生成 をクリックします。AppName および StreamName を入力して、ARTC プロトコルのアップストリーミング URL およびストリーミング URL を生成します。
方法 2:URL の手動構成
ドメイン名、AppName、StreamName、および(任意)トランスコーディングテンプレート ID およびアクセストークンに基づいて URL を構成します。URL の形式は、ストリームがトランスコードされるかどうか、および URL 署名が有効かどうかによって異なります。
URL の種類 | 形式 | 構成要素 |
インジェスト URL |
| アップストリーミングドメイン+AppName+StreamName+アクセストークン |
ストリーミング URL |
| ストリーミングドメイン+AppName+StreamName+アクセストークン |
トランスコード済みストリーム URL |
| ストリーミングドメイン+AppName+StreamName+トランスコーディングテンプレート ID+アクセストークン |
使用上の注意事項:
関連付けられたドメイン間では、アップストリーミング URL およびストリーミング URL の AppName および StreamName が一致している必要があります。
トランスコード済みストリーム URL は、トランスコーディングテンプレートを構成した後にのみ生成されます。トランスコーディングテンプレート ID はコンソールで確認できます。「ライブストリームトランスコーディング」をご参照ください。
アクセストークン(
auth_key)は、MD5 署名アルゴリズムによって生成された暗号化文字列です。これは URL 署名を有効化している場合に必要です。「署名付き URL の構成要素」をご参照ください。URL を手動で構成する際は、プレースホルダー(例:
<ingest-domain>、<access-token>)を実際の値に置き換えてください。
ステップ 7:ストリームアップストリーミングおよび再生のテスト
RTS を有効化し、URL を生成した後、コンソールの RTS を体験する ツールを使用して、ストリームアップストリーミングおよび再生を素早くテストできます。カメラからのストリームアップストリーミングや画面共有によるストリームアップストリーミングが可能です。
このツールは、迅速な試験のためにプロキシシグナリングドメインを使用します。本番環境で Web SDK を統合する場合は、アップストリーミングドメインおよびストリーミングドメインの両方に SSL 証明書および正しい Access-Control-Allow-Origin レスポンスヘッダーを構成してください。コンソールツールに加えて、Alibaba Cloud はモバイルおよび Web 向けのデモを提供しており、これらもお試しいただけます。
統合用 SDK
プラットフォーム | 参考資料 |
モバイル | |
Web |
再生時に問題が発生した場合は、「トラブルシューティングツール」を使用して、一般的なライブ再生問題を診断してください。
SSL 証明書の構成(任意)
ブラウザのセキュリティポリシーでは、WebRTC 接続に HTTPS が必須です。ブラウザで RTS 再生を有効化するには、アップストリーミングドメインおよびストリーミングドメインの両方に SSL 証明書を構成する必要があります。「HTTPS セキュアアクセラレーションの構成」をご参照ください。
ApsaraVideo Live プッシュ SDK、ApsaraVideo Player SDK、または RTS デモを使用する場合は、SSL 証明書の構成は不要です。
URL 署名の構成(任意)
URL 署名は、ライブストリームへの不正アクセスを防止します。ドメイン名を追加すると、この機能はデフォルトで有効になります。
URL 署名を有効化した後、デフォルトの署名方式を使用するか、プライマリキー、セカンダリキー、および 有効期間 をカスタマイズできます。
手順
左側のナビゲーションウィンドウで、アップストリームミングまたはストリーミングのドメイン名管理 をクリックします。RTS が有効になっているストリーミングドメインを見つけ、操作列で ドメイン設定 をクリックします。
ストリーム管理 > アクセス制御 を選択します。
URL 署名 タブをクリックし、設定の変更 をクリックします。
以前に URL 署名を無効化していた場合は、まず URL 署名 スイッチをオンにしてください。
以下のパラメーターを構成します。
パラメーター
説明
認証タイプ
ApsaraVideo Live ストリーミングドメインは、方式 A の署名のみをサポートしています。URL 署名エラーが発生した場合、403 エラーが返されます。MD5 計算エラー(例:
X-Tengine-Error:denied by req auth: invalid md5hash=...)またはタイムスタンプエラー(例:X-Tengine-Error:denied by req auth: expired timestamp=...)が発生した場合は、署名を再計算してください。プライマリキー
ランダムに生成されたキーです。アクセス制御 > URL 署名 で表示または変更できます。
セカンダリキー
署名方式用のカスタムセカンダリキーです。
有効期間
署名付き URL が有効となるタイムウィンドウです。新規ドメインのデフォルト値は 1,440 分(1 日)です。最小値は 1 分、上限はありません。有効期間が切れた場合でも、アクティブなストリームセッションは中断されませんが、新しいリクエストは失敗します。
操作の動画解説については、「URL 署名の構成」をご参照ください。
RTS レイテンシの検証
ストリームアップストリーミングにタイムキャリブレータ URL を追加して、RTS レイテンシを測定します。ストリームに表示される時刻と標準時刻源を比較してください。
OBS Studio を使用した例:
OBS Studio のメインインターフェイスで、Sources セクションからブラウザソースを追加します。
タイムキャリブレータ URL を入力します。
Start Streaming をクリックします。
再生ストリームに表示される時刻とキャリブレータソースに表示される時刻を比較します。
よくある質問
ICP 登録は必ず必要ですか?
必ずしも必要ではありません。ライブセンターが中国本土以外にあり、アクセラレーションリージョンが 中国本土以外 に設定されている場合は、ICP 登録は不要です。アクセラレーションリージョンが 中国本土 または グローバル に設定されている場合、または 中国本土以外 に設定されているがライブセンターが中国本土内にある場合は、ICP 登録が必要です。
なぜトランスコード料金が課金されるのですか?
サブセカンドモードでは、Web SDK が Opus 音声を要求し、B-フレームをデコードできません。アップストリーミングされたストリームに B-フレームまたは AAC 音声が含まれている場合、システムがストリームを自動的にトランスコードし、トランスコード料金 が発生します。これらの料金を回避するには、エンコーダで B-フレームを無効化し、Opus 音声を使用するか、B-フレームおよび AAC をネイティブでサポートするネイティブ SDK を再生ツールとして使用してください。
RTS と標準ライブストリーミングで同一のストリーミングドメインを使用できますか?
はい、可能ですが、推奨されません。RTS は UDP プロトコルを使用し、標準ライブストリーミングは TCP プロトコルを使用します。RTS 専用のストリーミングドメインを使用することで、より優れた隔離性が得られ、トラブルシューティングが簡素化されます。
ライブストリーム中に署名付き URL の有効期限が切れた場合、どうなりますか?
アクティブなストリームアップストリーミングまたは再生セッションは中断されません。有効期間が切れた後は、新しいストリームアップストリーミングまたは再生リクエストのみが失敗します。