mjpg-streamerを使ってストリーミング配信
Raspberry Pi Camera Module V2が動くようになったので、今回はmjpg-streamerを使ってストリーミング配信ができるようにする。
インストール
READMEに沿ってインストール
確認
./mjpg_streamer -o "output_http.so -w ./www" -i "input_raspicam.so"
http://{host}:8080 でサンプルページが見れるようになった。
自動起動設定
SD書き込みをなくすためにtmpfsになっている/tmp以下にmjpg_streamerを配置するようにする。
- 起動時にmjpg_streamerをコピーするように/etc/rc.localに記述。
cp -r /home/pi/mjpg-streamer/mjpg-streamer-experimental /tmp/mjpg-streamer
exit 0
- mjpg_streamer用のsystemd設定ファイルを追加
# /etc/systemd/system/mjpg_streamer.service
[Unit]
Description = mjpg-streamer
After=rc-local.service
[Service]
WorkingDirectory=/tmp/mjpg-streamer/
ExecStart=/tmp/mjpg-streamer/mjpg_streamer -o "output_http.so -w ./www" -i "input_raspicam.so"
Type=fork
Restart=always
EnvironmentFile=/etc/sysconfig/root
[Install]
WantedBy=multi-user.target
- 環境変数としてLD_LIBRARY_PATHを設定
# /etc/sysconfig/root
LD_LIBRARY_PATH=/tmp/mjpg-streamer
- 自動起動設定
sudo systemctl daemon-reload
sudo systemctl enable mjpg_streamer
sudo reboot
これで再起動後に http://{host}:8080 が見れればOK。
HTTP output pluginを利用
Advanced compilationにHTTPでカメラ操作ができるようになるオプションがあるがinput_raspicamでは対応していないとのこと。
input_uvcを使えば操作できるとのことだったので、起動コマンドを↓に変更する。
/tmp/mjpg-streamer/mjpg_streamer -o "output_http.so -w ./www" -i "input_uvc.so -d /dev/video0 -n"
これでブラウザからカメラ設定を変更できるようになった。
参考
- [my service is not starting at power up [solved] - Raspberry Pi Forums](https://www.raspberrypi.org/forums/viewtopic.php?t=240583)