JavaScript
Node.js
WebRTC
Licode
WebRTCDay 17

Licodeを使ってみた

はじめに

この投稿は2017年WebRTCアドベントカレンダーの17日目の記事です。

WebRTC SFU/MCUの「Licode」を使ってみました。
記事公開時点では、日本語の情報はほとんどないようです。

実行環境

  • Ubuntu 14.04 LTS
  • ConoHa メモリ 2GB/CPU 3Coreプラン

Licode動作環境

  • Ubuntu 14.04
  • MacOS X 10.11以上

インストール

  • ドキュメントに従えばインストールできます。
  • 操作はすべてrootで行いました。

Githubからクローン

git clone https://github.com/lynckia/licode.git
cd licode

依存パッケージをインストール

./scripts/installUbuntuDeps.sh

Licodeのインストール

./scripts/installNuve.sh
./scripts/installErizo.sh

サンプルのインストール

./scripts/installBasicExample.sh

Licodeの起動

  • screenコマンドを使うか、もう一つssh接続するなどして、サンプルも起動できるようにしてください。
./scripts/initLicode.sh

サンプルの起動

  • サンプルはHTTPなので、メディアの取得ができません。
  • 自己証明書を作成するかSSHポートフォワーディングを使用してください。
  • 私は、ポートフォワーディングを使いました。サーバーの3001番ポートをlocalhostの3001に転送するように設定してください。
./scripts/initBasicExample.sh

サンプル実行

  1. http://localhost:3001にアクセスしてください。(ポート転送を設定した場合)
  2. 「Test Connection」ボタンをクリックしてください。
  3. メディアへのアクセス許可を求めるダイアログが表示されるので、許可してください。
  4. ブラウザの画面に取得した映像と一旦サーバーに送られた映像が表示されます。

結果

  • 上記の内容でサンプルを動かした場合です。

  • 帯域

    • 送信:約500kbps
    • 受信:約500kbps
  • サーバー側CPU使用率

    • 約30%

まとめ

ビルドに結構時間がかかりました。
依存パッケージにはrabbitmqやmongodbがあり、これらのインストールに時間がかかっているものと思われます。
また、ドキュメントが少ないと思いました。
個人的にはJanusの方が使いやすいと思いました。