【ラズパイDIY講座】ラズパイゼロで作る監視カメラ④ 〜 軽量なWebRTCクライアント Momoで監視カメラを構築する
※ 当ページには【広告/PR】を含む場合があります。
2021/07/20
Momoをラズパイゼロに導入する
$ mkdir momo && cd momo
$ wget https://github.com/shiguredo/momo/releases/download/[バージョンの選択]_raspberry-pi-os_armv6.tar.gz
$ tar -xzf [バージョン]_raspberry-pi-os_armv6.tar.gz
$ mv [バージョン]_raspberry-pi-os_armv6/* .
$ rm -rf [バージョン]_raspberry-pi-os_armv6*
$ ls
html LICENSE momo NOTICE
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install libnspr4 libnss3 libsdl2-dev
Momoの動作確認
$ sudo raspi-config
#👇以下の設定に進んで有効にする
3 Interface Options Configure connections to peripherals
> P1 Camera Enable/disable connection to the Raspberry Pi Camera
> Would you like the camera interface to be enabled?
> <Yes>
$ sudo modprobe bcm2835-v4l2 max_video_width=2592 max_video_height=1944
+ テストモード:
Momo自体に内蔵されているシグナリング機能を利用する。
+ Ayameモード:
別プログラム・WebRTCシグナリングサーバAyameを利用して、
Momoとクライアント間で、1:1送受信する。
+ Sora モード:
別プログラム・WebRTC SFU Soraを使って、
Momoとクライアント間で、1:1+送受信する。
$ ./momo --log-level 0 --no-audio-device test
[000:000][477] (v4l2_video_capturer.cpp:76): GetDeviceName(0): device_name=mmal service 16.1, unique_name=platform:bcm2835-v4l2-0
[000:026][477] (v4l2_video_capturer.cpp:76): GetDeviceName(1): device_name=bcm2835-isp, unique_name=platform:bcm2835-isp
[000:034][477] (v4l2_video_capturer.cpp:76): GetDeviceName(2): device_name=bcm2835-isp, unique_name=platform:bcm2835-isp
#...中略
[001:140][480] (agc_manager_direct.cc:68): [agc] GetMinMicLevel
[001:141][480] (agc_manager_direct.cc:72): [agc] Using default min mic level: 12
[001:154][481] (thread.cc:688): Message to Thread 0x0x27405d8 took 202ms to dispatch. Posted from: PostTask@../../../_source/raspberry-pi-os_armv6/webrtc/src/rtc_base/thread.cc:1059
[001:156][480] (thread.cc:688): Message to Thread 0x0x2741590 took 166ms to dispatch. Posted from: PostTask@../../../_source/raspberry-pi-os_armv6/webrtc/src/rtc_base/thread.cc:1059
#...
momoのエイリアスを付ける
./momo
$ nano ~/.bashrc
#...略
#Momo alias
alias momo='<momoの実行ファイルを置いた場所>/momo'
$ source ~/.bashrc
$ momo --version
WebRTC Native Client Momo 2021.3 (1334a266)
WebRTC: Shiguredo-Build M90.4430@{#3} (90.4430.3.1 dee77cf2)
Environment: [armv6l] Raspbian GNU/Linux 10 (buster)
USE_MMAL_ENCODER=1
USE_JETSON_ENCODER=0
USE_NVCODEC_ENCODER=0
USE_SDL2=0
Monoのテストモードで確認
192.168.0.123
http://192.168.0.123:8080/html/test.html
まとめ
参考サイト
記事を書いた人
ナンデモ系エンジニア
電子工作を身近に知っていただけるように、材料調達からDIYのハウツーまで気になったところをできるだけ細かく記事にしてブログ配信してます。
カテゴリー