ライブストリーミング業界の急速な発展に伴い、レイテンシの要件はますます厳しくなっています。 ApsaraVideo Liveは、リアルタイムストリーミング (RTS) 機能を提供して、ライブストリーミングの遅延を短縮し、ユーザーエクスペリエンスを向上させます。 RTSは、標準ストリーミングの3〜6秒と比較して、待ち時間をミリ秒に短縮します。 RTSはまた、パケット損失に対してより強い耐性を提供する。 これは、eコマースライブストリーミング、オンライン教育、ライブイベント、ライブショーなど、超低レイテンシと高い双方向性を必要とするシナリオに適しています。 このトピックでは、RTSを実装する方法について説明します。
前提条件
取り込みドメインとストリーミングドメインが利用可能です。 ドメイン名のインターネットコンテンツプロバイダー (ICP) の申請が完了しました。
説明中国本土以外のライブセンターにいて、ドメイン名のAcceleration Regionをoutside Chinese mainlandに設定した場合、ICPファイリングは必要ありません。
取り込みドメインとストリーミングドメインが同じトップレベルドメイン名の第2レベルドメイン名である場合、トップレベルドメイン名に対してのみICPファイリングを申請する必要があります。
基本的な手順
ApsaraVideo Liveの有効化
ApsaraVideo Liveを有効化する方法については、チュートリアルビデオを参照してください。 詳細については、「ApsaraVideo Liveの有効化」をご参照ください。
Alibaba Cloud公式Webサイトにログインする. 上部のナビゲーションバーで、 を選択します。ApsaraVideo Liveホームページが表示されます。
クリック今すぐ有効化.
ApsaraVideo Liveアクティベーションページで、[トラフィック課金] を選択します。 メーターで計る方法として。 ApsaraVideo Live利用規約を読み、同意します。
クリック今すぐ有効化.
取り込みドメインとストリーミングドメインの追加
RTSを使用するには、取り込みドメインとストリーミングドメインを追加する必要があります。
ドメイン名の追加方法については、チュートリアルビデオをご覧ください。 詳細については、「ドメイン名を追加」をご参照ください。
ApsaraVideo Liveコンソールにログインします。
左側のナビゲーションウィンドウで、[ドメイン名] をクリックします。 ドメイン管理 ページが表示されます。
ドメインの追加をクリックします。
ビジネス要件に基づいてドメイン名を設定します。
重要ApsaraVideo Liveに初めてドメイン名を追加すると、ApsaraVideo Liveはドメイン名の所有権を検証します。 詳細については、「ドメイン名の所有権の確認」をご参照ください。
次のステップで使用するために、生成されたCNAMEを書き留めます。
CNAMEレコードの追加
RTSを使用する前に、DNSプロバイダーでCNAMEレコードを追加して、取り込みドメインとストリーミングドメインをApsaraVideo Liveによって割り当てられたCNAMEにマッピングする必要があります。 次の例は、DNSプロバイダーがAlibaba Cloudの場合にCNAMEレコードを追加する方法を示しています。 他のDNSプロバイダーでCNAMEレコードを追加する方法については、「CNAMEレコードの追加」をご参照ください。
Alibaba Cloud CDNがドメイン名のCNAMEを解決するために使用するサーバーは、中国本土にデプロイされています。 ドメイン名の地域固有のDNS設定を構成した場合、たとえば、中国本土以外の地域 (香港 (中国) 、マカオ (中国) 、台湾 (中国) など) にドメイン名のCNAMEレコードを追加した場合、ドメイン名をCNAMEにマップすることはできません。 Alibaba Cloud CDNコンソールで、CNAMEのステータスが [設定中] になっています。 ただし、ドメイン名のCDNアクセラレーションは影響を受けません。
Alibaba Cloud CDN、Dynamic Content Delivery Network (DCDN) 、ApsaraVideo Live、およびApsaraVideo VODによって割り当てられたCNAMEは、ドメイン名解決にのみ使用できます。 CNAMEが不正または悪意のある活動に使用されていることをAlibaba Cloudが発見した場合、Alibaba CloudはAlibaba Cloudアカウントを閉鎖し、ドメイン名を削除する権利を留保します。
Alibaba Cloud DNS コンソールにログオンします。
左側のナビゲーションウィンドウで、[ドメイン名の解決] をクリックします。 [ドメイン名の解決] ページが表示されます。
CNAMEレコードを追加するドメイン名を見つけて、[操作] 列の [DNS設定] をクリックします。
[DNSレコードの追加] をクリックし、次の表に示すパラメーターを設定します。
パラメーター
説明
レコードタイプ
ドロップダウンリストから [CNAME] を選択します。
ホスト名
ドメイン名のプレフィックスを指定します。 ドメイン名とサンプルドメイン名の通常のプレフィックスの詳細については、次の表を参照してください。
DNSリクエストソース
デフォルト値を使用します。
レコード値
取得したCNAMEを入力します。
TTL期間
デフォルト値を使用します。
プレフィックス
サンプルドメイン名
説明
demo
demo.aliyundoc.com
サブドメイン名。
@
aliyundoc.com
ルートドメイン名。
*
*.aliyundoc.com
ワイルドカードドメイン名。
[OK] をクリックします。
CNAMEレコードが有効かどうかを確認する
ストリーミングドメインを取り込みドメインに関連付ける
RTSはエッジ取り込みメソッドを使用します。 ストリームを取り込み、再生するには、ストリーミングドメインを取り込みドメインに関連付ける必要があります。
チュートリアルビデオをみて、ストリーミングドメインを取り込みドメインに関連付けます。 詳細については、「ストリーミングドメインと取り込みドメインの関連付け」をご参照ください。
左側のナビゲーションウィンドウで、[ドメイン名] をクリックします。 表示されたページで、追加したストリーミングドメインを見つけ、[操作] 列の ドメイン設定 をクリックします。 ページが表示されます。
[基本設定] ページで、基本情報タブをクリックします。
[基本情報] タブでは、CNAMEレコード、ドメイン名が作成された時刻、ドメイン名のタイプ、ライブセンター、アクセラレーションリージョン、およびクォータ制限を表示できます。
説明ApsaraVideo Liveのクォータは、中国 (北京) 、中国 (上海) 、中国 (深セン) 、およびシンガポールの各リージョンでのみ管理できます。 他のライブセンターのクォータを増やすには、チケットを起票してください。 詳細については、お問い合わせをご参照ください。
ApsaraVideo Liveのクォータを管理する方法の詳細については、「Quota management」をご参照ください。
アクセラレーションリージョンを変更する方法の詳細については、このトピックの「エッジグループの変更」をご参照ください。
アップストリーミング情報タブをクリックします。
アップストリーミング情報の追加または隣の编集アイコンアップストリーミングドメインをクリックして関連付けたい取り込みドメインを選択します。
(オプション) SSL証明書の設定
セキュリティ上の理由から、ネイティブブラウザーでRTSを実装する場合は、取り込みドメインとストリーミングドメインのSecure Sockets Layer (SSL) 証明書を設定する必要があります。 詳細については、「Configure HTTPS secure acceleration」をご参照ください。
RTS SDKまたはRTSデモを使用する場合、SSL証明書は必要ありません。
RTSの有効化
2022年9月1日以降、追加したストリーミングドメインに対して、HTML5再生用のRTSおよび自動トランスコーディングが自動的に有効になります。 追加の設定は必要ありません。 2022年9月1日より前に追加されたストリーミングドメインの場合は、手動で設定を行う必要があります。
ApsaraVideo Liveコンソールにログインします。
左側のナビゲーションウィンドウで、[ドメイン名] をクリックします。 [ドメイン管理] ページが表示されます。
有効にしたいストリーミングドメインを見つけてRTSアクション列のドメイン設定をクリックします。
表示されるページで、 を選択します。
RTSをオンにします。
表示されるダイアログボックスで、RTS 1.0を選択してHTML5自動トランスコードをオンにします。
ネイティブブラウザーのWebRTCは、BフレームとAACオーディオ形式をサポートしていません。 スムーズな再生を確保するために、HTML5再生の自動トランスコード機能はアダプティブトランスコードを実行します。
ブラウザを使用してBフレームとAACオーディオを含むストリームを再生すると、Bフレームが削除され、オーディオ形式が変換されます。 標準のトランスコード料金が請求されます。
AACオーディオを含むがBフレームを含まないストリームをブラウザで再生する場合は、オーディオ形式が変換されます。 音声のみのトランスコード料金が請求されます。
ブラウザーを使用してストリームを再生し、トランスコードテンプレートを設定した場合、HTML5再生用の自動トランスコード機能とトランスコードテンプレートの両方が有効になります。 トランスコードは1回だけ課金されます。
ネイティブRTS SDKを使用してストリームを再生する場合、SDKはBフレームとAACオーディオ形式をサポートしているため、トランスコーディングは必要ありません。
説明数分待ってから、RTSの設定が有効になるかどうかを確認します。
取り込みドメインを複数のストリーミングドメインにマップするには、1つ以上のサブストリーミングドメインをメインストリーミングドメインにバインドする必要があります。 詳細については、「サブストリーミングドメインをメインストリーミングドメインにバインドする」をご参照ください。
RTSと標準ストリーミングは同じストリーミングドメインを共有できます。 ただし、RTSはUDP (User Datagram Protocol) を使用し、標準ストリーミングはTCP (Transmission Control Protocol) を使用するため、RTSには別のストリーミングドメインを設定することをお勧めします。
(オプション) カスタムURL署名の設定
URL署名機能を使用して、オリジンサーバー上のリソースを不正アクセスやダウンロードから保護できます。 デフォルトでは、追加するドメイン名に対してURL署名が有効になっています。
ビジネス要件に基づいて、デフォルトのURL署名設定またはカスタムURL署名設定を使用できます。 デフォルトのURL署名設定を使用する場合、追加の設定は必要ありません。 デフォルト設定を使用しない場合は、プライマリキー、セカンダリキー、および有効期間パラメーターを指定できます。
URL署名の設定方法については、チュートリアルビデオをご覧ください。 詳細については、「URL署名の設定」をご参照ください。
ApsaraVideo Liveコンソールの左側のナビゲーションウィンドウで、[ドメイン名] を選択します。 [ドメイン名管理] ページで、RTSが有効になっているストリーミングドメインを見つけ、[操作] 列の ドメイン設定 をクリックします。
を選択します。 [アクセス制御] ページが表示されます。
[URL署名] タブをクリックします。 次に、[設定の変更] をクリックします。
説明URL署名が有効になっている場合、[設定の変更] をクリックしてURL署名設定を変更できます。 URL署名が無効になっている場合は、URL署名をオンにしてから、URL署名設定を構成できます。
URL署名設定を構成します。 下表にパラメーターを示します。
項目
説明
認証タイプ
ApsaraVideo Liveストリーミングドメインは、オリジンサーバー上のリソースを保護するためにタイプAの認証タイプのみをサポートしています。
注
URL署名が失敗した場合、HTTPステータスコード403が返されます。 この場合、署名を再計算する必要があります。
無効なMD5値
例:
X-Tengine-Error:denied by req auth: invalid md5hash=de7bfdc915ced05e17380a149bd760be
無効なタイムスタンプ
例:
X-Tengine-Error:denied by req auth: expired timestamp=1439469547
主キー
ドメイン名を追加すると、ApsaraVideo Liveはドメイン名のランダムなプライマリキーを生成します。 ApsaraVideo Liveコンソールの左側のナビゲーションウィンドウで、[ドメイン名] をクリックします。 設定するドメイン名を見つけて、[操作] 列の [ドメイン設定] をクリックします。 表示されるページで、
を選択します。 [URL署名] タブでは、主キーを表示したり、主キーを変更したりできます。セカンダリキー
カスタムセカンダリキーを指定します。
購入期間
署名付きURLを使用して、有効期間内にのみストリーム取り込みまたはストリーミング要求を開始できます。 ストリームの取り込みとストリーミングのために永続的な接続が確立されます。 有効期間内に開始されたストリーム取り込みおよびストリーミング要求は、有効期間が終了しても削除されません。 有効期間が終了すると、新しいストリームの取り込みとストリーミング要求が開始されません。
追加するドメイン名の署名付きURLのデフォルトの有効期間は、1日または1,440分です。 署名付きURLのカスタム有効期間を指定できます。 最小値は1分です。 上限はない。
取り込みとストリーミングURLの生成
ApsaraVideo Liveコンソールを使用して取り込みURLとストリーミングURLを生成するか、連結ルールを使用してURLを構築できます。
方法1: コンソールを使用してURLを生成する
取り込みURLとストリーミングURLをすばやく生成する場合は、コンソールでURLジェネレータを使用します。 詳細については、「ライブURLジェネレーター」をご参照ください。
方法2: URLを作成する
連結ルールを使用してライブストリームの取り込みURLまたはストリーミングURLを作成する前に、ストリームがトランスコードおよび認証されているかどうかを確認します。 次に、インジェストドメイン、ストリーミングドメイン、アプリケーション名、ストリーム名、トランスコードテンプレートID、およびアクセストークンを取得します。 コード変換テンプレートIDとアクセストークンはオプションです。 次の表に、連結ルールを示します。
URLタイプ | URL形式 | 連結ルール |
取り込みURL | Real-Time Messaging Protocol (RTMP) 、RTS、およびSecure Reliable Transport (SRT) 形式がサポートされています。 RTMP形式の使用を推奨します。 例: RTMP形式の取り込みURL: 説明 RTSを使用すると、RTS経由でストリームをプルできます。 | 取り込みドメイン + アプリケーション名 + ストリーム名 + アクセストークン |
ストリーミングURL | RTMP、Flash Video (FLV) 、M3U8、およびRTS形式がサポートされています。 RTS形式の使用を推奨します。 例: RTS形式のストリーミングURL: | ストリーミングドメイン + アプリケーション名 + ストリーム名 + アクセストークン |
コード変換されたストリームURL 説明 トランスコードされたストリームURLを作成するには、トランスコードテンプレートIDを指定する必要があります。 トランスコードされたストリームURLは、トランスコードテンプレートを使用する場合にのみ必要です。 | RTMP、FLV、M3U8、およびRTS形式がサポートされています。 RTS形式の使用を推奨します。 例: RTS形式のトランスコードされたストリームURL: artc:// example.aliyundoc.com/app/stream_{Transcoding template ID}?auth_key={Access token} | ストリーミングドメイン + アプリケーション名 + ストリーム名_トランスコードテンプレートID + アクセストークン |
関連するストリーミングドメインとインジェストドメインは、ストリーミングドメインのアプリケーション名とストリーム名がインジェストドメインのアプリケーション名と一致する場合にのみ適切に使用できます。
トランスコードされたストリームURLを生成するには、トランスコードテンプレートIDを指定する必要があります。 コンソールでトランスコードテンプレートIDを表示できます。 詳細については、「トランスコーディング管理」をご参照ください。
アクセストークン (auth_key) は、URL認証アルゴリズムに基づいて生成される暗号化された文字列です。 URL署名を有効にする場合は、アクセストークンが必要です。 MD5アルゴリズムを使用して、アクセストークンを取得できます。 詳細については、「署名付きURLの作成」をご参照ください。
連結ルールを使用してURLを作成する場合は、{Transcoding template ID} または {Access token} を {} なしの実際の値に置き換えます。
RTSベースのストリーム取り込みを開始する
RTSベースのストリーム取り込みにはRTMP形式を使用することを推奨します。 次の例では、OBS Studioを使用してRTMP経由でストリームを取り込みます。 RTS経由でストリームを取り込む方法の詳細については、「Stream ingest for RTS」をご参照ください。
OBS Studioをダウンロードしてインストールします。 ダウンロードリンク: OBS Studio。
OBS Studioを実行します。
メニューバーで、 を選択します。
[設定] ページで、ストリームをクリックして、次のパラメーターを設定します。
パラメーター
説明
サービス
[カスタム...] を選択します。
サーバー
生成される署名付き取り込みURLを入力します。 例:
rtmp:// demo.aliyundoc.com/app/stream?auth_key=1543302081-0-0-9c6e7c8190c10bdfb3c0************
ストリームキー
このパラメータは空のままにします。
オプション: [設定] ページで、[出力] をクリックし、次のパラメーターを設定してBフレームを削除します。
出力モード: 高度
キーフレーム間隔 (秒、0=自動): 1
CPU使用量プリセット (より高い=より少ないCPU): veryfast
プロフィール: baseline
チューン: zerolatency
OBS Studioのホームページにアクセスしてください。 [ソース] セクションを見つけてソースを追加し、[ストリーミングの開始] をクリックします。
ストリーム取り込み中にストリーム取り込み例外などの問題が発生した場合は、トラブルシューティングツールを使用して問題のトラブルシューティングを行うことができます。 このツールを使用すると、一般的なストリーム取り込みの問題を診断し、特定の例外を解決するための提案を提供します。 詳細については、「Troubleshooting」をご参照ください。
RTS再生を開始
次の表に、RTS再生用のRTS SDKに統合されているプレーヤーを示します。 Alibaba Cloud RTSは、モバイルクライアントとウェブクライアントの両方にデモを提供します。
プレイヤー:
プレイヤー
関連ドキュメント
モバイルクライアント向けのApsaraVideo Player
FFmpegに基づいているサードパーティのプレーヤー
ApsaraVideo Player for Web
RTSデモの詳細については、「RTSストリームの再生」をご参照ください。
ストリーミング中に再生例外などの問題が発生した場合は、トラブルシューティングツールを使用して問題のトラブルシューティングを行うことができます。 このツールを使用すると、一般的なストリーム再生の問題を診断し、特定の例外を解決するための提案を提供します。 詳細については、「Troubleshooting」をご参照ください。
その他の操作: RTSのレイテンシを確認する
ストリームの取り込み中にタイムキャリブレータURLを追加して、ストリーミング時間をUTCと比較してRTSのレイテンシを確認できます。 この例では、OBS Studioが使用されます。
OBS Studioのホームページにアクセスしてください。 [ソース] セクションにタイムキャリブレータのURLを追加し、[ストリーミングの開始] をクリックします。