2024年09月25日

OBSを用いたライブ配信アプリケーションを構築してみる

OBSを用いたライブ配信アプリケーションを構築してみる

ライブ配信は、エンターテインメントから教育、企業イベントまで、さまざまな分野で活用されています。高品質なライブ配信を自社サービスに組み込むためには、適切なツールと技術の選定が必要です。

本記事では、OBSを用いた1:Nの配信とそれを視聴するための仕組みも含めたアプリケーションを構築する価値と、その具体的な実装の一例についても取り上げます。

OBSとは?

OBS (Open Broadcaster Software) は、オープンソースの無料配信ソフトウェアで、ライブストリーミングや録画を簡単に行うことができます。
高い柔軟性と拡張性があり、簡単な手順で高品質な配信が可能です。

追加可能なメディアソース例

OBSでは、配信内容を自由にカスタマイズし、視聴者に対して多彩な映像体験を提供することが可能です。
ライブ配信に追加できる代表的なソースの一例を紹介します。

  • カメラ:ライブ配信の基本となる映像ソースは、ウェブカメラやビデオカメラからの映像です。プレゼンターや出演者の映像をリアルタイムに配信に組み込むことができます。また、複数のカメラを使用して異なる視点やアングルを切り替えることも可能です。
  • 画面キャプチャ: プレゼンテーションやゲーム配信、チュートリアル動画など、画面の内容を視聴者に見せたい場合は、画面キャプチャソースが役立ちます。指定したウィンドウやディスプレイ全体を柔軟にキャプチャすることができます。
  • 音声入力: 映像と同様に、音声はライブ配信の重要な要素です。OBSでは、マイクやシステム音声などの音声入力ソースを追加することができます。これにより、プレゼンターの解説や音楽、効果音を配信に組み込むことが可能です。また、音声フィルターを活用することで、音質を向上させたり、ノイズを軽減することができます。

配信先の設定

作成したメディアを配信する先の設定については、本記事の後半で紹介する実現方法にも関わる部分になります。

 

OBSからメディアを配信する際にはその配信先を設定する必要があり、多くの選択肢があります。

代表的なものとして、以下の3つを例に取り上げます。

  • YouTube: YouTubeでの配信は、幅広い視聴者へのリーチを広げチャンネルの視聴者を増やす目的以外にも、特定のコミュニティの間のみでの限定公開も便利です。また、アーカイブ機能によるライブ配信終了後のコンテンツ視聴も可能です。
  • Twitch: Twitchは、主にゲーマー向けのライブストリーミングプラットフォームとして知られています。最近では音楽、アート、トークショーなど、多彩なコンテンツが増えています。特に、コミュニティとのリアルタイムの交流を重視するクリエイターに適しており、ライブ配信を通じた視聴者とのインタラクションが魅力です。
  • カスタムサーバー: 自社サーバーや特定のCDN(Content Delivery Network)を使用する場合に、カスタムサーバーを指定することが可能です。これにより、ブランドの独自性を保ちながら、データの管理や視聴者体験を自社のニーズに合わせて最適化できます。特に企業向けのプロフェッショナルな配信においては、この選択肢が有効です。本記事での実現方針ではこちらを用います。

自社のライブ配信プラットフォームを実装する価値

現在、多数のライブ配信プラットフォームが存在しますが、自社独自のプラットフォームを持つことには様々な価値があります。

独自プラットフォームの利点とビジネス上のメリットについては、以下のような点が挙げられます。

  • 独自ブランド価値の確立: 独自プラットフォームを持つことで、ブランドイメージを一貫して伝えることが可能。
  • データの所有: ユーザーデータや視聴データを自社で管理することで、マーケティングや分析に役立てることができる。
  • カスタマイズ性: 配信体験を自社のニーズに合わせてカスタマイズし、競争優位性を確保できる。
  • コスト効率: 外部プラットフォーム利用による手数料や制約を回避できる。

自社のライブ配信プラットフォームを構築することで、ブランドの独自性を保ち、データを効果的に活用しながら、視聴者に対してより魅力的で一貫した体験を提供することが可能です。これにより、長期的なビジネス価値の創出が期待できます。

ライブ配信プラットフォーム構築の実現方針

表題の構築を行うための実現方針を考えるにあたっては、ライブストリーミングの標準的なプロトコルとして広く使用されているRTMP(Real-Time Messaging Protocol)、もしくはSRT(Secure Reliable Transport)を用いた伝送を行い、それを自社プラットフォーム内にて視聴することを目的とします。


これを幾つかの簡単なステップで実現するための技術選定として、今回はAgoraが提供している Media Gateway という機能を用います。

Media Gatewayとは

Media Gateway_SD-RTN : Agora独自の技術による双方向性・リアルタイム性と大規模配信の両方を同時に実現することができる仮想広域ネットワーク

※ SD-RTN : Agora独自の技術による双方向性・リアルタイム性と大規模配信の両方を同時に実現することができる仮想広域ネットワーク


Media Gatewayとは、RTMP/SRTプロトコルを使用して、任意のメディアストリームをAgoraのリアルタイム音声/ビデオチャンネルに直接流し込むことを可能にする機能です。


Agoraの強力なインフラを活用して配信することができる強みに加え、OBSとのシームレスな連携も容易です。

 

また、メディアストリームに高度なトランスコード処理を実行することもできます。

実装内容

このセクションでは、Media Gateway を用いたライブ配信を実現するために必要な手順を簡単に紹介します。

手順

OBSのストリームをライブビデオソースとして配信するためには、OBSの設定画面でサーバのドメイン名とストリームキーを設定する必要があります。 

Media Gateway を利用する場合も同様であり、それぞれ以下のような流れで設定を行います。

Server  

パターン1:Agoraの指定ドメインを利用する
以下のドメインのregion情報をお住まいの地域のコードに置き換えたものを設定します。
rtls-ingress-prod-<region>.agoramdn.com<region>

パターン2:独自ドメインを利用する
オンプレミスでの実装を希望の場合、独自ドメインを指定することも可能です。

Stream Key
ストリームキーは、これを生成するための以下の RESTful API を利用して生成したものを設定します。
PUT https://api.agora.io/:region/v1/projects/:appId/rtls/ingress/streamkeys


また、独自ドメインを利用した配信を行う場合には、ローカルでキーを生成することも可能です。

OBSのストリームをライブビデオソースとして配信する設定イメージ

以上の工程で配信先の設定が終了したため、Agora SDK との連携との連携が完了しました。

後は受信者側が該当のAgoraチャンネルの映像音声を受信するだけなので、Webやモバイルアプリなどプラットフォームを問わず視聴が可能となります。

 

他にもより高度な設定として、メディアストリームをトランスコードするための stream configuration template API も用意されており、任意に活用が可能です。

 

 

以上、本記事ではOBSを用いたライブ配信アプリケーションの構築にあたり、AgoraのMedia Gateway 機能を採用した際の手順を紹介しました。

 

 


Agoraの無料トライアル

Agoraの無料トライアルは利用時間10,000分/月で、開発期間中はずっと無料となっています。(リリース後から料金が発生)Agoraは株式会社ブイキューブが日本代理店となっており、料金など不明点は日本語での対応が可能です。

 

>AgoraのMedia Gatewayをトライアルしてみる

 

 

 

参考資料
Media Gateway Quickstart : https://docs.agora.io/en/media-gateway/get-started/quickstart

stream configuration template API : https://docs.agora.io/en/media-gateway/reference/rest-api/endpoints/flow-configuration-template/create-reset-template

ブイキューブ

執筆者ブイキューブ

Agoraの日本総代理店として、配信/通話SDKの提供だけでなく、導入支援から行い幅広いコミュニケーションサービスに携わっている。

関連記事

先頭へ戻る