WebRTCで複数端末へのストリーム配信 (チュートリアル3)

こんにちは、ベーコン婆男です。

今回は、Webセミナーなどで利用される、1つの端末の映像を、複数の端末にブロードキャスト配信するサンプルを紹介したいと思います。

チュートリアル3: WebRTC one-to-many broadcast

このチュートリアルでは、一対多のブロードキャスト配信のサンプルになります。WebセミナーやTwitCastingのような、自分の映像を複数の端末に配信するような場合に使います。

一対多で通信する場合、通信相手すべてにストリーミングデータを送信する必要があり、P2P方式ですと、送信元の端末の上り帯域は、ストリーミングデータ量 × 配信先数の帯域が必要になり、配信先数が多くなると必要な上り帯域が比例して大きくなってしまいます。一方、Kurentoサーバを利用することで、送信元の端末からKurentoサーバまでは、配信先数にかかわらず、ストリーミングデータ量 × 1になり上り帯域を節約することができます。なお、Kurentoサーバから配信先への下り帯域は、ストリーミングデータ量 × 配信先数の帯域が必要になりますが、一般的にクライアント端末の上り帯域に比べて、サーバの帯域は安定しており、大きな帯域が確保しやすいです。

 

 

チュートリアル1の繰り返しになりますが、以前投稿した「WebRTC Kurentoサーバの構築」の記事に従って、Kurento Media Serverのインストールとサービス起動をお願いします。

サービスが起動していないと、ビルド後にエラーが発生して動作しないため、必ずサービスを起動しておいてください。

また、チュートリアル1に記載した手順で、チュートリアルのコードをGitHubからダウンロードしてください。全チュートリアルのコードがダウンロードされますので、一度ダウンロードすれば再実行する必要はありません。その場合はこの手順はスキップしてください。

$ mkdir kurento-tutorial
$ cd kurento-tutorial
$ git clone https://github.com/Kurento/kurento-tutorial-java.git

kurento-tutorialフォルダにgitでソースコードを取得したら、kurento-one2many-callフォルダに移動して、mvnでビルドします。

$ cd kurento-tutorial-java/kurento-one2many-call
$ git checkout 6.6.2
$ mvn compile exec:java

ビルドが成功すると、チュートリアルのアプリが起動します。

パソコンでブラウザを立ち上げて、Kurentoが起動しているサーバ(ポート8443)をhttpsで開いてください。

https://(サーバアドレス):8443/

サーバに証明書が実装されていない場合は警告が表示されますが、無視して開いてください。

 

「Presenter」ボタンをクリックすると、送信元になり、自分の映像が表示されます。

「Viewer」ボタンをクリックすると、受信側になり、Presenterからの送信映像が表示されます。Presenterがいないと、Viewerボタンをクリックしてもエラーになります。

今回の、one-to-many broadcastingのチュートリアルでは、Media Elementは以下のような構成になっています。Viewerが追加されるたびに、PresenterのMaster WebRTCEndPointのエレメントに、Viewer WebRTCEndPointが追加接続され、Presenterの映像のコピーがViewerに配信されます。

Kurentoを利用すると、一対一のやり取りだけでなく、一対多のやり取りが簡単に実現できることが分かると思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です