Run WebRTC Native Client Momo on Raspberry Pi 3B

Goal

Download momo binary and run on Raspberry Pi 3B to see a Pi’s camera image on Host PC.

Environment

  • Server: Raspberry Pi 3B
  • Client: X220 (Ubuntu 18.04)
  • Momo: 19.07.0-rc0

Setup Camera

  • Connect a camera to Pi
  • $ vcgencmd get_camera
    • supported=1 detected=1 # Should be like this

Setup Library

  • $ sudo apt-get install libnspr4 libnss3
  • $ sudo modprobe bcm2835-v4l2
  • $ sudo vi /etc/modules
    • bcm2835-v4l2 # For Using Raspberry Pi Camera
  • $ sudo reboot

Check IP address

  • $ ifconfig
    • wlan0: flags=4163 mtu 1500
    • inet 10.0.0.88 netmask 255.255.255.0 broadcast 10.0.0.255

Get momo

  • $ wget https://github.com/shiguredo/momo/releases/download/19.07.0-rc0/momo-19.07.0-rc0_raspbian-stretch_armv7.tar.gz
    • You can see newest version at here.
      • Raspbian Stretch ARMv7
        • For Raspberry Pi 3 B/B+
      • Raspbian Stretch ARMv6
        • For Raspberry Pi Zero W/WH
  • $ tar xvzf momo-19.07.0-rc0_raspbian-stretch_armv7.tar.gz
  • $ sudo rm -r momo-19.07.0-rc0_raspbian-stretch_armv7.tar.gz

Run momo

  • $ cd momo-19.07.0-rc0_raspbian-stretch_armv7/
  • $ ./momo --version
    • WebRTC Native Client Momo version 19.07.0-rc0 USE_MMAL_ENCODER=1
  • $ ./momo --help
  • $ ./momo --no-audio --resolution HD --framerate 30 p2p

Acces

Benchmark

The delay is about 100~300msec.

momo 19.02.0

momo 19.07.0-rc0

My Note

  • According to the wiki,
    • RPi 3 Model B is ARMv8-A (64/32-bit).
    • RPi zero is ARMv6Z (32-bit)
  • However if we run the command on Pi 3B,
    • $ lscpu
      • Architecture: armv7l
      • Byte Order: Little Endian
      • CPU(s): 4
      • On-line CPU(s) list: 0-3
      • Thread(s) per core: 1
      • Core(s) per socket: 4
      • Socket(s): 1
      • Model: 4
      • Model name: ARMv7 Processor rev 4 (v7l)
      • CPU max MHz: 1200.0000
      • CPU min MHz: 600.0000
      • BogoMIPS: 38.40
      • Flags: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
  • Which mean Pi 3B is not compatible ARMv8 yet.

Reference



Comments

Leave a Reply

Your email address will not be published. Required fields are marked *