raspberry pi でよく使われているライブカメラ用ソフトはmotion、mjpg-streamerあたりだろうか。
ペット監視用カメラを作る際にRpiZeroを用いてこれらを使用したが、motionはfpsでなくてカクカク、mjpg-streamerは15fpsぐらいまでは出るが高負荷でチラつきが発生するので使用を断念した。
最終的にはh264ストリーミングが可能なv4l2rtspserverを使用することにした。WindowsMPCで再生して遅延は0.5秒程度、fpsも30で安定しているので満足。マイクがあれば音声も一緒にストリーミング可能だ。(音声不要ならブラウザから操作できるRpi-Web-Cam-Interfaceもオススメ。ほぼリアルタイムでブラウザ上で録画、静止画撮影、動体検知も可能。motion+mjpg-streamerみたいな感じ)
以下v4l2rtspserverインストール手順
・コンパイルに必要なものをインストール(カメラの初期設定は省略)
sudo apt-get install liblivemedia-dev libv4l-dev sudo apt-get install libasound2-dev (音声ストリーミングする際に必要)
・v4l2rtspserver落としてコンパイル
git clone https://github.com/mpromonet/v4l2rtspserver.git cd v4l2rtspserver cmake . && make
・実行する(コマンド一覧)
./v4l2rtspserver/v4l2rtspserver -F 15 -W 1440 -H 1080 -P 8080
以上。
・自動起動したい場合はsystemdを使う。
#/etc/systemd/system/v4l2rtspserver.service [Unit] Description=v4l2rtspserver rtsp streaming server After=network.target [Service] ExecStartPre=/usr/bin/v4l2-ctl --set-ctrl horizontal_flip=0,vertical_flip=0,video_bitrate=10000000,brightness=50,white_balance_auto_preset=7,saturation=30 ExecStart=/home/pi/v4l2rtspserver/v4l2rtspserver -F 15 -W 1440 -H 1080 -P 8080 Type=simple User=root Group=video Restart=always [Install] WantedBy=multi-user.target
※上記例では起動前にExecStartPreでv4l2の設定を行っている。v4l2-ctl –list-ctrlsで設定可能な項目を確認できる。輝度、コントラスト、画面の回転、ビットレートなどの指定ができる。
・サービス登録
sudo systemctl enable v4l2rtspserver.service