WebRTC Native Client Momo Custom は libwebrtc を利用しブラウザなしで様々な環境で動作する WebRTC ネイティブクライアント Momo に対して 汎用的ではない特殊な機能を追加したカスタム版です
Momo のカスタムにおける参考のために公開しています。積極的なメンテナンスは行いません。VERSIONファイルとCHANGESでオリジナルのMomoとの世代差を確認した上でご利用ください
WebRTC による映像音声通信のみであればカスタム元の Momo をご利用ください。ドキュメントを含めた公開と積極的な最新版追従を行っています。
カスタムの差分がわかりやすいようにブランチで管理しています。現在は下記のブランチを提供しています
- custom/base (現在のブランチ)
- カスタムのベースとしたオリジナルの Momo の develop スナップショットからメンテを行えないドキュメントとビルドシステムを削除したものです
- custom/robot-arm
- WebRTCをブラウザ外で使ってブラウザでできることを増やしてみませんか? で記載したロボットアームの制御コードのブランチです
- WebRTC の DataChannel を経由した USBシリアル と pigpio 経由のサーボ制御に対応しています
- custom/base-old とこのように比較することで改変箇所がわかるようになっています
- 現在ではオリジナルの Momo で DataChannel を経由した USBシリアル に対応しました。安定性とメンテナンスの観点から、そちらのご利用をお勧めします。
- custom/base-old
- custom/robot-arm の改造のベースとした時のオリジナルの Momo の develop スナップショットです。比較用に残しています
- Raspberry Pi の GPU に積まれている H.264 ハードウェアエンコーダー機能を利用することが可能です
- macOS に積まれている VideoToolbox の H.264 ハードウェアエンコーダー機能を利用することが可能です
- Jetson Nano に搭載されている H.264 ハードウェアエンコーダー機能を利用することで H.264 を 4K@30 での配信が可能です。
Momo はデータチャネルを利用しシリアルに直接読み書きが可能です。信頼性より低遅延を優先したい場合の利用を想定しています。
Momo Custom はバイナリでの提供は実施していません 映像音声通信のみであればカスタム元の Momo をご利用になれます
- Raspbian Buster ARMv7
- Raspberry Pi 4 B で動作
- Raspberry Pi 3 B/B+ で動作
- Raspbian Buster ARMv6
- Raspberry Pi Zero W/WH で動作
ビルドシステムは提供していません 映像音声通信のみであればカスタム元の Momo でお試しください
Apache License 2.0
Copyright 2018-2020, Shiguredo Inc, tnoho and melpon and kdxu
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
https://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.
Momo のコントリビュータである @tnoho が書いた Momo のノウハウが沢山詰まった本が販売されています。
WebRTCをブラウザ外で使ってブラウザでできることを増やしてみませんか?(電子版) - でんでんらぼ - BOOTH
バグ報告は GitHub Issues へお願いします。