We check PRs or Issues only when written in JAPANESE. In other languages, we won't be able to deal with them. Thank you for your understanding.
WebRTC Native Client Momo は libwebrtc を利用しブラウザなしで様々な環境で動作する WebRTC ネイティブクライアントです。
- Raspberry Pi の GPU に積まれている H.264 ハードウェアエンコーダー機能を利用することが可能です
- Apple macOS に搭載されている H.264 ハードウェアエンコーダー機能を VideoToolbox 経由で利用しています
- NVIDIA Jetson Nano に搭載されている H.264 ハードウェアエンコーダー機能を利用することで 4K@30 での配信が可能です
- NVIDIA ビデオカードに搭載されている H.264 ハードウェアエンコーダー機能を NVIDIA VIDEO CODEC SDK 経由で利用しています
Momo はデータチャネルを利用しシリアルに直接読み書きが可能です。信頼性より低遅延を優先したい場合の利用を想定しています。
Momo を GUI 環境で利用した場合、Simple DirectMedia Layer を利用して音声や映像の受信を行うことができます。
ROS ノードとしても利用可能です。
Momo 同士で SDL 機能を利用して libwebrtc が対応している AV1 が利用可能です。
WebRTC Native Client Momo と Jetson Nano で 4K@30 配信
OpenMomo は WebRTC Native Client Momo をオープンソースとして公開し継続的に開発を行っていくプロジェクトです。 ブラウザやスマートフォン以外からの WebRTC をいろいろな用途で使ってもらえればと思っています。
詳細については下記をご確認ください。
Momo はオープンソースソフトウェアですが、開発についてはオープンではありません。 そのためコメントやプルリクエストを頂いてもすぐには採用はしません。
まずは Discord にてご連絡ください。
以下からダウンロードが可能です。
https://github.com/shiguredo/momo/releases
- Raspberry Pi OS (64bit) ARMv8
- Raspberry Pi 4
- Raspberry Pi 3
- Raspberry Pi 2
- Raspberry Pi OS (32bit) ARMv7
- Raspberry Pi 4
- Raspberry Pi 3
- Raspberry Pi 2
- Raspberry Pi OS (32bit) ARMv6
- Raspberry Pi Zero
- Raspberry Pi 1
- Ubuntu 18.04 x86_64
- Ubuntu 20.04 x86_64
- Ubuntu 18.04 ARMv8 Jetson
- macOS 10.15 x86_64 以降
- Windows 10.1809 x86_64 以降
- Ubuntu 16.04 x86_64 ROS Kinetic
Momo を使ってみたい人は USE.md をお読みください。
- Linux 版 Momo のビルドしたい人は BUILD_LINUX.md をお読みください
- macOS 版 Momo のビルドしたい人は BUILD_MACOS.md をお読みください
- Windows 版 Momo のビルドしたい人は BUILD_WINDOWS.md をお読みください
パッケージ作成したい人は PACKAGE.md をお読みください。
QA.md をお読みください。
YYYY.RELEASE[.FIX]
- YYYY は年
- RELEASE はその年にリリースした回数
- FIX はオプションでバグフィックス対応のみのアップデートに利用
Apache License 2.0
Copyright 2015-2020, tnoho (Original Author)
Copyright 2018-2020, Shiguredo Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
優先実装とは Sora のライセンスを契約頂いているお客様限定で Momo の実装予定機能を有償にて前倒しで実装することです。
- Windows 版 OSS 化
- WebRTC's Statistics 対応
- 現時点では企業名非公開
- Windows 版 Momo NVIDIA VIDEO CODEC SDK 対応
- Linux 版 Momo NVIDIA VIDEO CODEC SDK 対応
詳細は Discord やメールなどでお気軽にお問い合わせください
- Jetson Xavier NX 対応
- MotionJPEG ハードウェアデコーダ対応
- H.265 / H.264 / VP9 ハードウェアエンコーダ対応
- H.265 / H.264 / VP9 ハードウェアデコーダ対応
- Jetson Nano
- H.265 ハードウェアエンコーダ対応
- H.265 ハードウェアデコーダ対応
- Raspberry Pi 4
- H.265 ハードウェアデコーダ対応
- AV1 対応
- macOS
- Ubuntu
- Windows
- 統計機能
- Sora のシグナリング経由での出力
- Ayame のシグナリング 経由での出力
- NVIDIA VIDEO CODEC SDK
- H.264 ハードウェアエンコーダ対応
- Ubuntu 18.04
- Windows 10
- VP8 / VP9 / H.264 ハードウェアデコーダ対応
- Ubuntu 18.04
- Windows 10
- MotionJPEG ハードウェアデコーダ対応
- Ubuntu 18.04
- Windows 10
- H.264 ハードウェアエンコーダ対応
- Intel Media SDK 対応
- VP8 / VP9 / H.264 / H.265 ハードウェアエンコーダ対応
- Simulcast 対応
- 録画対応
- MP4 形式での出力
- ROS Melodic 対応
- ROS2 対応
Momo の原作者である @tnoho が書いた Momo のノウハウが沢山詰まった本が販売されています。
WebRTCをブラウザ外で使ってブラウザでできることを増やしてみませんか?(電子版) - でんでんらぼ - BOOTH
- アドバイスします
- フィードバック歓迎します
- サポートしません
最新の状況などは Discord で共有しています。質問や相談も Discord でのみ受け付けています。
Discord へお願いします。
WebRTC Native Client に対する有料でのテクニカルサポート契約については WebRTC SFU Sora ライセンス契約をしているお客様が前提となります。
- Momo のテクニカルサポート
- OSS 公開前提での Momo への機能追加
H.264 ハードウェアエンコーダ のみ を利用している Momo 単体の配布においてはライセンス費用は不要ですが、 ハードウェアとセットで配布する場合はライセンス費用を支払う必要があります。
ただし、 Raspberry Pi においては H.264 のライセンスがハードウェア費用に含まれているため、 配布時にライセンス費用を支払う必要はありません。
詳細については MPEG LA まで問い合わせる事をおすすめします。
- Raspberry Pi のハードウェアエンコーダのライセンス費用は Raspberry Pi の価格に含まれています
- Apple のライセンス費用は個人利用および非商用利用目的に限るため、配布においては別途、団体との契約が必要
- AMD ビデオカードのハードウェアエンコーダのライセンス費用は別途、団体との契約が必要
- NVIDIA ビデオカードのハードウェアエンコーダのライセンス費用は別途、団体との契約が必要
- NVIDIA Jetson Nano のハードウェアエンコーダのライセンス費用は別途、団体との契約が必要
- Intel Quick Sync Video のハードウェアエンコーダライセンス費用は別途、団体との契約が必要
- カメラ無しのラズパイとmomoでテスト映像をWebRTCで配信する - Qiita
- libwebRTCでFakeVideoしてみた - Qiita
- ティアフォーにおける自動運転車両の遠隔監視・操縦システムのご紹介 - Tier IV Tech Blog
- Run WebRTC Native Client Momo on Raspberry Pi 3B | SHIROKU.NET
- WebRTC Native Client Momo がスゲエ – papalagi.org
- ラズパイのmomoで音声付きでWebRTCで配信する - Qiita
- ラズパイ+momoでWebRTCで送信するときにマイクの代わりに音声ファイルを使用する - Qiita
- ラズパイのmomoでステレオ音声でWebRTCで配信する - Qiita