🛵

ラズパイゼロとmomoでPeer to Peerのライブ配信を行う

2023/04/11に公開

前回の記事の続きです。

さらにコンパクトなライブ配信機器

コンパクトなライブ配信機器を作るならば、ラズパイゼロとCSIカメラです。
純正ケースに入れるとこうなります。

カメラの向きはこのようにしないといけないので、大きな洗濯バサミで固定しています。
(以前は90度単位で角度を変えることが簡単にできたのですが、ラズパイのカメラのライブラリが刷新されたときに回転の指定は0度と180度しかできなくなってしまいました。)

電源は5V2Aでよいので、少し古いモバイルバッテリーでもいけます。そうすると移動するものに取り付けてライブ配信することもできますね。

今回使用したのはラズパイゼロ2ではなくて、初代のラズパイゼロです。カメラモジュールも初代のものです。
momoはarmv6用にビルドされたものを使用します。

momoのオプション

momoはカメラの入力をデフォルトでmjpegで扱いますが、ラズパイ用CSIカメラではI420のフォーマットも扱うことができ、これのほうがmjpegのエンコード、デコードを省略できるので処理に余裕ができ、mjpegに起因する画質の劣化も避けられます。このために --force-i420 のオプションをつけます。

使用するスクリプトはこちら。

#!/bin/sh -x

ROOM_ID=your-room-id
SIGNALING_URL=wss://ayame-labo.shiguredo.app/signaling
SIGNALING_KEY=your-signaling-key-xxxx-yyyy

../current/momo --no-audio-device --log-level 2 \
	--video-device /dev/video0 --force-i420 --resolution 960x540 --framerate 15 --hw-mjpeg-decoder false \
	ayame --signaling-url $SIGNALING_URL --room-id $ROOM_ID --signaling-key $SIGNALING_KEY

sleep 10

ROOM_IDSIGNALING_KEYは自分で使用するものに差し替えてください。

関連

https://zenn.dev/tetsu_koba/articles/9361c3fd116110

Discussion