はじめに
Raspberry Pi 4 と Momo (Ayame Lite) でWebRTC配信します。
ウソ穴 のWeb版で使用させて頂きたくて、使い方を調べました。
#ウソ穴 Web版の開発状況
— j4amountain (@zsipparu) February 9, 2020
A-Frame とストリーミングで仮想的に壁に穴を開けた。ストリーミングに時雨堂さんの momo ayame 使用して動画の遅延ほぼゼロにできた。Firefox対応、Chrome,Safari非対応。 pic.twitter.com/iPopHBqhPw
参考
こちらのサイトの情報を参考にさせて頂きました(ほぼそのまま使わせて頂きました)
概要図
概要は(多分)こんな感じです。

カメラについて
Raspberry Pi 4 に接続したカメラはこちら

構築
では、作っていきます。ラズパイにssh接続してコマンドベースで構築していきます。
momo-19.12.1_raspbian-buster_armv7.tar.gz ダウンロードします
$ wget https://github.com/shiguredo/momo/releases/download/19.12.1/momo-19.12.1_raspbian-buster_armv7.tar.gz
ダウンロードしたファイルを解凍します
$ tar -zxvf momo-19.12.1_raspbian-buster_armv7.tar.gz
はい、これで準備完了(はやっ!)
起動
では、さっそく起動します
$ cd momo-19.12.1_raspbian-buster_armv7/
$ pwd
/home/xxx/momo-19.12.1_raspbian-buster_armv7
$ ls
LICENSE NOTICE html momo
$ ./momo --no-audio ayame wss://ayame-lite.shiguredo.jp/signaling momo-ayame-00000001
※ momo-ayame-00000001
はルームIDです。任意の文字列を指定できます。
はい、起動しました(はやっ! 2回目)
動作確認
Windows10で、以下のサイトをブラウザで開き Momoからの映像を確認します。
https://openayame.github.io/ayame-web-sdk-samples/recvonly.html?roomId=momo-ayame-00000001
ルームIDを起動時と同じ文字列(今回はmomo-ayame-00000001
)にして、接続ボタンを押し、映像が表示されたら成功です。(クライアントIDは変更なしでOK)

注意
ayameは、WebRTCでP2Pの通信を行うためのシグナリングサーバなので、配信映像を複数で受信はできません(Momoの別機能で実現できるみたいです)
おまけ
recvonly.htmlを自サイトに置きたい場合は、以下から取得します。
https://github.com/OpenAyame/ayame-web-sdk-samples
ここから、以下2つを自作Webサーバーに置けば動きます。
- recvonly.html
- main.js
さいごに
セットアップが簡単でびっくりしました。映像も遅延がほぼ無くて、体感的にはほとんど遅延をかんじませんでした。すごい