Kurentoを使ったWebRTC MCUの動かし方
WebRTC MCUを自前で実装となると難しいですが、KurentoというOSS(オープンソースソフトウェア)を使用すれば簡単にMCU機能が実装できます。
本記事はKurentoのNode.js版デモを動かすまでの手順です。
本記事の環境は次の通りです。
- Windows10のWSLでUbuntu 18.04 LTSを実行
- Node.jsをインストール済み
- npmをインストール済み
Kurento Media Server のインストール
最初に必要なツール類をインストールします。
Kurento リポジトリをシステムに追加する
次のコマンドでKurentoのリポジトリをシステムに追加します。途中でWindowsファイアウォールの警告が表示された場合は許可してください。
Kurento Media Server のインストール
次のコマンドでKurento Media Serverをインストールします。
参考
Kurento Media Server の起動と停止
Kurento Media Server の起動
次のコマンドでKurento Media Serverを起動します。Windowsファイアウォールの警告が表示された場合は許可してください。
Kurento Media Server の停止
Kurento Media Serverの停止は次のコマンドを実行します。
デモの実行
事前準備
必要なモジュールをグローバルインストールします。
作業用に任意のフォルダを作ります。(ここではkms
としました)
loopback デモ
基本のデモになります。まずGitHubから環境をダウンロードします。
localhostのみで実行できるようにkurento-tutorial-js/kurento-hello-world/js/index.js
を次のように修正します。(★の部分)
実行
- Kurento Media Server を起動する
- 次のコマンドを実行
- Chromeで
https://localhost:8443/
にアクセスする

Startボタンを押すと、左に自分のビデオが表示後、右にも同じビデオが表示されます。
MCU デモ
MCU機能を使ったグループ通話のデモです。まずGitHubから環境をダウンロードします。
基本的にはREADME.md
に従って作業すれば実行できるはずですが、一部うまく動かなかったので手順を記載します。
kurento-group-call-node
フォルダで次のコマンドを実行し、必要なモジュールをインストールします。
kurento-group-call-node/server/static/bower.json
のdependencies > kurento-utils
を次のように変更します。これをしないとローカルでビデオが表示されませんでした。
localhostのみで実行できるようにkurento-group-call-node/server/index.js
を次のように修正します。(★の部分)
実行
- Kurento Media Server を起動する
- 次のコマンドを実行
- Chromeで
https://localhost:3000/
にアクセスする

ブラウザで複数タブを起動し、同じ部屋にアクセスすると動画が合成されます。
参考
Node.js版Kurento GroupCallを使ってみた