このトピックでは、Open Broadcaster Software (OBS) を使用して、WebRTC-HTTP Ingestion Protocol (WHIP) に基づいてリアルタイムストリーミング (RTS) ストリームを取り込む方法について説明します。
背景情報
WHIPは、HTTP POST要求を使用して、リアルタイムのビデオストリームをクラウドまたは他のストリーミングメディアサーバーに取り込む、簡略化されたネットワークプロトコルです。 WHIPは軽量で、Web real-time Communication (WebRTC) テクノロジーを使用してキャプチャされたリアルタイムビデオコンテンツを、このプロトコルをサポートするストリーミングメディアサービスに簡単に送信できます。 WHIPは、WebRTCにアクセスするために使用されるオープンソースの標準化されたプロトコルであり、低レイテンシと優れた互換性という利点があります。
準備
ドメイン名のRTSを有効にします。 ドメイン名を使用してRTSデモを実行します。
RTS 1.0とRTS 2.0の違いについては、「概要」をご参照ください。
RTS 1.0の使用を開始する方法については、「RTSの使用を開始する」をご参照ください。
RTS 2.0を開始する方法については、「レイテンシを200 400ミリ秒に短縮する」をご参照ください。
WHIPを有効にします。 このプロトコルはパブリックプレビュー中です。 WHIPを使用するには、チケットを起票してください。 チケットの起票方法の詳細については、「お問い合わせ」をご参照ください。
OBS Studio 29.1.0以降をダウンロードしてインストールします。 ダウンロードリンク: OBS Studio。
OBSを使用したストリームの取り込み
ApsaraVideo LiveコンソールのURLジェネレーターを使用して、RTS形式の取り込みURLを生成します。 例:
artc://al.yun.com/live/live?auth_key=******
連結ルールを使用して取り込みURLを作成することもできます。 詳細については、「方法2: URLの作成」をご参照ください。ApsaraVideo Liveコンソールにログインします。
左側のナビゲーションウィンドウで、
を選択します。パラメーターを設定し、RTS形式で取り込みURLを取得します。
OBSを使用してRTSストリームを取り込みます。
OBS Studioを実行します。
メニューバーで、
を選択します。[設定] ページで、[ストリーム] をクリックします。 パラメーターを設定し、[OK] をクリックします。 次の表は、各パラメーターの説明です。
項目
説明
サービス
[WHIP] を選択します。
サーバー
手順1で生成されたRTS形式で取り込みURLを入力します。 artcプレフィックスをhttpまたはhttpsに置き換えます。 例:
https://al.yun.com/live/live? auth_key=******
HTTPSを使用する場合は、まず証明書を設定する必要があります。 詳細については、「Configure HTTPS secure acceleration」をご参照ください。ベアラトークン
このパラメータは空のままにします。
OBS Studioのホームページで、[ストリーミングの開始] をクリックします。
ApsaraVideo Liveコンソールの [ストリーム管理] ページでアクティブなストリームを表示します。
ApsaraVideo Liveコンソールの左側のナビゲーションウィンドウで、[ストリーム] をクリックします。
[ストリーム管理] ページで、照会するドメイン名を選択します。 [アクティブストリーム] タブで、アプリケーション名とストリーム名を入力します。
[検索] をクリックします。 アクティブなストリームが表示されます。
ウェブ用のRTSデモを使用してRTSストリームを再生します。
RTS player for webにアクセスします。
[ストリームの引き出し] タブをクリックします。
RTSストリームのストリーミングURLを入力します。
[開始] をクリックしてRTSストリームを再生します。
エンコード
デフォルトでは、WebRTCをサポートするブラウザは、Opus形式のオーディオの再生をサポートします。 ブラウザを使用して、ストリームをトランスコードしなくてもRTSストリームを再生できます。 OBSを使用してストリームを取り込む場合、デフォルトのオーディオ形式はOpusです。
RTS 1.0
RTS 1.0を使用してストリームを取り込み、標準ストリーミングを使用してリアルタイムメッセージングプロトコル (RTMP) 、Flash Video (FLV) 、HTTP Live streaming (HLS) などのプロトコルでストリームをプルする場合は、ストリーミングドメインのトランスコードテンプレートを設定して、オーディオ形式をOpusからAdvanced audio Coding (AAC) にトランスコードする必要があります。 コード変換テンプレートの設定方法の詳細については、「コード変換管理」をご参照ください。
たとえば、RTS 1.0が有効になっている、関連付けられたインジェストドメインとストリーミングドメイン (rts-push.ialicdn.com
とrts-pull.ialicdn.com
) のペアがあるとします。 RTMP、FLV、またはHLSを介してストリームをプルする場合は、次の操作を実行する必要があります。
ストリーミングドメイン
rts-pull.ialicdn.com
のオーディオ形式をOpusからAACにトランスコードするトランスコードテンプレートを設定します。 別のトランスコードテンプレートが既に設定されている場合は、オーディオ形式をOpusからAACにトランスコードするトランスコードテンプレートを設定する必要はありません。 Alibaba Cloudコード変換テンプレートは、デフォルトでオーディオ形式をAACに変換します。RTMP、FLV、またはHLSを介して
rts-pull.ialicdn.com
にリクエストを送信し、トランスコードされたストリームを再生します。
RTS 2.0
RTS 2.0を使用してストリームを取り込み、標準ストリーミングを使用してRTMP、FLV、HLSなどのプロトコルを介してストリームをプルする場合は、RTS 2.0が有効な取り込みドメインのストリームリレーを有効にし、標準ストリーミングに使用する取り込みドメインとストリーミングドメインを追加し、標準ストリーミングに使用するストリーミングドメインのトランスコーディングテンプレートを構成する必要があります。 コード変換テンプレートの設定方法の詳細については、「コード変換管理」をご参照ください。 ストリームリレーを有効にする方法の詳細については、「レイテンシを200 400 msに短縮する」をご参照ください。
たとえば、RTS 2.0が有効になっている、関連付けられたインジェストドメインとストリーミングドメイン (rtc-push.ialicdn.com
とrtc-pull.ialicdn.com
) のペアがあるとします。 さらに、RTMPを介した標準ストリーミングに使用される、関連付けられたインジェストドメインとストリーミングドメインの別のペア、rtmp-push.ialicdn.com
とrtmp-pull.ialicdn.com
があります。 RTMP、FLV、またはHLSを介してストリームをプルする場合は、次の操作を実行する必要があります。
取り込みドメイン
rtc-push.ialicdn.com
のストリームリレーを有効にします。 ストリーム中継設定で、宛先ドメイン名としてrtmp-push.ialicdn.com
を指定します。 再生にはストリーミングドメインrtmp-pull.ialicdn.com
を使用します。ストリーミングドメイン
rtmp-pull.ialicdn.com
のオーディオ形式をOpusからAACにトランスコードするトランスコードテンプレートを設定します。 別のトランスコードテンプレートが既に設定されている場合は、オーディオ形式をOpusからAACにトランスコードするトランスコードテンプレートを設定する必要はありません。 Alibaba Cloudコード変換テンプレートは、デフォルトでオーディオ形式をAACに変換します。RTMP、FLV、またはHLSを介して
rtmp-pull.ialicdn.com
にリクエストを送信し、トランスコードされたストリームを再生します。
MSID
メディアストリームID (Msid) については、「Msidメカニズム」をご参照ください。
取り込みURLでは、amsidパラメーターとvmsidパラメーターはオプションです。 RTS 2.0を使用してストリームを取り込む場合、取り込みURLで
amsid
、vmsid
、またはその両方のパラメーターを指定する必要があります。 それ以外の場合、プレーヤーはストリームのサブスクライブに失敗します。RTS 2.0を使用してApsaraVideo Playerでストリームを再生する場合は、取り込みURLでamsidの値を
rts audio
に設定し、vmsidの値をrts video
に設定する必要があります。 詳細については、「RTSシグナリングプロトコルの仕様」をご参照ください。OBSは、オーディオのみおよびビデオのみのストリームの取り込みをサポートしています。 オーディオのみのストリームの場合は、amsidパラメーターのみを指定する必要があります。 ビデオのみのストリームの場合は、vmsidパラメーターのみを指定する必要があります。
次の例では、amsidパラメーターとvmsidパラメーターを含まない取り込みURLと、amsidパラメーターとvmsidパラメーターを含む取り込みURLを示します。
http://push-test.alicdn.com/app/name
https://push-test.alicdn.com/app/name
https://push-test.alicdn.com/app/name?amsid=rts%20audio&vmsid=rts%20video
取り込みURLでは、スペースを含む特殊文字をエスケープする必要があります。 この場合、値rts video
のスペース " "
は"%20"
としてエスケープされます。