Momo のライセンスは Apache License, Version 2.0 で公開しております。
Momo 側からの指定は WebRTC SFU Sora を利用したときだけ可能です。
Sora モードでのみ利用可能です。利用可能な映像コーデックは VP8 と H.264 です。
利用する場合は --simulcast
を指定してください。
利用可能です。
シリアル経由でのみデータチャネルが利用可能です。
SSL_CERT_DIR
または SSL_CERT_FILE
環境変数に CA 証明書のパスを指定することで、サーバ証明書の検証に利用するための CA 証明書を追加することが可能です。
$ export SSL_CERT_FILE=/path/to/cert.pem
$ ./momo sora ...
--insecure
オプションを指定することで、クライアント側でサーバ証明書の検証を行わないようにすることが可能です。
$ ./momo --insecure sora ...
Windows と Linux で利用可能です。 NVIDIA ビデオカードドライバーは最新版にしてください。
NVENC が利用可能なビデオカードは以下で確認してください。
Video Encode and Decode GPU Support Matrix | NVIDIA Developer
是非 Discord の #momo-nvidia-video-codec-sdk チャネルまでご連絡ください
- GeForce GTX 1080 Ti
- @melpon
- GeForce GTX 1650
- @melpon
- GeForce GTX 1060 6GB
- @massie_g
- GeForce GTX 1050 Ti 4GB
- @cli_nil
- GeForce GTX 1070 with Max-Q Design 8GB
- @torikizi
- Quadro P1000 4GB
- 株式会社オプティム
- Quadro P4000
- 株式会社オプティム
- GeForce RTX 2070
- @msnoigrs
- GeForce RTX 2080
- @shirokunet
以下の記事を参考にしてみてください。
以下の記事を参考にしてみてください。
カメラ無しのラズパイとmomoでテスト映像をWebRTCで配信する - Qiita
以下の記事を参考にしてみてください。
ラズパイ+momoでWebRTCで送信するときにマイクの代わりに音声ファイルを使用する - Qiita
利用できません。60fps を使ってみたい場合は Momo が対応する Jetson シリーズ などをご利用ください。
Momo では Sora の DataChannel メッセージングに対応する予定はありません。 Sora C++ SDK にて対応予定です。
レガシー版には対応せず、最新版にのみ対応していきます。
RaspberryPi の MJPEG デコーダ は一部の MJPEG に対応したカメラでしか機能しません。
MJPEG に対応した CSI カメラや USB カメラをご用意いただくか、 --hw-mjpeg-decoder false
にしてご利用ください。
Mac (arm64) から FHD でスクリーンキャプチャを配信したい場合は Sora の H.264 のプロファイルレベル ID を 3.2 以上に設定してください。
設定方法はこちらの Sora のドキュメントをお読みください。
プロファイルレベル ID を変更しない場合は H.264 の HD 以下で配信するか、他のコーデックを使用して FHD 配信をしてください。
また、プロファイルレベル ID を変更することができない Test モードや Ayame モードでは FHD 配信ができません。
こちらも H.264 の HD 以下で配信するか、他のコーデックを使用して FHD 配信をしてください。
NVIDIA のビデオカードの NVENC を利用することで H.264 が利用可能になります。
ご利用の環境で H.264 が利用できるかどうかは ./momo --video-codec-engines
を使用して H264 の項目をご確認ください。
Momo は Sora の TURN 機能を無効にして利用することはできません。
Momo の Sora モードではマルチストリーム機能を無効にして利用することはできません。
以下に示すオプションを指定することで利用可能です。
--proxy-url
: プロキシの URL--proxy-username
: プロキシ認証に使用するユーザー名--proxy-password
: プロキシ認証に使用するパスワード
利用できません。 Raspberry Pi (Raspberry-Pi-OS) の H.264 は MMAL のハードウェア支援を受けており MMAL が 64 bit に対応していないためです。
--resolution
オプションを使用することで解像度の設定が可能です。
しかしこれはあくまでも Momo からカメラデバイスに対して送るリクエストであり、最終的な解像度はカメラデバイスの仕様に依存します。
もし、カメラデバイスのサポート外の解像度を試してみたい方は以下の記事を参考にしてみてください。
WebRTC momoでカメラのサポートしていない解像度、フレームレートで送信する
Jetson で Momo を実行すると Capture Plane:Error in VIDIOC_S_FMT: Invalid argument
というエラーが出ます。
これは HWA 対応確認のために非対応の可能性のあるエンコーダーとデコーダーを作成する処理を行っているためです。
動作には影響ありません。
Momo はハードウェアデコードを優先して使用するようになっており、AV1 のハードウェアデコードに対応しているのは Jetson Orin のみです。
Jetson Orin 以外の Jetson をご利用の場合は --av1-decoder
オプションで software
を指定してください。