2024年10月30日
AgoraのMedia Push、Media Pull、Media Gateway、Server Gatewayを活用したライブ配信への適用方法
ライブ配信サービスのさまざまなニーズに応じてAgoraは、Media Push、Media Pull、Media Gateway、Server Gatewayなどのサービスを提供しています。独自のSD-RTN™️(仮想広域ネットワーク)によって高画質でも低遅延を実現します。
お客様の利用シーンに応じてそれぞれ適するサービスを選択できます。今回は、この四つのサービスの特徴や用途、利用方法について紹介いたします。
目次
[非表示]Media Push、Media Pull、Media Gateway、Server Gatewayについて
お客様のライブ配信のビジネスチャンスをさらに広げて利益増大に繋がるために、Agoraは配信サービスの異なる利用シーンに対してMedia Push、Media Pull、Media Gateway、Server Gatewayを提供します。
Media Pushとは
Media Pushは、サーバ側RESTful APIとして提供しています。Agora RTCチャンネルからRTCのオーディオとビデオストリームをRTMP/RTMPSストリームに変換し、このストリームをコンテンツ配信ネットワーク(CDN、Content Delivery Network)にプッシュします。CDN視聴者は対応するURLをクリックすることでライブストリームを視聴できます。
※ Agora SD-RTN™ : Agora独自の技術による双方向性・リアルタイム性と大規模配信の両方を同時に実現することができる仮想広域ネットワーク
Media Pushの特徴
Media Pushの特徴は、以下のとおりです。
- H.264やH.265 SEI(Supplemental Enhancement Information)の動画コーデックを使用してトランスコード
- ビデオストリームを複数の解像度(例:720p, 540p, 240pなど)にトランスコーディングしてCDNへプッシュすることも可能
- RTMP/RTMPSストリームへの変換対応
- Media Pushサービス利用中に特定のイベントが発生した際に、 HTTPSリクエストを通して、通知として受け取ることが可能
Media Pushの用途
Agora RTCチャンネルのストリーム(音声通話、動画通話や互動型ライブ配信の様子)を自前のCDNやYouTubeなど別のCDNプラットフォームサービスに配信することで、幅広い視聴者へのリーチを広げチャンネルの視聴者を増やします。
Media Pullとは
RTMP, HTTP, HTTPSのURLの形式でオンラインメディアストリームをAgora RTCチャネルにインポートして再生するクラウドプレーヤーです。チャンネルの参加者全員が同じビデオコンテンツを視聴しながら、遅延なく相互に対話できます。
Media Pullは、サーバ側RESTful APIとして提供しています。自前で準備いただいたサーバ(business server)経由でAgoraサーバにHTTPSリクエストを送信します。RESTful API を介してクラウドプレーヤーの再生/停止、音量調整、再生時刻の指定などコントロールできます。
※ Agora SD-RTN™ : Agora独自の技術による双方向性・リアルタイム性と大規模配信の両方を同時に実現することができる仮想広域ネットワーク
Media Pullの特徴
Media Pullの特徴は、以下のとおりです。
- サポートするコーデック、プロトコルやフォーマットを示す
・ビデオコーデック:H.264, H.265, VP9
・オーディオコーデック:AAC, OPUS
・プロトコル:RTMP, HTTP, HTTPS
・フォーマット:FLV, MP4, MPEG-TS, Matroska(MKV), HLS - オンラインメディアストリーム(オーディオ/ビデオ)のトランスコードが可能
- クラウドプレーヤーの地域(中国本土, 中国本土以外のアジアパシフィック, 北米, ヨーロッパ)を設定することで安定する配信を実現
- Media Pullサービス利用中に特定のイベントが発生した際に、 HTTPSリクエストを通して、通知として受け取ることが可能
Media Pullの用途
Agora RTCチャンネルにて参加者全員が低遅延でスムーズなオンラインメディアストリーム(オーディオ/ビデオ)を視聴しながらリアルタイムにコミュニケーションできるシナリオ(例:オンラインスポーツ観戦)に最適です。また、映画、ショート動画や音楽などのコンテンツをチャンネルに持ち込んでより楽しいライブ配信ができます。
Media Gatewayとは
Media Gatewayは、RTMP/SRTプロトコルを使用するストリームをAgora RTCチャンネルにインポートできます。
OBSなどのライブ配信ソフトから配信を可能とし、インポートするオーディオやビデオストリームを他のビットレートや画質(例:HD 720P)にトランスコーディングもできます。
配信中にそのビデオストリームはどの解像度やフレームレートで配信されているのかはRESTful API を利用して把握することができます。ライブ配信後にもAgora Analytics通話品質チェックツール(関連記事を参照)にてライブ配信状況(例:解像度やフレームレート、視聴者数など)を確認可能です。
※ Agora SD-RTN™ : Agora独自の技術による双方向性・リアルタイム性と大規模配信の両方を同時に実現することができる仮想広域ネットワーク
Media Gatewayの特徴
Media Gatewayの特徴は、以下のとおりです。
- 高画質でも低遅延
- OBSなどのライブ配信ソフトとのシームレスな連携が容易(関連記事を参照)
- トランスコード機能を提供することでコストのコントロールが容易になる
- サポートするコーデック、プロトコルやフォーマットを示す
・ビデオコーデック:H.264, H.265
・オーディオコーデック:AAC
・プロトコル:RTMP, SRT
・フォーマット:FLV, MPEG-TS - Media Gatewayサービス利用中に特定のイベントが発生した際に、 HTTPSリクエストを通して、通知として受け取ることが可能
Media Gatewayの用途
RTMP/SRTプロトコルを利用する任意のメディアストリームをAgoraのリアルタイムオーディオ/ビデオチャンネルに直接流し込むことを可能にし、Agora独自のSD-RTN™️(仮想広域ネットワーク)によって安定性して高画質でも低遅延でのライブ配信を実現します。
Server Gatewayとは
Server Gatewayは、Linux SDKとして提供し、現状C++のみとなっています。Server Gateway SDKによって、Agora独自のSD-RTN™️(仮想広域ネットワーク)を介したサーバとアプリ間の通信が可能になります。お使いのサーバ上にデプロイして、このサーバからオーディオやビデオストリームをAgoraの音声およびビデオSDKで開発されたアプリケーションに送信することができます。WebRTC、Agoraの文字起こし機能、ChatGPT、TTS(Text-to-Speech)と連携してAgora Server Gatewayで音声をAgora RTCチャンネルに自動送信する仕組みで生成AIボイスチャットボットの開発事例(関連記事を参照)もあります。
Server Gatewayの特徴
Server Gatewayの特徴は、以下のとおりです。
- Server Gateway SDKをお使いのサーバ上に統合することができるので、開発が容易になる
- Network Geofencingをサポートする。Geofencing機能を有効にし、Area Codeを指定していただくことでAgoraのサーバを特定地域のみに接続することは可能。選択地域として下記から選択することが可能となる
・グローバル
・中国本土
・北米
・ヨーロッパ
・中国本土以外のアジアパシフィック
・日本
・インド - Agora Cloud Proxyをサポートする
※ Agora Cloud Proxy:企業などで制限されたインターネット環境下からAgoraのサービスを利用するにあたり、ファイアウォールなどのセキュリティ機器を超えて通信を実現するためのプロキシ機能
Server Gatewayの用途
Linux SDKとしてサーバ側で映像・音声のストリームを送受信します。以下のイメージでは、ローカルメディアファイルの再生、CDNへストリームのプッシュ、企業コールセンターとの通信など、Server Gateway SDKを使用するシナリオを示しています。
※ Agora SD-RTN™ : Agora独自の技術による双方向性・リアルタイム性と大規模配信の両方を同時に実現することができる仮想広域ネットワーク
サービスの導入、利用方法
◼️共通(機能を有効化する)
Media Push、Media Pull、Media Gateway機能の有効化方法を示します。
※Agora Server Gatewayを利用するにあたってAgoraへのお申し込みまたはConsoleページでの有効化設定は不要です。
- Agora Consoleにログイン
- 新しいAgoraプロジェクトを作成する、またはプロジェクト一覧から既存のプロジェクトを選択
- Project Managementページから該当機能を有効化したいプロジェクトを選択し、ペンアイコンをクリック
- 下部左側のALL FEATURESメニューから該当機能を選択し有効化する
(以下、イメージ)
◼️各機能の利用方法
- Media Push RESTful API:https://docs.agora.io/en/media-push/develop/restful-api
- Media Pull RESTful API:https://docs.agora.io/en/media-pull/reference/restful-api
- Media Gatewayクイックスタート:https://docs.agora.io/en/media-gateway/get-started/quickstart
- Server Gatewayクイックスタート:https://docs.agora.io/en/server-gateway/get-started/integrate-sdk?platform=linux-cpp
※上記の公式ドキュメントに記載されている統合方法でお試しいただく際には、「YOUR_RTC_TOKEN」の箇所をAgora RTC SDK向けに生成したトークンと入れ換え、「demo_channel」というchannelId(チャンネル名)もこのトークンと紐付いているチャンネル名を利用する必要があります。
まとめ
外部映像・音声をAgora RTCチャンネルに引き込む、またはAgora RTCチャンネルの映像を外部プラットフォームに送信するなど、Agora独自のSD-RTN™️(仮想広域ネットワーク)経由でのオンライン配信に高画質でも低遅延を実現します。これによって、配信効率や視聴体験を向上させてさらにプラットフォーム利益の成長に繋がります。
以上、本記事ではMedia Push、Media Pull、Media Gateway、Server Gateway機能の概要や利用方法を紹介しました。
参考資料
Media Push概要:https://docs.agora.io/en/media-push/overview/product-overview
Media Pull概要:https://docs.agora.io/en/media-pull/overview/product-overview
Media Gateway概要:https://docs.agora.io/en/media-gateway/overview/product-overview
Server Gateway概要:https://docs.agora.io/en/server-gateway/overview/product-overview?platform=linux-cpp
Agoraの無料トライアル
Agoraの無料トライアルは利用時間10,000分/月で、開発期間中はずっと無料となっています。(リリース後から料金が発生)Agoraは株式会社ブイキューブが日本代理店となっており、料金など不明点は日本語での対応が可能です。
AgoraのMedia Push、Media Pull、Media Gateway、Server Gatewayをトライアルしてみる>
執筆者ブイキューブ