Jetson NanoでWebRTC Native Client Momoを使ってみる

これはWebRTC Native Client MomoをJetson Nanoで動かした手順をまとめた記事です。

目次

GitHubへのリンク

github.com

Jetson Nano向けのドキュメントはこちら

https://github.com/shiguredo/momo/blob/develop/doc/USE_JETSON_NANO.mdgithub.com

この記事はどこまで?

環境構築をして、Webカメラに映像が映るのを確認するまでです。

事前の事前(Jetson Nanoのセットアップ)

こちらが参考になりました。
 ・Jetson Nanoのセットアップ - Qiita
 ・第1回ゼロから始めるJetson : nanoセットアップからUbuntのGUIウィンドウまで|デジタルライト(Digital-light.jp)

USBカメラは今回は720pのカメラを使っています。
www.logicool.co.jp

4Kカメラも使いたいのでそちらは入手したら更新します。

事前準備

準備完了から動かすまで

接続先はSora Laboを使う

前回のUnitySDKでもお世話になったので今回もSora Laboを使います。
気軽に試せる環境があるのは非常に楽でよいです。
sora-labo.shiguredo.jp

Sora Laboの使い方

- Sora Labo は商用目的で利用可能ですか?
  - 商用目的での利用できません
- Sora Labo をサービスに利用可能ですか?
  - Sora Labo は検証目的以外では利用できません
- Sora Labo は法人や個人事業主で利用できますか?
  - 法人や個人事業主での利用は申請が必須です
- Sora Labo はアカデミックで利用可能ですか?
  - アカデミックでの利用は申請が必須です
- 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": "シグナリングキーをここに設定"}'

僕が実際に入力したターミナルの画面はこんな感じ。
f:id:torikizi:20191218232111j:plain

動いた

Jetson Nanoのカメラでモニターの映像を動かしているのをWindowsで接続したSoraLaboで確認。
左側がSoraLabo経由で見た画面で、右側がブラウザで直に見ている動画です。
Image from Gyazo

おわりに

Jetson nanoのセットアップを含めるとそれなりに時間がかかってしまいましたが、
それを除けばUSBをつないでダウンロードしてくればすぐに使うことができました。