WindowsでWebRTC Native Client Momoを使ってみる
これはWebRTC Native Client MomoをWindowsで動かした手順をまとめた記事です。
※手順については開発が進んだ段階で変更となるかもしれませんので現時点でのものとご理解ください。
目次
GitHubへのリンク
※Defaultのブランチを使わない点に注意(feature/cmakeを使う) github.com
02/06 update
単純にWindowsで動かしてみたい場合は以下リンクのReleaseから「momo-2020.2.1_windows-10.1809.zip」を取得して実行するのが良いです。
github.com
参考
セットアップの参考 https://github.com/shiguredo/momo/blob/feature/cmake/doc/SETUP_WINDOWS.md
実行の参考 https://github.com/shiguredo/momo/blob/feature/cmake/doc/USE_TEST.md
この記事はどこまで?
環境構築をして、Webカメラに映像が映るのを確認するまでです。
実行環境
今回はWebカメラ搭載のノートパソコンで実施しました。
Windowsのバージョンはこんな感じ。
手持ちハードの都合上ゲーミングですが、そこまでハイスペックでなくても大丈夫かと思います。
映像配信なのでintel系CPUであることと、NVIDIAのグラフィックボードを搭載しているのが望ましそうです。
事前の事前準備
CMakeのインストール cmake.org
VisualStudio2019のインストール MSBuildはインストールしておくほうが良い。C++に関連する要素はインストール時に選択する。
7zipのインストール インストールしてパスを通しておく必要があります。
Make for Windowsのインストール 僕はほかの環境と同等のコマンドを使いたいのでインストールしました。
gnuwin32.sourceforge.netGitBashのインストール Windowsでgitを使うときに一緒に入れることができるあれです。
cmdやpowershellだとエスケープシーケンスを考えないといけないのでこっちを使ってます。
gitforwindows.org
事前準備
- gitコマンドを使ってクローンする
コマンド:git clone -b feature/cmake clone用のリンク
ビルドする
~\momo\buildの中にあるbuild.bat
を実行してビルドします。
ここでこける場合は、CMakeのパスが通ってないとか事前準備に失敗してしまっている場合が多いです。
動かすまで
接続先はSora Laboを使う
気軽に試せる環境であるところのSora Laboを使います。
sora-labo.shiguredo.jp
Sora Laboの使い方
GitHub アカウントでサインアップまたはサインインする
でログイン- ドキュメントに必ず目を通すように書いてあるので読む
特にこのあたりは注意が必要
- Sora Labo は商用目的で利用可能ですか? - 商用目的での利用できません - Sora Labo をサービスに利用可能ですか? - Sora Labo は検証目的以外では利用できません - Sora Labo は法人や個人事業主で利用できますか? - 法人や個人事業主での利用は申請が必須です - Sora Labo はアカデミックで利用可能ですか? - アカデミックでの利用は申請が必須です - Sora Labo は長時間接続しても問題ありませんか? - 長時間接続の利用は申請をお願いします
- Sora Laboのシグナリングキーをコピーして、
実行コマンド
のSignaling Key
に張り付ける Channel Id
はGithubID@のあと適当につけてOKっぽい。
例えばtorikiziがgithubIDならtorikizi@rtc-test
みたいな感じ。
詳細は「GitHub - shiguredo/sora-labo-doc: Sora Labo ドキュメント」
実行はこんなコマンドを使う
※使っているterminalでmomoを格納したフォルダに移動する
./momo --resolution VGA --no-audio --port 0 --use-sdl --show-me sora --auto --video-codec H264 --video-bitrate 1000 wss://sora-labo.shiguredo.jp/signaling "Channel IDをここに設定" --multistream --role upstream --metadata '{"signaling_key": "シグナリングキーをここに設定"}'
Windowsの仕様に注意したい。 cmdやPowerShellを使っている場合シグナリングキーを指定している場所をエスケープしてあげないとうまく動かないことがあります。 参考 https://qiita.com/tokoroten-lab/items/291b463e45f422abd425
動いた
WindowsのWebカメラで撮影したものをMacで接続したSoraLaboで確認。
おわりに
パッと見Windowsはほかの環境と違い環境構築にハードルがあるかもしれませんが、基本的にはビルドに必要なものさえ用意できていればバッチ一つでビルド完了まで行くので楽でした。
Windowsのパス指定最大値問題があるので、ショートカットでパラメータを含めた起動にするよりはmakeを使って他のコマンドと同等に実行するのが今のところは良さそうに思いました。
また、Windowsのpowershellとコマンドプロンプトの仕様でjson部分の指定をする時にはエスケープの指定をしてあげる必要があったりと詰まるポイントは多そうです。
今後何か変更があれば手順は更新していきたいなと思います。