WebRTC Native Client Momo の強さ

V
shiguredo
Published in
5 min readAug 11, 2019

色々な方が使ってくださっており、感謝しかありません。せっかくなのでどのへんが強いのか?というアピール話をしたいなと思います。

WebRTC Native Client Momo とは?

Momo は簡単に言ってしまえば 1バイナリで動作する WebRTC クライアントです。配信するのに他のソフトウェアは不要です。Momo だけですぐに音声と映像を WebRTC で配信することができます。

オープンソースである

Apache License 2.0 でオープンソースとして公開しています。そのためライセンスの範囲内であれば自由に利用可能です。

ただし Windows 版向けのビルドツールだけはクローズドソースとして販売しています。

libwebrtc にできるだけ手を入れていない

エンコーダ、帯域推定などなど、libwebrtc の美味しいところ使っているのですが、 libwebrtc 自体にはほとんど手を入れていません。

そのためメンテナンスコストを低く抑えています。

ビルドが簡単

Raspberry Pi 向けのバイナリを公開はしていますが、実はビルドがとても簡単になっています。

$ make raspbian-buster_armv7.package

これだけですぐに Raspberry Pi 3/3+ 向けのパッケージされたファイルが生成されます。Raspberry Pi Zero 向けは armv7 を armv6 にするだけです。

$ make raspbian-buster_armv6.package

Momo はビルド周りにとてもコストを掛けた製品です。誰でも簡単にビルドできるを目的としています。

ハードウェアエンコーダに対応している

libwebrtc は iOS/Android のハードウェアエンコーダには対応していますが、ネイティブで利用する場合はハードウェアエンコーダに対応していません。

Momo では Raspberry Pi や Mac のハードウェアエンコーダに独自に対応しています。さらに負荷を下げるため MotionJpeg のハードウェアデコーダを利用したりと、かなり突っ込んでいっています。

最近では Jetson Nano に搭載されている 4K@30 が可能なハードウェアエンコーダを利用できるよう挑戦中です。2019 年内には公開できたらいいなと考えております。

低遅延での高画質配信はハードウェアエンコーダが必須ということもあり、積極的に対応しています。

最新の libwebrtc に追従していっている

できるだけ libwebrtc の最新版に追従するようにしています。

これはビルド周りが整理されていたり、 libwebrtc のソースを読み込んでいる人たちが Momo をメンテをしているから実現できています。

Momo とブラウザだけでやりとりする P2P モードがある

Momo に内蔵されたシグナリングサーバを利用するほんとうの意味での P2P が可能です。

この機能は確認用の機能なので、実際に利用する場合は Ayame を利用してください。

Ayame を使うことでブラウザと直接やり取りができる

Ayame は WebRTC P2P 向けのシグナリングサーバです。

Momo は Ayame に対応しているため、さくっと P2P で繋がります。Ayame Lite という時雨堂の Ayame のサービス版を使えば、Ayame を立てる必要もありません。

$ ./momo ayame wss://ayame-lite.shiguredo.jp/signaling momo-test

あとは Ayame の Web SDK のサンプルを起動すればすぐです。

$ git clone git@github.com:OpenAyame/ayame-web-sdk-samples.git
$ cd ayame-web-sdk-samples
$ yarn serve

あとは下記 URL にアクセスして、接続を押せば Momo からの配信を見ることができます。

http://localhost:3000/recvonly.html?roomId=momo-test

Sora を利用することで大規模配信ができる

Sora は時雨堂が販売している商用の WebRTC SFU です。

Momo から Sora に配信すれば、 Sora が他の視聴者に配信をしてくれるので、1000 人に Momo の映像を配信することが可能です。

商用サポートがある

Sora との連携前提になりますが、商用サポートを提供しています。

利用者の声

使っていただいた方の Twitter のつぶやきを貼っておきます。

--

--