OpenMomo プロジェクト
日時: | 2023-10-05 |
---|---|
作: | 時雨堂 |
資料 バージョン: | 2023.2 |
GitHub URL: | https://github.com/shiguredo/momo |
製品 URL: | https://momo.shiguredo.jp/ |
このプロジェクトに興味がある人はこの資料や momo のリポジトリに Star をつけてもらえると嬉しいです。
Contents
概要
OpenMomo プロジェクトとは 時雨堂 が開発/提供している WebRTC Native Client Momo を OSS として公開し、 その後も継続して開発、メンテナンスしていくプロジェクトです。
目的
ブラウザなしで CUI で動作する WebRTC を多くの人に体験してほしいと考えています。 またソースコードをオープンにすることで、 Momo をベースにした何かが生まれていけばと考えています。
方針
- 開発はオープンでは行わない
- 無料でのサポートは行わない
- 無料での機能追加は対応しない
- 無料でのハードウェア対応はしない
- libwebrtc を利用する
- H.264 ソフトウェアエンコード/ソフトウェアデコードは利用しない
- H.265 ソフトウェアエンコード/ソフトウェアデコードは利用しない
動画
WebRTC Native Client Momo と Jetson Nano で 4K@30 配信
今後の予定
優先実装
Momo への優先実装を有償でお受けしています。 興味のある方はご連絡ください。
- OSS での公開を前提とする
- ライセンスは Apache License 2.0 とする
- コピーライトは時雨堂とする
- 費用は控えめ
H.265 (HEVC) 対応
Safari に WebRTC の H.265 対応がくることから、まずは macOS 版での対応を検討しています。 最終的には NVIDIA ビデオカードや Jetson で利用できるようにしたいと考えています。
録画対応
コスト高め
MP4 形式でローカルに一定時間ごとにファイルを保存できる対応
ゴール
- ソースコードを Apache License 2.0 で公開
- 最新 libwebrtc への追従
- 2160p (4K) 30fps への対応
- 1080p (2K) 60fps への対応
- Raspberry Pi OS 向け ARMv8 / ARMv7 / ARMv6 ビルド対応
- Jetson シリーズ向け ARMv8 ビルド対応
- Ubuntu 向け x86_64 ビルド対応
- Windows 向け x86_64 / ARMv8 対応
- macOS arm64 向けビルド対応
- 複数のシグナリング方式への対応
- 組み込み P2P
- WebRTC Signaling Server Ayame
- WebRTC SFU Sora
- AV1 対応
- サイマルキャスト対応
- ハードウェアエンコーダー/デコーダー対応
- Raspberry Pi 対応
- NVIDIA Jetson Nano 対応
- H.264 / H.265 / VP8
- L4T Multimedia API Reference: Main Page
- NVIDIA Jetson Xavier 対応
- H.264 / H.265 / VP9
- NVIDIA Jetson Orin 対応
- H.264 / H.265 / VP9 / AV1
- NVIDIA NVENC 対応
- H.264 / H.265
- NVIDIA VIDEO CODEC SDK | NVIDIA Developer
- NVIDIA NVDEC 対応
- H.264 / H.265 / VP8 / VP9
- NVIDIA VIDEO CODEC SDK | NVIDIA Developer
- Apple VideoToolbox 対応
- H.264 / H.265
- VideoToolbox | Apple Developer Documentation
- Intel Media SDK 対応
- H.264 / H.265 / VP8 / VP9 / AV1
- Intel® Media SDK | Intel® Software
- Intel-Media-SDK/MediaSDK: The Intel® Media SDK
- 双方向への対応
- Simple DirectMedia Layer を利用して双方向を実現
最新リリースでの仕様
- ソースコードのライセンスは Apache License 2.0
- テスト用のシグナリングサーバ内蔵
- WebRTC Signaling Server Ayame 向けシグナリング機能搭載
- WebRTC SFU Sora 向けシグナリング機能搭載
- データチャネルを利用したシリアルポートの読み書き機能
- 監視用メトリクス API
- 音声コーデックは Opus
- 映像コーデックは VP8 または VP9 または AV1 または H.264
- H.264 についてはソフトウェアエンコーダには非対応でハードウェアエンコーダのみに対応
- Jetson Nano シリーズでは VP8 ハードウェアエンコーダに対応
- Jetson Xavier シリーズでは VP9 ハードウェアエンコーダに対応
- NVIDIA VIDEO CODEC SDK 対応
- Ubuntu 20.04 対応
- Ubuntu 18.04 対応
- Windows 10 対応
- NVENC のみで、NVDEC は非対応
- スクリーンキャプチャ
- Windows
- macOS
- Linux
- Raspberry Pi OS ARMv8 向けビルド
- Raspberry Pi OS ARMv7 向けビルド
- Raspberry Pi OS ARMv6 向けビルド
- Ubuntu x86_64 向けビルド
- Ubuntu ARMv8 向けビルド
- Jetson Nano 対応
- Jetson Xavier NX 対応
- Jetson AGX Xavier 対応
- macOS arm64 向けビルド
- Windows x86_64 向けビルド
- CMake でのビルドに対応
- external/webrtc - Git at Google
- 修正 BSD ライブラリ
- WebRTC ライブラリ
- CLIUtils/CLI11
- 修正 BSD ライセンス
- コマンドライン引数ライブラリ
- Boost C++ Libraries
- Boost ライセンス
- C++ ライブラリ
- Simple DirectMedia Layer - Homepage
- zlib ライセンス
- クロスプラットフォーム向けマルチメディアライブラリ
対応プラットフォーム
- Raspberry Pi OS 最新版
- armv8
- armv7
- armv6
- macOS 最新版
- x86_64
- arm64
- Ubuntu 20.04
- x86_64
- Ubuntu 18.04
- x86_64
- armv8
- Jetson Nano
- Jetson Xavier NX
- Jetson AGX Xavier
- Windows 最新版
- x86_64
- arm64
NVIDIA VIDEO CODEC SDK 動作環境
NVIDIA VIDEO CODEC SDK を利用する場合は NVIDIA ビデオカードのドライバーを最新にしてください。
データチャネルを利用したシリアルポートの読み書き
Momo は Test と Ayame モードで、データチャネル経由でのシリアルポートの読み書きに対応しています。
Test モードでの実行例:
$ ./momo --serial /dev/ttys003,9600 test
双方向
Momo は SDL (Simple DirectMedia Layer) を利用することで双方向を実現しています。
また Jetson シリーズを利用した場合はハードウェアデコーダを利用することで CPU の負荷をかなり抑えることができます。
Ayame を利用して 1:1 でやり取りしている
Sora を利用して 3 人でやり取りしている
検証済みの機器
この2つを利用し Jetson と Momo で 4K@30fps と 1080p@60fps を確認しています。
事例
NVIDIA Embedded (Twitter)
- [「Jetson Project: Wirelessly stream content from a browserless device to a TV monitor with the help of Momo. It's a WebRTC native client that uses NVIDIA Jetson Nano’s hardware encoder to deliver 4K/30fps with a delay of less than 1 second. Learn more > https://t.co/CiflK9ut4Z https://t.co/Nxg4f4k5gh」 / Twitter](https://twitter.com/NVIDIAEmbedded/status/1438907363000524803?s=20)
NVIDIA Jetson Community Project
Jetson Community Projects | NVIDIA Developer
NVIDIA Developer Blog
SoftBank Solves Key Mobile Edge Computing Challenges Using NVIDIA Maxine | NVIDIA Developer Blog
This work makes use of SoftBank’s MEC servers (Windows), a modified C++-based open source WebRTC client named “WebRTC Client Momo,” and an application that uses the Video Effect SDK and Audio Effect SDK API.
Twitter などで Momo を動かした話を見かけたら追加していってます
- ティアフォーにおける自動運転車両の遠隔監視・操縦システムのご紹介 - Tier IV Tech Blog
- libwebRTCでFakeVideoしてみた - Qiita
- Noriyuki OHKAWAさんのツイート: "昨日公開されたばかりの時雨堂のmomoを改造し,OpenMAXのvideo_encoderに食わせる前にVC4利用で高速化したDNNで顔検出&検出部位をベタ塗り隠蔽処理した上でエンコードしてraspi外へWebRTC動画配信している様子.… https://t.co/ek9ScIP0rp"
- Run WebRTC Native Client Momo on Raspberry Pi 3B | SHIROKU.NET
- Reyes レイエスさんのツイート: "WebRTC Native Client Momoがお手軽と見かけてPi3Bで動かしてみた。Wifiルーター経由で遅延は100〜300msecくらい。… "
- Reyes レイエスさんのツイート: "Raspberry Pi 3Bでほぼリアルタイムにネット経由で動かせるラジコンを作った。 車両のカメラ映像はWebRTC Momoを使ってオペレータのPCへ配信、操作コマンドはMQTT越しに車両へ送信。 試しに近くの公園で走らせてみると、カメラ映像のみ見ながらでも運転はできた。… https://t.co/g21PD1A3cB"
- Yoshimune KITTAさんのツイート: "Pi3B USB CAM > WifiRouter > Chrome 試してみた メッチャ速い! | Run WebRTC Native Client Momo on Raspberry Pi 3B | https://t.co/rHufJVbhjT… https://t.co/o4FkzvIdwf"
- Reyesさんのツイート: "時雨堂さんのOSS、WebRTC Momo 19.07.0-rc0 バイナリリリースされたので、手元のRaspberry Pi 3B で動かしてみました。 720pの30fps固定。 Wifiルータ経由で遅延は約200msec。 高画質になったのに遅延は据え置きという驚きの性能! Raspberry Pi とCameraがあれば誰でも簡単に試せます🙂… https://t.co/s3RsWuVMhu"
- papalagi.orgさんのツイート: "WebRTC Native Client Momo がスゲエ https://t.co/E5jgWd5gCH… "
- MOTOIさんはTwitterを使っています: 「機体はev3のスマホアプリで操作して、カメラは前にツイッターでみた時雨堂さんのwebRTCを使いました。全然遅延しなくてすごい。 https://t.co/3BsURyJ1ZC」 / Twitter
- ラズパイとWebRTCで動物の死活監視ができるようにした話 - ( ꒪⌓꒪) ゆるよろ日記
- ラズパイのmomoで音声付きでWebRTCで配信する - Qiita
- ラズパイ+momoでWebRTCで送信するときにマイクの代わりに音声ファイルを使用する - Qiita
- ラズパイのmomoでステレオ音声でWebRTCで配信する - Qiita
- 大樹さんはTwitterを使っています: 「momoすごいよ」 / Twitter
- カメラ無しのラズパイとmomoでテスト映像をWebRTCで配信する - Qiita
- ReyesさんはTwitterを使っています: 「ドンキで買った1300円のラジコンを、外出先からスマホで操作できるように改造しました🚙 うちのヌッコの見守り用に作ったのですが、まだ慣れていない様子😼 #RaspberryPi #ヌッコカー https://t.co/P45LzxbpsZ」 / Twitter
- ReyesさんはTwitterを使っています: 「JetsonNano が正式対応された Momo 19.09.1 とAyame Liteを動かしてみました🙂 4K対応カメラが手元に無かったので、FHD対応のカメラ(See3CAM_CU20)で動作確認してます。 200~300msecの遅延でとても安定してます。CPU負荷は30%くらいに見えます。 https://t.co/4fytk6twCQ」 / Twitter
- ReyesさんはTwitterを使っています: 「MomoをAyameモードで高画質配信するとき、Raspberry Pi verだと3B+でも重たくなる印象だったが、Jetson Nano verは軽快です😊 https://t.co/7hQ12zQnd4」 / Twitter
- tnoho@技術書典か28CさんはTwitterを使っています: 「無事バッテリーのみで動きました。 #技術書典7 二つ目のデモは Jetson Nano を用いた H.264 4K 30fps WebRTC 配信です。おそらく初公開のデモとなります。 USB給電で動いています。こちらも、もちろんハードウェアアクセラレータを使っています。 https://t.co/ws931Ros1S https://t.co/O4C5MGfusm」 / Twitter
- (1) ☆Roy.★さんはTwitterを使っています: 「RaspberryPi + HIMI to CSIモジュールを使ってブラウザ経由コンソールが動くようになった。 画面配信WebRTC Client Momo + Ayame https://t.co/jppnHJbOMo https://t.co/epCejhbD6l RasPiのUSB OTGでUSBマウス・キーボードをエミュレートしてNodeJSアプリ経由で入力 https://t.co/R2XYDsmCjt https://t.co/cWGUsMslxM」 / Twitter
- ナハナハ(マラソン10km/ラーメン1杯)さんはTwitterを使っています: 「Jetson nano + Webrtc momo + ayameで遅延計測実験。 今度Qiitaにでもまとめようかな。。。 https://t.co/BHy7lqfdUo」 / Twitter
- ReyesTatsuru ShirokuさんはTwitterを使っています: 「NVIDIAのJetson Nanoで、動ける遠隔操作カメラ作った。 JetsonにSIMカード搭載しているので、一般的な携帯電話が使えるエリアならどこに設置しても操作可能。 動画中のスマホはローカルネットワークではなく4G回線経由の操作。 https://t.co/4rs3wfbh3q」 / Twitter
- ReyesTatsuru ShirokuさんはTwitterを使っています: 「ネットから遠隔操作が可能な1/14スケール重機を作りました👷 本日開催された「第19回建設ロボットシンポジウム」の富士建ブースにて出展しました。 静岡の倉庫にあるミニ重機を、福岡のイベント会場から遠隔操作できることを確認しました🙂 (動画は8倍速です。) https://t.co/kUtS8U71f6」 / Twitter
- ReyesTatsuru ShirokuさんはTwitterを使っています: 「ルンバ780(ジャンク品)をヤフオクにて2000円で落札。 なんとか電源は入ったのですが、その場で回るだけで掃除は出来ない子... 故障部品の交換ついでに、カメラとラズパイ載せて新機能を追加! 外出先からスマホで操作したり、充電ステーションへ戻るように指示できます🙂 ※動画は4倍速です https://t.co/KI9n6Vqw6l」 / Twitter
- Ando barioさんはTwitterを使っています: 「昨日買ってきた pi zero w のセットアップしてた。ピンヘッダのハンマー打ちが怖かった...。目当ての webrtc (momo) はすんなり動作。」 / Twitter
- Ando barioさんはTwitterを使っています: 「WebVR+WebRtc(時雨堂さんのOSS momo)の進捗。Raspberry Pi Zero Wで動画をWifiで飛ばして0.31A, さらにモータ一個回して0.41A https://t.co/p9n1zmtpBC」 / Twitter
- Takeshi HASEGAWAさんはTwitterを使っています: 「Raspberry Pi 4 の OTG と CSI-2 経由のビデオキャプチャを使って、リモートにあるコンピュータを操作できるオモチャができた。自宅から、外部にあるマシンを制御している。なお映像部分はMomoとAyameに丸投げ :D https://t.co/AaQovyvk7N」 / Twitter
- (1) ShooさんはTwitterを使っています: 「JETSON nano WebRTC MOMO+ Ayame https://t.co/gflXNfkc3y」 / Twitter
- ReyesTatsuru ShirokuさんはTwitterを使っています: 「さくらインターネットImageFlux Live Streamingトライアルを試してみました。 RaspberryPi 3B+ にて時雨堂のmomoを実行してさくらのサービスに接続してます。 左上がWebRTC配信で約0.3秒、右上がHLS配信で約15秒の遅延となってます。 リアルタイムなWebRTC、大規模配信のHLSと使い分けが楽しそう🙂 https://t.co/8Wfo4aGd2K」 / Twitter
- sublimerさんはTwitterを使っています: 「WebRTC Native Client MomoのコマンドラインオプションをGUI上で設定できるツールを作りました。 https://t.co/KhM8Eynw2P https://t.co/0Mvt3dTKw1」 / Twitter
- うえっち(UeCchi)さんはTwitterを使っています: 「以前TLで見かけたWebRTC Native Client Momoっていうのを試しに動かしてみた https://t.co/mEOa2x3WhR」 / Twitter
- Kazuyuki HondaさんはTwitterを使っています: 「momo と Amazon Kinesis Video Streams with WebRTC が繋がってる証拠写真。右上に写ってるのがラズパイ Zero W。左が AWSマネジメントコンソール。遅延は 350ms くらい。WebRTC にしてはちょっと遅い気もするが、まぁ、リアルタイムと言えなくはないだろう https://t.co/D4PjIoMDYf」 / Twitter
- マッドX ⌘ MAD X ⌘ ドローンVJさんはTwitterを使っています: 「#MADSYSTEM DEGITAL始動!の、スタート台には立てました。時雨堂さんが公開しているOSS(momo)と、Sora-unity-sdk使ってMADSYSTEM上でドローンからのデジタル映像を表示。(真ん中がアナログ、右がデジタル、左下はデジタル拡大) テスト機の振動は自分のせい🙄 #毎日ドローン2020 18/366 https://t.co/GkTyjLeBaX」 / Twitter
- めっしー(d・ิω・ิd)さんはTwitterを使っています: 「時雨堂様のSoraとMomoを利用させて頂いております! https://t.co/vPzbyt6ai8」 / Twitter
- HomeMadeGarbageさんはTwitterを使っています: 「やばい Momo #ラズパイ #raspizero https://t.co/dRnAdbICxm」 / Twitter
- HomeMadeGarbageさんはTwitterを使っています: 「ラズパイZEROでも驚きの低遅延 Momo https://t.co/RpRWf0dbHG https://t.co/6F0HYMzdku」 / Twitter
- kiyoさんはTwitterを使っています: 「遠隔操作ラジコンを作ってみた。 初めて実装したけど、コンテンツが充実していて迷わずできた!遅延が少ないけど視野が狭いので改良しよ。 #webRTC #momo #jetracer https://t.co/UC7ZHYivVy」 / Twitter
- tnohoさんはTwitterを使っています: 「次回リリースに入れられるかな? 専用カメラ利用時の Raspberry Pi Zero からの Momo の WebRTC 配信が常用解像度 720p 30fps になりました! 遅延もちょっと縮んだきがする! https://t.co/tNQFHajF9k」 / Twitter
- Atsushi IzumiharaさんはTwitterを使っています: 「WebRTC Native Client Momo、いいことばっかりだけど、音声系のオプションがオンオフできるのが超超超良い。 https://t.co/9APhfPbO07」 / Twitter
- うえっち(UeCchi)さんはTwitterを使っています 「時雨堂さんのmomoを使ってラジコンの映像を確認出来るようになった https://t.co/lqWc23Tmyu」 / Twitter
- j4amountainさんはTwitterを使っています 「#ウソ穴 Web版の開発状況 A-Frame とストリーミングで仮想的に壁に穴を開けた。ストリーミングに時雨堂さんの momo ayame 使用して動画の遅延ほぼゼロにできた。Firefox対応、Chrome,Safari非対応。 https://t.co/iPopHBqhPw」 / Twitter
- S.FujisakiさんはTwitterを使っています 「遠隔操縦デモ中のミニチュア造成地の様子はラズパイ使ってPCで監視する。 時雨堂さんのmomo最新リリースのバイナリファイルをサクッとコピペ上書きしてテストモードで実行。数分で環境作れて、映像はまったく途切れない。楽すぎる!このリリースでデータチャンネルの入力窓ができてた。 https://t.co/IrVeTrmkSd」 / Twitter
- ReyesT. ShirokuさんはTwitterを使っています 「某所でピッチのついでに東京から静岡のミニ重機動かすデモ。 映像配信には時雨堂さんのmomoとayame使ってます! https://t.co/jQxxhQ6oYL」 / Twitter
- ReyesT. ShirokuさんはTwitterを使っています 「つくばミニメイカーフェア1日目、ドカロボブースM04-08のハイライト👷 静岡県にあるスケール重機を、茨城県つくば市の会場から遠隔操作🤖 みなさん上手に運転してました🎉 2日目の今日は10-17時まで開催してます🙌 重機の映像配信には時雨堂さんのMomoとAyameを使用しております。 #TMMF2020 https://t.co/fQW5C0LVC3」 / Twitter
- kilinさんはTwitterを使っています 「Raspberry PiのHDMI to CSI-2が届いたので、WebRTC Native Client Momo使って映像を流してみた。こんな簡単にWebRTCが出来きるのはありがたい。バッテリで動くのでこのまま持ち出せる。最終的にはカメラのホットシューにマウントさせたいな。 https://t.co/xzoiWhXCej https://t.co/20izyC4R67」 / Twitter
- HomeMadeGarbageさんはTwitterを使っています 「WebRTC Native Client Momo で FPVラジコンを堪能 西松屋のリモコンショベルカー を Amazon でチェック! https://t.co/TWT6UNMt00 ↓詳細はコチラ https://t.co/Z625Vxrb5I https://t.co/O64YfjWMg8」 / Twitter
- ちゅうこさんはTwitterを使っています 「まるで高級ホテルと言われる会社に所属しているので、今日は美少女になり某高級ホテルに出社をしました https://t.co/PsGFn51Dxt」 / Twitter
- ちゅうこさんはTwitterを使っています 「MacのCatalinaを使用しているので、3teneがローカルで動かせませんでした。そのため 1. Android + DroidCamで仮想カメラデバイスを作成し、Desktop Windows機に顔画像を転送 2. Windows機で3teneを使用 3. 3teneの画面をOpenAyameでMacに転送 4. MacのOpenMomoで受信 5. Cam Twistで合成 をしました」 / Twitter
- ちゅうこさんはTwitterを使っています 「HDMIのキャプチャやるのは流石にやりすぎだな…けどどうやって動画を転送しようか、って思った時にWebRTCあるじゃんってことで使ってみました。 https://t.co/VeAFV85Ihb https://t.co/6M2GkZZFS6 開発環境入れてないWindows機だったのでAyame LiteをSignalingサーバーとWebSampleを使用しました。」 / Twitter
- たるこすさんはTwitterを使っています 「JavaScript でジョイスティックの値を取得して、WebRTC のデータチャネル経由で値を送って、momo でシリアルポートに流して、python で ROS メッセージにして流せるようになった。 楽しい」 / Twitter
- たるこすさんはTwitterを使っています 「v4l2loopback 使って任意の画像を /dev/video に流して、さらに momo 使って WebRTC で送れるようになった」 / Twitter
- tnohoさんはTwitterを使っています 「WebRTC Native Client Momo の Jetson Nano 4K 対応が nvidia のサイトに掲載されたのを記念して、Raspberry Pi の H264 ハードウェアデコーダ対応を行いました(╹◡╹) https://t.co/5H8I8W1Onk」 / Twitter
- ぜのさんはTwitterを使っています 「時雨堂さんのmomoとSora Laboを使ってWebRTCでRaspberry Piのカメラの映像をUnityに飛ばせた!! https://t.co/FYAoydBUrT」 / Twitter
- Raspberry Pi 4 と Momo (Ayame Lite) でWebRTC 配信してみる - Qiita
- Kazuyuki HondaさんはTwitterを使っています 「momo (sender) + [go-ayame (pion) + SDL2] (receiver) で完全ブラウザなしで WebRTC が動いているの、ある種の爽快感がある」 / Twitter
- キジカエルさんはTwitterを使っています 「WindowsでWebRTC Native Client Momoを使ってみる - torikiziのブログ https://t.co/BIbZIPBHnv」 / Twitter
- Kazuyuki HondaさんはTwitterを使っています 「pion を使って Ayame の go クライアントが書けた。これで、WebRTC P2P でブラウザや momo と繋いで録画したり、モーション検出とかできてしまう」 / Twitter
- マッドX ⌘ MAD X ⌘ ドローンVJさんはTwitterを使っています 「うむうむ、やっぱこのくらい広角の方がやっぱいいね😊🤣 #webrtc #momo https://t.co/jBONCr1EYh」 / Twitter
- ShooさんはTwitterを使っています 「Tech Shop Tokyoで、WebRTC client MOMO 双方向 with DataChannelのデモを見てきた。@shirokunet作。 https://t.co/UGwITunsTi」 / Twitter
- kiyoさんはTwitterを使っています 「遠隔操作ラジコンを作ってみた。 初めて実装したけど、コンテンツが充実していて迷わずできた!遅延が少ないけど視野が狭いので改良しよ。 #webRTC #momo #jetracer https://t.co/UC7ZHYivVy」 / Twitter
- littlewingさんはTwitterを使っています 「Jetson nano + Azure Kinectから momoをつかって4K WebRTC 配信ができた(P2P) #AKDK #WebRTC #momo #nvidia #jetson Azure Kinect はJetsonのUSB Type-Aからの給電で動作した。Jetson自体は5V4Aのアダプタで給電 https://t.co/aLqbuAE4xM」 / Twitter
- alarkyさんはTwitterを使っています 「Jetson nanoからmomoでのWebRTC配信、4K21fps H.264 10M-25Mbpsくらいで配信できてるな。まだローカルwifiだけど4GLTEでもいける気がする」 / Twitter
- くるてさんはTwitterを使っています 「raspi zeroにWebカメラつないでMomoでWebRTC。非常に手軽で面白い」 / Twitter
- Masanao IgarashiさんはTwitterを使っています 「今日も医療現場の最前線でmomoとayameが、なんのトラブルもなく実直にWebRTCしてました。」 / Twitter
- KentN📶さんはTwitterを使っています 「映像確認は WebRTC Native Client Momo経由 https://t.co/UI8aPWpypV」 / Twitter
- まーくんさんはTwitterを使っています 「WebRTCのMomoを試した。サクッとラズパイのカメラ動画をPCのブラウザから見れて感動したw」 / Twitter
- Horo TsuyoshiさんはTwitterを使っています 「先日、病院にPCR検査を受けに行ったら、血液検査の結果の説明を隣の部屋にいる先生からのPCの画面越しに受けた際に、Momo WebRTC Native Clientが使われててちょっとびっくりした。ちなみに、PCR検査は陰性でした。とりあえず良かった。」 / Twitter
- kilinさんはTwitterを使っています 「うん、実際にarecordコマンドでちゃんとステレオで録音できたし、WebRTC Native Client Momoでも--disable-echo-cancellationでフィルタ切ればステレオで配信された。すげーコスパのいい配信キット作れちゃうなこれで。」 / Twitter
- てるるーさんはTwitterを使っています 「ソニーのアクションカメラFDR-X3000とhttps://t.co/0NQmHbrzro 4Kで、MomoからSORAに繋いで、WebRTC 4K30pが配信出来てるのを確認するおじさんした(直近はFHDでいいんだけど、手元にハードがあったので…」 / Twitter
- HomeMadeGarbageさんはTwitterを使っています 「まだ売ってないし、予約もできないのでマリオカート ライブ を自作しました。 #マリオ マリオカート リモートコントロールカー マリオ を Amazon でチェック! https://t.co/ryoLtFsWO0 ☟詳細はコチラ https://t.co/PxiyqKWjNN https://t.co/bw7lzOwtiz」 / Twitter
- あじのりさんはTwitterを使っています 「3200mAhのモバイルバッテリーにくくりつけて耐久テストやり始めた 計算上およそ10時間くらいは動き続けるはず。 何度も言うが、とんでもないな https://t.co/a9EFyaHA09」 / Twitter
- あじのりさんはTwitterを使っています 「消費電力計測中 前情報通りおよそ5V300mAで動作してる 改めてとんでもないシステムだ。Momoすばら✨✨✨✨ https://t.co/MPAteJnr1n」 / Twitter
- あじのりさんはTwitterを使っています 「Momoをお試しで使ってみてる Raspberry Pi Zeroで300ms前後の遅延で動くっぽい。とんでもないな。。。いったいどうやってこんな早さで動いてるのか謎 https://t.co/dLkO8ME9Fj」 / Twitter
note
- Webrtc(momo)でWindowsの画面配信|tanpoponet|note
- 医療機関向けお手軽テレビ電話システムを構築したお話|tanpoponet|note
- 医療機関向けお手軽テレビ電話システムが超お手軽になったお話|tanpoponet|note
メンテナンス
以下が優先されます
- libwebrtc のバージョンアップへ追従
- OS のバージョンアップへ追従
- ブラウザのバージョンアップへ追従
- 利用ライブラリのバージョンアップへ追従
- WebRTC Signaling Server Ayame のバージョンアップへ追従
- WebRTC SFU Sora のバージョンアップへ追従
- NVIDIA Jetson シリーズへの対応
- NVIDIA VIDEO CODEC SDK への対応
- macOS VideoToolbox への対応
- Intel Media SDK への対応
- Raspberry Pi への対応
ライセンス
WebRTC Native Client Momo のソースコードライセンスは Apache License 2.0 として公開しています。
サポート
無料でのサポート提供は行いません
WebRTC SFU Sora ライセンス契約している場合
有料にて以下の内容を提供可能です。
- Momo のテクニカルサポート
- Momo の OSS 公開前提での機能追加
テクニカルサポートはメニューが決まっているわけではなく、お客様ごとにヒアリングを行い提供します。
まずは Sora サポートまでご連絡ください。
Discord
- アドバイス
- します
- フィードバック
- 歓迎します
- サポート
- しません
最新の状況などは Discord で共有しています。 質疑応答も Discord でのみ受け付けています。
同人誌
進捗
2023-09-28
- Momo 2023.1.0 をリリース
- Raspberry Pi OS 64 bit 対応
- ラズパイ専用カメラ(libcamera) に対応
- V4L2 m2m を利用した H.264 のエンコードとデコードに対応
- Ubuntu 22.04 x86_64 対応
- libwebrtc を m117 に上げる
- Raspberry Pi OS 64 bit 対応
2022-10-21
- Momo 2022.4.1 をリリース
- ubuntu 18.04 の対応終了
- multistream をデフォルトにする
- libwebrtc を m107 に上げる
2022-08-09
- Momo 2022.3.0 をリリース
- https://github.com/shiguredo/momo/releases/tag/2022.3.0
- --multistream のデフォルトを true へ
- macOS x86_64 対応を終了
- libwebrtc を m104 に上げる
- HTTP Proxy 対応
2022-04-25
- Momo 2022.2.0 をリリース
- https://github.com/shiguredo/momo/releases/tag/2022.2.0
- Intel Media SDK に対応
- NVIDIA VIDEO CODEC SDK を利用したハードウェアデコーダーに対応
- libwebrc m102 対応
- クライアント証明書に対応
- バグ修正
2022-03-09
- Momo 2022.1.0 をリリース
- https://github.com/shiguredo/momo/releases/tag/2022.1.0
- libwebrc m99 対応
- バグ修正
2021-12-23
- Momo 2021.6.0 をリリース
- https://github.com/shiguredo/momo/releases/tag/2021.6.0
- Boost 1.78.0
- バグ修正
2021-12-10
- Momo 2021.5.0 をリリース
- https://github.com/shiguredo/momo/releases/tag/2021.5.0
- libwebrtc M97
- Sora モード、クラスター機能対応
2021-09-06
- Momo 2021.4.1 をリリース
- https://github.com/shiguredo/momo/releases/tag/2021.4.1
- libwebrtc M92
- データチャネル対応
- AES-GCM 対応
2021-04-27
- Momo 2021.3 をリリース
- https://github.com/shiguredo/momo/releases/tag/2021.3
- libwebrtc M90
2021-02-13
- Momo 2021.2 をリリース
- https://github.com/shiguredo/momo/releases/tag/2021.2
- libwebrtc M89
2021-01-22
- Momo 2021.1 をリリース
- https://github.com/shiguredo/momo/releases/tag/2021.1
- Apple Silicon に対応しました
2020-12-19
- Momo 2020.11 をリリース
- https://github.com/shiguredo/momo/releases/tag/2020.11
- メトリクス API を追加しました
- thx @hakobera
- libwebrtc M88 最新版に対応しました
2020-11-30
- Momo 2020.10 をリリース
- https://github.com/shiguredo/momo/releases/tag/2020.10
- Jetson Nano の VP8 ハードウェアエンコーダに対応しました
- libwebrtc M88 最新版に対応しました
2020-09-28
- Momo 2020.9 をリリース
- https://github.com/shiguredo/momo/releases/tag/2020.9
- libwebrtc M86 最新版に対応しました
2020-08-09
4K@30fps や 1080p60fps を実現できる機器の紹介を追加。
2020-07-30
- Momo 2020.8.1 をリリース
- https://github.com/shiguredo/momo/releases/tag/2020.8.1
- libwebrtc M85 最新版に対応しました
2034 - WebRTC: usrsctp is called with pointer as network address - project-zero
2020-07-23
- Momo 2020.8 をリリース
- https://github.com/shiguredo/momo/releases/tag/2020.8
- サイマルキャストに対応しました
- NVIDIA Jetson Xavier シリーズの VP9 ハードウェアエンコーダに対応しました
- macOS 版でスクリーンキャプチャに対応しました
- libwebrtc M85 に対応しました
Jetson Nano 用と Jetson Xavier シリーズ用でバイナリを分けました。
2020-06-16
- Momo 2020.7 をリリース
- https://github.com/shiguredo/momo/releases/tag/2020.7
- libwebrtc M84 に対応
- Windows / Linux のスクリーンキャプチャに対応
- Ubuntu 20.04 に対応
- 実験的に Raspberry Pi OS armv8 に対応
2020-04-27
- Momo 2020.6 をリリース
- https://github.com/shiguredo/momo/releases/tag/2020.6
- libwebrtc M84 に対応
- test モードのシグナリングを Ayame 互換にする
2020-04-14
- Momo 2020.5 をリリース
- https://github.com/shiguredo/momo/releases/tag/2020.5
- libwebrtc M83 に対応
- 実験的に AV1 に対応
2020-04-01
- Momo 2020.4 をリリース
- https://github.com/shiguredo/momo/releases/tag/2020.4
- Windows でも
--video-device
を指定できるように - PCMU オーディオコーデックを削除
- Ubuntu 18.04 で
libcuda.so
/libnvcuvid.so
がイントールされていなくても起動するようにする
2020-03-10
- Momo 2020.3 をリリース
- https://github.com/shiguredo/momo/releases/tag/2020.3.1
- Windows / Linux 版の NVIDIA VIDEO CODEC SDK 対応
- Let's Encrypt の CA ハードコード対応
- 証明書指定機能
- 証明書チェック無視機能
- libwebrtc M81 対応
- Raspberry Pi H.264 利用時のリサイズをハードウェア処理に
- Raspberry Pi で SDL / H.264 利用時をハードウェア処理に
- 今回の Windows 版の NVIDIA VIDEO CODEC SDK 対応は スロースネットワークス株式会社 様からの有償での優先実装依頼によって対応しました、ありがとうございます
- 今回の Linux 版の NVIDIA VIDEO CODEC SDK 対応は 株式会社オプティム 様からの有償での優先実装依頼によって対応しました、ありがとうございます
2020-02-15
- Jetson Community Projects | NVIDIA Developer
- NVIDIA の Jetson コミュニティプロジェクトに Momo を掲載していただきました
2020-02-05
- Momo 2020.2 をリリース
- https://github.com/shiguredo/momo/releases/tag/2020.2
- Windows 対応
- CMake 化
- 今回の Windows 版の OSS 化は スロースネットワークス株式会社 様からの有償での優先実装依頼によって対応しました、ありがとうございます。
2020-01-20
- Momo のサイトをリニューアル
- Momo 2020.1 をリリース
- https://github.com/shiguredo/momo/releases/tag/2020.1
- シリアルポートの読み書きがデータチャネル経由で可能になりました
2019-12-22
- Momo 19.12.1 をリリース
- https://github.com/shiguredo/momo/releases/tag/19.12.1
- libwebrtc のビルド済みバイナリを利用するようになっています
2019-12-17
- Momo 19.12.0 をリリース
2019-11-30
- Momo 19.11.1 をリリース
2019-11-27
Raspberry Pi 4 model B での動作を確認しました。
2019-11-11
- Momo 19.11.0 をリリース
- https://github.com/shiguredo/momo/releases/tag/19.11.0
- SDL 対応はまだ含まれていません
2019-11-03
SDL を利用した双方向の仕組みでハードウェアデコーダを利用する Jetson nano 向けバイナリを公開しました
2019-10-18
SDL を利用した双方向の仕組みが利用できる macOS 版バイナリを公開しました。
https://github.com/shiguredo/momo/releases/tag/19.10.0-rc0
以下にまとめてあるので是非どうぞ。
WebRTC Native Client Momo は双方向の夢を見るか - V - Medium
2019-09-25
- Momo 19.09.2 をリリース
2019-09-24
- 事例に追加
2019-09-23
Momo のコア開発者である @tnoho による同人誌が BOOTH にて販売しています。 Momo のカスタマイズ方法について書かれています。興味ある方は是非読んでみてください。
WebRTCをブラウザ外で使ってブラウザでできることを増やしてみませんか?(電子版) - でんでんらぼ - BOOTH
2019-09-22
- Momo 19.09.1 をリリース
- https://github.com/shiguredo/momo/releases/tag/19.09.1
- Jetson Nano への対応
- バイナリも公開しています
2019-09-18
- Jetson Nano 向けのビルド対応を公開しました
- Momo 19.09.1-rc1 をリリース
- https://github.com/shiguredo/momo/releases/tag/19.09.1-rc1
- Jetson Nano への対応
- H.264 ライセンス的に Momo のバイナリ配布が問題ないことわかったため、 macOS 版や Jetson Nano 版のバイナリ公開を開始
2019-09-15
- CI を GitHub Actions へ切り替えました
- @hakobera の PR により対応しました
- shiguredo/momo#98
2019-09-13
- Jetson Nano 向けのビルド対応に着手しました
- すでに Jetson Nano で H.264 + 4K@30 の配信は実現済みです
- ubuntu-18.04_armv8_jetson_nano.tar.gz というパッケージを提供予定です
- make ubuntu-18.04_armv8_jetson_nano.package というビルドコマンドを提供予定です
2019-09-10
- Momo 19.09.0 をリリース
- https://github.com/shiguredo/momo/releases/tag/19.09.0
- Boost 1.71.0 へアップデート
- libwebrtc m78@{#0} へアップデート
- 音声系オプションの追加
--disable-echo-cancellation
エコーキャンセルを無効--disable-auto-gain-control
オートゲインコントロール無効--disable-noise-suppression
ノイズサプレッション無効--disable-highpass-filter
ハイパスフィルター無効--disable-typing-detection
タイピングディテクション無効
- いくつかの修正
2019-08-30
- Momo 19.08.1 をリリース
- https://github.com/shiguredo/momo/releases/tag/19.08.1
- --video-device にて
/dev/video0
のようにデバイスを指定できるようになりました - sora 利用時に metadata を渡せるようになりました
- 事例に追加
- 音声系オプションの追加を検討中です
--disable-echo-cancellation
エコーキャンセルを無効--disable-auto-gain-control
オートゲインコントロール無効--disable-noise-suppression
ノイズサプレッション無効--disable-highpass-filter
ハイパスフィルター無効--disable-typing-detection
タイピングディテクション無効
2019-08-24
Momo をリニューアルして 1 年が経ちました。今後もよろしくおねがいします。
2019-08-20
- Momo 19.08.0 をリリース
2019-08-15
- 事例に追加
2019-08-13
- macOS 版 Momo で VideoToolbox 利用時の解像度変更時に落ちる問題を @hakobera の PR により解決しました
2019-08-09
- macOS でセグフォする問題を @hakobera の PR により解決しました
2019-08-05
- Momo 19.07.1-rc4 のバイナリを公開
- Ayame で momo を起動したあとに映像を受信できない場合が発生するのバグを修正
2019-08-03
develop で macOS 版が動作しなくなっています
- Momo 19.07.1-rc3 のバイナリを公開
- I420 の時にもハードウェアでリサイズする機能を追加
2019-07-29
develop で macOS 版が動作しなくなっています
- Momo 19.07.1-rc2 のバイナリを公開
- Ayame の sdp 交換の際の type が answer 固定になっていたのを修正
- Ayame の candidate 交換の際の JSON スキーマが間違っていたのを修正
- Ayame で peer connection 生成後に createOffer して send する実装が漏れていたので追加
2019-07-25
develop で macOS 版が動作しなくなっています
- Momo 19.07.1-rc1 のバイナリを公開
- Raspberry Pi 向けに --use-native オプションを追加
- USB カメラ用で MJPEG をハードウェアデコードする
- Raspberry Pi 向けに --force-i420 オプションを追加
- Raspberry Pi 専用カメラ用で MJPEG を使えないため HD 以上の解像度でも MJPEG にせず強制的に I420 でキャプチャーする
- Ayame のサブコマンドで client id を optional に指定できるように修正
2019-07-19
- Windows 版 Momo の提供準備を開始
2019-07-18
- Momo 19.07.1-rc0 のバイナリを公開
2019-07-12
- Raspbian を Stretch から Buster に上げる
2019-07-05
- Momo 19.07.0 をリリース
2019-07-03
- Momo 19.07.0-rc2 のバイナリを公開
2019-07-02
- libwebrtc M76.1 に対応しました
2019-07-01
`WebRTC Signaling Server Ayame <https://github.com/OpenAyame/ayame>`_ に対応
利用例:
$ ./momo --no-audio ayame wss://example.com/ws open-momo ayame-client-id
- Momo 19.07.0-rc1 のバイナリを公開
- Windows 版 Momo
- Docker ベースでのビルドに対応
2019-06-25
- Jetson Nano 搭載のハードウェアエンコーダは別途ライセンス契約が必要なためバイナリでの提供は行わない
- ソースコードでのみ提供する
- マクニカ様に問い合わせて回答を頂いた
- NVIDIA Jetson Nano 搭載の H.264/H.265 ハードウェアエンコーダのライセンスについて
2019-06-21
- Windows 版 Momo の広告を追加
2019-06-18
- ハードウェアエンコーダにデコーダをパイプで繋ぐことでの高速化対応
- HDMI to CSI-2 調査
- Raspberry Pi H.264 HWA の MMAL 対応
- Momo 19.07.0-rc0 のバイナリを公開
- 事例を追加
- CircleCI でのビルド対応を開始
2019-06-16
- Momo Windows 版は有料にて提供する方針を明記
2019-06-15
- Raspberry Pi H.264 HWA の MMAL 対応へを開始
- Unified Plan へ対応
- macOS 版 Momo の対応復活
- H.264 の HWA を利用する場合 --fix-resolution が必須
2019-06-11
- libwebrtc M75 にアップデート
- CLI11 を 1.8.0 にアップデート
- Unified Plan への対応を開始
2019-06-01
- Ubuntu 18.04 on ARM64 への対応
2019-05-31
- リリースの負荷を下げるためビルド済みバイナリ提供を Raspberry Pi 向けのみに絞りました
2019-05-25
- 次のリリースに向けたタスクを整理しました
- Jetson Nano (Ubuntu 18.04 on ARM64) 向けバイナリの提供
- Jetson Nano での L4T Multimedia API を利用した H.264 のハードウェアエンコーダへの対応
- libwebrtc M75 への対応
- Unified Plan への対応
- Ayame への対応
- Raspberry Pi 利用時の H.264 HWA への改善
- CLI11 を 1.7.0 にアップデート
- Simulcast への対応を検討し始めました
- rid ベース Simulcast へ検討
- HWA を利用した Simulcast の検討
2019-04-22
- Jetson Nano への対応を開始しました
- Ubuntu 18.04 on ARM64 への対応
- L4T Multimedia API プロジェクトへの開始
2019-04-12
いくつかのサブプロジェクトを立ち上げました
- DataChannel 対応プロジェクト
- L4T MultiMedia API 対応プロジェクト
- スクリーンキャプチャ対応プロジェクト
- WebRTC Signaling Server Ayame 対応プロジェクト
2019-03-30
- Jetson Nano への対応を検討しています
- 4K@30 H.264 のハードウェアエンコードに対応している
- 対応 OS が Ubuntu 18.04 である
- ROS に対応している
2019-03-14
- 19.02.0 をリリースした
- https://github.com/shiguredo/momo/releases/tag/19.02.0
- ROS Audio に対応した
- libwebrtc M73 にアップデート
- いくつかのバグを修正
2019-02-24
- ROS の Audio に対応中
- libwebrtc M73 に対応中
2019-02-06
- macOS の VideoToolbox 対応の Pull-Request をマージした
- tnoho に感謝
- H.264 コーデック利用時に macOS に搭載されているハードウェアエンコーダーを利用する
2019-01-22
- 19.01.0 をリリースした
- https://github.com/shiguredo/momo/releases/tag/19.01.0
- Ubuntu 16.04 ARMv7 ROS に対応した
2019-01-08
- macOS 対応の Pull-Request をマージした
- hakobera (Kazuyuki Honda) に感謝
- H.264 関連の調査が必要なため macOS 版対応のリリースは 19.02 か 19.03 で行う
2018-12-25
- 18.12.0 をリリースした
- ROS Kinetic 対応
- p2p モードの切断後に自動的に window が閉じられないようにする
- Boost 1.69.0 にアップデート
- CLI11 v1.6.2 にアップデート
- JSON v3.4.0 にアップデート
2018-12-07
- ROS 対応版の 18.12 リリースに向けてパッケージ名を整理した
- momo-18.12.0_raspbian-stretch_armv6.tar.gz
- momo-18.12.0_raspbian-stretch_armv7.tar.gz
- momo-18.12.0_ubuntu-18.04_armv8.tar.gz
- momo-18.12.0_ubuntu-18.04_x86_64.tar.gz
- momo-18.12.0_ubuntu-16.04_x86_64.tar.gz
- momo-18.12.0_ubuntu-18.04_x86_64_ros.tar.gz
- momo-18.12.0_ubuntu-16.04_x86_64_ros.tar.gz
- momo-18.12.0_ubuntu-18.04_armv8_ros.tar.gz
- momo-18.12.0_ubuntu-16.04_armv7_ros.tar.gz
2018-12-03
- 18.10.2 をリリースした
- 解像度を固定する --fix-resolution を追加した
- シグナリング時に candidate が重複するバグを修正した
2018-11-28
- ROS ノードとして ROS の usb_cam を利用し MJPEG を受けて P2P または Sora で動作することを確認した
p2p:
./momo image:=/usb_cam/compressed_image/compressed _use_p2p:=true _compressed:=true
sora:
./momo _use_sora:=true _SIGNALING_URL:="wss://sora.example.com/signaling" \ _CHANNEL_ID:="sora" _auto:=true _compressed:=true \ image:=/usb_cam/compressed_image/compressed _video_codec:=H264 \ _resolution:=VGA _video_bitrate:=1000 _audio_codec:=OPUS
- ROS Melodic Morenia と ROS Kinetic Kame の 2 バージョンを提供予定
- Intel QSV の調査を継続中
- 2019 年には Intel QSV を利用した配信を目指す
2018-11-16
- 18.10.1 をリリースした
- websocketpp と civetweb を Boost.beast に置き換えた
- --audio-bitrate を指定した場合正常に動作しない問題を修正した
- p2p モードに --document-root オプションを追加した
- libwebrtc を M71 に上げた
2018-11-13
- websocketpp と civetweb を Boost.beast に置き換えた
- 18.10.1 のリリースに向けて方針を決定
- libwebrtc M71 への対応
- p2p 向けオプションに --document-root を追加
- --metadata を sora のオプションにする
2018-11-05
- ゴールにデバイス選択機能を追加
- ROS 用パッケージ名を何となく決める
- momo-18.10.0_ros_amd64.tar.gz
- momo-18.10.0_ros_arm64.tar.gz
2018-11-03
- ゴールに ROS 対応を追加
- ROS ノードとして Momo が Subscriber としてモーション JPEG を受けて配信できる仕組みを追加
- ROS パッケージを追加することで Momo を簡単に ROS で利用する仕組みを追加
2018-11-01
- ゴールに Intel QSV 向けの VP8 / VP9 への対応を追加
2018-10-29
- 18.10.0 をリリースした
- 18.10.0-rc4 から機能的な変更はない
- Release 18.10.0 · shiguredo/momo
2018-10-26
- 18.10.0-rc4 をリリースした
- 4K での配信に対応した
- Release 18.10.0-rc4 · shiguredo/momo
2018-10-22
- 18.10.0-rc3 をリリースした
- バージョン情報を MOMO_VERSION に指定したら momo のバイナリの --version も反映するようにする
- --metadata の引数は JSON のみを指定できるようにする
- Release 18.10.0-rc3 · shiguredo/momo
2018-10-19
- 18.10.0-rc2 をリリースした
- P2P で音声配信が動作しなかったものを修正した
- 解像度指定から 4K を削除した
- 対応するには libwebrtc 側にパッチを当てる必要がある
- Release 18.10.0-rc2 · shiguredo/momo
2018-10-17
- 18.10.0-rc1 をリリースした
- バイナリのサイズが半分になった
- Release 18.10.0-rc1 · shiguredo/momo
2018-10-11
- ソースコードを Apache License 2.0 で公開した
- 18.10.0-rc0 をリリースした
- Discord に OpenMomo サーバを立てた
2018-10-02
- --resolution で解像度を指定できるオプションを追加した
- --framerate でフレームレートを指定できるオプションを追加した
- --priority で解像度かフレームレートかを優先できるオプションを追加した
- デフォルトはバランスを取るりますがこの機能はリリース段階で実験的機能です
- --no-video でビデオを無効にするオプションを追加した
- --no-audio でオーディオを無効にするオプションを追加した
2018-09-28
- Ubuntu ARM64 対応機種に Rock64(PINE64) を追加した
2018-09-25
- libwebrtc M70 に追従した
2018-09-20
- Momo のコマンドライン引数をひとまず実装した
2018-09-17
- libwebrtc M69 に追従した
2018-09-16
- Ubuntu 16.04 向け ARMv8 (ARM64) ビルドに成功した
- 生成されたバイナリの file コマンド結果を公開した
2018-09-12
- Ubuntu 16.04 向け ARMv8 (ARM64) 対応をゴールに追加した
2018-09-02
- Ubuntu 18.04 x86_64 向けビルドに対応した
- Momo のコマンドライン引数を決めた
2018-09-01
- macOS 10.13 向けビルドに対応した
- Raspberry Pi 3 B/B+ (ARMv8) 向けを libwebrtc M69 に対応した
2018-08-31
- Docker を利用して Raspberry Pi Zero 向けの H.264 ハードウェアエンコーダー対応ビルドが可能になった
2018-08-30
- Raspberry Pi Zero 向けの H.264 ハードウェアエンコーダに対応した
- 提供予定のバイナリの名前を決めた
- momo-18.10.0_ubuntu_x86_64.tar.gz
- Ubuntu 18.04
- momo-18.10.0_ubuntu_armv8.tar.gz
- Ubuntu 16.04
- momo-18.10.0_macos_x86_64.zip
- macOS 10.13
- momo-18.10.0_raspbian_armv7.tar.gz
- Raspbian June 2018
- Raspberry Pi 3 B/B+
- momo-18.10.0_raspbian_armv6.tar.gz
- Raspbian June 2018
- Raspberry Pi Zero H/HW
- momo-18.10.0_ubuntu_x86_64.tar.gz
2018-08-28
- Raspberry Pi 3 向けの H.264 ハードウェアエンコーダに対応した
- Docker を利用して Raspberry Pi 3 向けの H.264 ハードウェアエンコーダー対応ビルドが可能になった
2018-08-25
- Docker を利用して Raspberry Pi 3 向けのビルドが可能になった
2018-08-24
- OpenMomo プロジェクトを公開した
- OpenMomo に向けて Momo 2.0 のコードを整理
- Raspberry Pi 3 向けのビルドの整理
広告
WebRTC SFU Sora
商用の WebRTC SFU です。価格は同時 100 接続でライセンス費用は 1 年で 84 万円です。 3 ヶ月ライセンスも用意してあります。製品のサポート料金込みです。
複数人数での会議や、 1500 人への配信、一対一の面談など様々な用途に利用可能です。
パッケージで提供しますので、自社で運用が可能です。 AWS だろうが GCP だろうが、オンプレだろうがなんでも好きな環境で動かすことができます。
サーバさえあれば Nginx の設定と Let's Encrypt での証明書取得まで含めて 1 時間で可能です。 HTTPS が必須なのでその準備が必要ですがそれさえ対応できればすぐ確認可能です。
- 大変多くのお客様に採用いただいております
- とにかく 落ちないこと を目的に作っています
- とにかく 繋がること を目的に作っています
- とにかく 手間がかからないこと を目的に作っています
- 最新ブラウザのアップデートに追従しています
- シグナリングサーバ内蔵ですので別途立てる必要はありません
- TURN サーバ内蔵ですので別途立てる必要ありません
- 日本語によるサポート対応しています
- フルスクラッチによる自前実装なのですべて把握しています
- 1:1 の双方向に対応しています
- 1:1000 の片方向に対応しています
- 3:1000 といった配信者が複数の片方向にも対応しています
- 4K 30fps の配信も可能です
- スポットライトという機能を利用することで 200 人以上の会議に対応しています
- 録画機能があります
- Chrome / Firefox / Edge / Safari といった主要ブラウザ全てに対応しています
- Apache 2.0 ライセンスで JavaScript と iOS と Android 、Unity のクライアント SDK を公開しています
- 既存システムとの連携を重視しており、Web フック機能を利用して簡単に連携が可能です
- 認証や、クライアントの接続切断などもすべて HTTP での通知を既存のシステムに送ることができます
- Apache 2.0 ライセンスで Sora 専用負荷試験ツールをオープンソースとして公開しています
- Apache 2.0 ライセンスで Sora 専用録画合成ツールをオープンソースとして公開しています
興味のある方はお気軽に sora at shiguredo.jp までお問い合わせください。
紹介や検討資料も公開しております。
WebRTC Native Client Momo
GitHub にオープンソースで公開している WebRTC のネイティブクライアントです。 Linux と macOS と Windows で動作します。
- OpenMomo プロジェクト
- ライセンスは Apache License 2.0 です
- 多くの端末のハードウェアエンコーダに対応しています
- Raspberry Pi Zero という非力デバイスでも H.264 ハードウェアエンコーダを利用し 720p@30 で配信可能です
- Jetson Nano ではハードウェアエンコーダを利用することで 4K@30 で配信可能です
- macOS でもハードウェアエンコーダを利用して動作します
- SDL (Simple DyanmicMedia Layer) を利用することで受信した音声と映像を表示する機能を持っています
WebRTC Signaling Server Ayame
GitHub にオープンソースで公開している WebRTC のシグナリングサーバです。 Linux と macOS と Windows で動作します。
- OpenAyame プロジェクト
- ライセンスは Apache License 2.0 です
- 1:1 に特化させることでシンプルを保っています
- 認証 / 認可の仕組みをウェブフックで実現しています
- TURN の URL と Username / Credential 払い出しに対応しています
- Apache 2.0 ライセンスで Web と Android の SDK を公開しています
- iOS や Unity 対応も今後予定しています
- OpenAyame/ayame-web-sdk: Ayame Web SDK
- OpenAyame/ayame-android-sdk: Ayame Android SDK
- Chrome / Firefox / Safari / Edge 最新版に対応
Ayame Labo
Ayame を時雨堂がサービスとして提供しています。
- 無料で使えます
- サインアップしないでも使えます
- ただし TURN や認証機能などは利用できません
- GitHub アカウントを持っていればすぐに利用できます
- TURN の UDP / TCP / TLS を提供します
- ルームに認証をかけられます
- シグナリングキーを提供します
- 認証ログを確認できます
Sora Labo
商用製品の WebRTC SFU Sora を時雨堂が検証目的で無料で使えるサービスを提供しています。
- 無料で利用可能です
- 商用目的では使えません
- すぐに試せるサンプルも用意してあります
- GitHub アカウントを持っていればすぐに利用できます
- TURN の UDP / TCP / TLS を提供します
- チャネルに認証をかけられます
- シグナリングキーを提供します
- 同時接続数制限があります
- 認証ログを確認できます
- 統計情報を確認できます