WebRTC Native Client Momo

momoMomo とは

Momo は WebRTC のネイティブクライアントで、Raspberry Pi や Apple Video Toolbox、Intel VPL、AMD AMF、NVIDIA Jetson などのハードウェアエンコーダーに対応しています。 4K や 1080p といった高画質な映像でも 1 秒未満の遅延で配信できます。
株式会社時雨堂が開発し、Apache License 2.0 のオープンソースソフトウェアとして GitHub 上に公開しています。

momoおしらせ

2025.09.04
WebRTC Native Client Momo 2025.1.0 をリリースしました
  • libcamera コントロール機能を追加しました
  • Ayame モードで方向 (sendrecv/sendonly/recvonly) を指定できるようになりました
  • Ayame モードで音声や映像のコーデックを指定できるようになりました
  • YUY2 や NV12 フォーマットに対応しました
  • libwebrtc M138 に対応しました
詳細はリリースノートをご確認ください
2024.09.18
WebRTC Native Client Momo 2024.1.0 をリリースしました
  • H.265 ハードウェアアクセラレーターに対応しました
  • Intel VPL を利用したハードウェアアクセラレーターに対応しました
  • Ubuntu 24.04 x86_64 に対応しました
  • libwebrtc M128 に対応しました
詳細はリリースノートをご確認ください
2023.09.28
WebRTC Native Client Momo 2023.1.0 をリリースしました
  • Raspberry Pi OS 64 bit に対応しました
  • ラズパイ専用カメラ(libcamera) に対応しました
  • Ubuntu 22.04 x86_64 に対応しました
  • libwebrtc M117 に対応しました
詳細はリリースノートをご確認ください

momo特長

オールインワン
Momo は、シグナリング機能、エンコーダー/デコーダー機能、デバイス認識機能を搭載しており、Momo だけでカメラからの映像を読み込み、変換し、配信することができます。
簡単なビルド
ビルドのしやすさにはこだわり、効率とシンプルさを徹底的に追求したビルド環境を用意しています。コマンド1つでバイナリが生成できます。
ハードウェアアクセラレーター対応
Momo では VP9、AV1、H.264、H265 ハードウェアエンコーダーを利用することで、CPU リソースをほとんど使わずに高画質の配信ができます。プラットフォームとして Raspberry PiNVIDIA JetsonNVIDIA Video CodecApple Video ToolboxIntel VPL に対応しています。Raspberry Pi や NVIDIA Jetson はハードウェアデコーダーに対応しています。
  • Intel N150/N100 の例
Momo と Intel N150/N100 で H.265 ハードウェアエンコーダーを使用して配信する構成図

  • NVIDIA Jetson Orin の例

Momo と NVIDIA Jetson Orin で AV1 ハードウェアエンコーダーを使用して配信する構成図
  • Raspberry Pi 4 の例
Momo と Raspberry Pi 4 で H.264 ハードウェアエンコーダーを使用して配信する構成図

注意 : Raspberry Pi 5 はハードウェアエンコーダーを搭載していないため H.264 を利用することはできません

4 K 対応
Momo ではハードウェアアクセラレーターを利用することで、4K / 30fps の高画質な配信が可能です。
120fps 対応
Momo ではハードウェアアクセラレーターを利用することで、最大 120fps のなめらかな配信が可能です。
音声や映像の受信・再生
Momo は単体で音声や映像を受信・再生することが可能です。
SDL (Simple DirectMedia Layer) を利用することで、音声や映像の受信・再生ができます。また、ハードウェアアクセラレーターのデコード機能を利用することで、CPU の負荷を抑えて受信・再生することができます。
多くのプラットフォームで動作
Momo は Raspberry Pi や NVIDIA Jetson だけでなく、macOS、Windows、Ubuntu でも動作します。
libwebrtc に追従
Momo は最新の libwebrtc に追従しています。
認証付き HTTP Proxy 対応
Momo では認証付き HTTP Proxy を越えられる仕組みを提供しています。
スクリーンキャプチャ対応
Windows、Linux、macOS 版でスクリーンキャプチャに対応しています。
データチャネルとシリアル通信
Momo は Ayame と組み合わせて利用することで、データチャネル経由でのシリアル通信が可能です。
サイマルキャスト配信
Momo は複数の画質を同時に配信できるサイマルキャストに対応しています。Sora と組み合わせて利用することで、受信側が自身のネットワーク環境に合わせた画質を選択できるようになります。
libcamera に対応
Momo では Raspberry Pi OS の libcamera を利用することができます。
時雨堂によるメンテナンス
Momo は、商用サービス向けの WebRTC サーバーを開発している時雨堂が常にメンテナンスをしています。WebRTC に関する豊富な知識とノウハウを活かし、適切なアップデートや機能追加を行っています。

momoMomo の使い方

同一のネットワークで Momo を使う
Momo はシグナリング機能を内蔵しているため、同じネットワーク内であれば、追加設定なしで動作確認や簡単な配信を手軽に行えます。
たとえば、自宅のネットワーク内で Raspberry Pi とカメラモジュールを利用すれば、Momo だけでシンプルな映像配信が実現でき、別の端末から赤ちゃんの様子をリアルタイムで確認できます。
Momo を同一のネットワーク内で利用する場合の構成例図。Momo はシグナリング機能を内蔵しているため、同一のネットワーク内であれば追加の設定など不要で動作確認や簡単な配信が実現できる。
リモート環境から接続する
Raspberry Pi に Tailscale などの VPN サービスをあらかじめ設定しておけば、遠隔地からでもスマートフォンや PC のブラウザで Momo にアクセスできます。
たとえば以下の図のように、自宅にいるペットの様子を Raspberry Pi 上の Momo で配信し、その様子を外出先からスマートフォンで確認することができます。
Momo の、Tailscale を利用した 1 対 1 での WebRTC 通信の構成図。Tailscale などの VPN と組み合わせて音声・映像・データを送受信できる。
VPN の利用が難しい場合は、時雨堂が提供する「WebRTC シグナリングサーバー Ayame」と組み合わせて利用すれば、同じように遠隔地のスマートフォンや PC のブラウザから Momo にアクセスできます。
Momo の、Ayame モードを利用した 1 対 1 での WebRTC 通信の構成図。時雨堂が提供する Ayame と組み合わせて音声・映像・データを送受信できる。
Sora と組み合わせて配信する (商用サービス向け)
時雨堂が提供する「WebRTC SFU Sora」と組み合わせて利用すれば、1 : 多 の配信をしたり、配信した音声や映像を録音・録画したりすることも可能です。おもに商用サービスでの利用を想定しています。
Momo と Sora を利用した 1 対 多の音声・映像配信の構成図。時雨堂が提供する WebRTC SFU Sora と連携し、商用サービスで利用することを想定。

momo利用例

個人でご利用いただいている例

momo動作環境

  • Raspberry Pi OS (64bit) ARMv8

    • Raspberry Pi 5
    • ※ 注意: Raspberry Pi 5 はハードウェアエンコーダーを搭載していないため H.264 は利用できません
    • Raspberry Pi 4
    • Raspberry Pi 3
    • Raspberry Pi 2 Model B v1.2
    • Raspberry Pi Zero 2 W
  • Ubuntu 24.04 x86_64

  • Ubuntu 22.04 x86_64

  • Ubuntu 22.04 ARMv8 Jetson

  • macOS 14 arm64 以降

  • Windows 11 x86_64

momoダウンロード

Github のリリースから、すぐに使えるバイナリがダウンロードできます。

momo有料サポート

現在は、WebRTC SFU Sora をご購入いただいているお客様限定で、Momo と Sora を組み合わせてご利用いただく場合の技術サポートのみ、有料でご提供しています。

有料サポートをご希望のお客様は、Sora のサポートまでメールでご連絡ください。

momoコミュニティ

Momo のコミュニティはこちら

https://discord.gg/shiguredo