3
Help us understand the problem. What are the problem?

posted at

WebRTC Native Client Momoの低遅延配信を Raspi 4 でためす

SS 192.png  ばくそくだったよ。

やること

ロボットを遠隔操作する場合などにリモートカメラを利用したくなります。
手軽に低遅延の画像配信を実現できるWebRTC Native Client Momoというソフトがラズパイで使えるということなのでデモを試してみました。オープンソースとのことです。すごい。爆速。

公式サイト

必要なことは公式サイトや公式ドキュメントに書いてあります。
公式のドキュメントを見れば大丈夫のハズ・・・ですが永遠の初心者である自分はつまづきました。ので導入メモを残しておきます。

環境

  • Raspberry Pi 4 (OS : Raspbian buster)
  • Raspberry Pi カメラモジュール V2 導入済み
  • ラズパイとPCが同じwifiルーターにつながっている

DEMOを達成するまでの導入メモ

まず、ラズパイのターミナルで下記を1行ずつ実行します。
ルートディレクトリでファイル操作の作業をしますので自己責任にてお願いいたします。

カメラの確認

カメラモジュールの動作確認はこちらが参考になります。
別途USBカメラを使う場合には、公式ドキュメントにしたがって下記を読み替えてください。

ラズパイ側の作業

raspi
cd / #ルートディレクトリに移動。ここ大事。
sudo wget https://github.com/shiguredo/momo/releases/download/2021.2.3/momo-2021.2.3_raspberry-pi-os_armv7.tar.gz
sudo tar -zxvf momo-2021.2.3_raspberry-pi-os_armv7.tar.gz
sudo mv momo-2021.2.3_raspberry-pi-os_armv7/* ./
sudo rm -r momo-2021.2.3_raspberry-pi-os_armv7
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libnspr4 libnss3
sudo modprobe bcm2835-v4l2 max_video_width=2592 max_video_height=1944
sudo ./momo --force-i420 --no-audio-device test #実行

2行目でラズパイ4用(2と3もOK)のファイルを取得しています。(URLは2021年4月27日現在のものです。)
最新のバージョンやラズパイZero,1の場合などは下記からDLするかURLを置き換えてください。
https://github.com/shiguredo/momo/releases

上記の作業をすべてルートディレクトリで行うのがポイントです。

最後の行を実行すると、配信が始まります。

ラズパイのIPアドレスを調べる

右上の電波マークの上にマウスオーバーするとwlan0:Configuredのところにラズパイ自身のIPアドレスが出ます。
もしくはターミナルでifconfigを実行し、wran0:のinetの項目を調べてもOKです。
IPアドレスを控えます。

PC側の作業

PCでブラウザを開き、アドレスバーに

http://<今調べたラズパイのIPアドレス>:8080/home/html/test.html

と入力します。
http:// なので、https://にならないように注意してください。(ブラウザによっては勝手にsが入力されるかもしれません。)

ブラウザにこのように表示されたらサーバーへの接続は成功です。

開通!

最後にブラウザの「Connect」ボタンを押します。カメラの画像が現れたら大成功です。

おつかれさまでした!
このソフトの凄さは古くから遠隔カメラ操作で苦労してきた人ならきっとわかるハズ。
インターネット経由はもちろん、双方向通信などもできるようです。すごい。

動画も置いておきます。ループしたPC画面が映り込んでいるのでスピード感が遅い感じにみえるかもしれませんが、マリオカートライブぐらいの走行スピードであればストレスなく楽しめそうな気がします。

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
3
Help us understand the problem. What are the problem?