はじめに
mjpg-streamerを利用しストリーミング配信を行い、ネットワークを介して映像視聴を行います
必要なもの&前提条件
- 必要なもの
- Rasberry pi 4
- microSD(OSインストール用)
- Raspberry Pi カメラモジュール V2.1
- パソコン(ストリーミング配信)
- 前提条件
- Wifi環境及びインターネット環境
- Rasberry piのOS初期セットアップ済
(Wifi環境へ接続済、インターネットへ接続可) - Rasberry piへカメラモジュール接続済
基本ソフトウエア更新
インストール可能なパッケージの「一覧」を更新
インストール済みのパッケージ更新をおこない、新しいバージョンにアップグレード
$ sudo apt-get update
$ sudo apt-get upgrade
カメラの確認
RasberryPiのカメラ接続を確認
インターフェイス有効化
$ sudo raspi-config
「3 Interface Options」を選択
「I1 Legacy Camera」を選択
「<Yes>」を選択
「OK」を選択
「Finish」を選択
「<Yes>」を選択
→再起動するのでしばらく待機!
カメラ接続確認
「supported」「detected」それぞれ1であれば正常
$ vcgencmd get_camerasupported=1 detected=1
各種ソフトウエアインストール
ライブストーミングに必要なソフトウエアインストール
・libjpeg8-dev
・libjpeg62-turbo-dev
・git-all(Lite版を使用している場合必要)
・mjpg-streamer
・apache2
##ソフトウエアインストールコマンド# libjpeg8-dev、libjpeg62-turbo-devインストール$ sudo apt-get install -y cmake libjpeg8-dev$ sudo apt-get install -y cmake libjpeg62-turbo-dev# gitインストール$ sudo apt-get install git-all$ sudo apt remove git-all$ sudo apt autoremove# mjpg-streamer$ git clone https://github.com/jacksonliam/mjpg-streamer.git mjpg-streamer# mjpg-streamerが存在することを確認$ ls
mjpg-streamer# ディレクトリ移動$ cd ./mjpg-streamer/mjpg-streamer-experimental/# コンパイル$ make# インストール$ sudo make install# Apacheインストール$ sudo apt-get -y install apache2# Apacheステータス確認$ systemctl status apache2active (running) ←ステータスを確認
これで準備完了!
ストリーミング配信
ストリーミング開始し、外部から映像視聴
# ストリーミング開始$ cd ./mjpg-streamer/mjpg-streamer-experimental/$ mjpg_streamer -i “./input_uvc.so -f 30 -r 1280×720 -d /dev/video0 -y -n” -o “./output_http.so -w ./www -p 8080”
ブラウザから視聴
http://[IP(XXX.XXX.XXX.XXX)]:8080/ ← mjpg_streamerの設定が可能
http://[IP(XXX.XXX.XXX.XXX)]:8080/javascript_simple.html ← 映像のみ表示
http://[IP(XXX.XXX.XXX.XXX)]:8080/?action=stream ← 映像のみ表示
ストリーミング視聴対応プレイヤーで視聴
・VLC Player
・Quick Playerなど
接続URL
・http://[IP(XXX.XXX.XXX.XXX)]:8080/?action=stream
mjpg_streamerカメラ設定
mjpg_streamer自動起動
サービス作成
$ sudo nano /etc/systemd/system/mjpg_streamer.service
[Unit]Description=mjpg_streamer mjpg streaming serverAfter=network.target[Service]WorkingDirectory=/home/pi/mjpg-streamer/mjpg-streamer-experimental/ExecStart=mjpg_streamer -i “./input_uvc.so -y -n -f 30 -r 640×480 -d /dev/video0” -o “./output_http.so -w ./www -p 8080”Type=simpleUser=rootGroup=videoRestart=always[Install]WantedBy=multi-user.target
サービス登録
$ sudo systemctl enable mjpg_streamer.service$ sudo systemctl daemon-reload
再起動後、サービスが自動起動するので映像視聴可能!
サービス操作コマンド
# サービス登録
$ sudo systemctl enable mjpg_streamer.service
# サービス読み込み
$ sudo systemctl daemon-reload
# サービス開始
$ sudo systemctl start mjpg_streamer.service
# サービス停止
$ sudo systemctl stop mjpg_streamer.service
# サービス再起動
$ sudo systemctl restart mjpg_streamer.service
# サービスステータス確認
$ sudo systemctl status mjpg_streamer.service
Active: active (running) ←runningとなっていれば正常起動!
# サービス削除
$ sudo systemctl disable mjpg_streamer.service