ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

【Raspberry pi】webカメラでストリーミング配信

mjpg-streamer というものを使って web カメラのストリーミング配信をしてみたのでその時のメモをここに残します。

mjpg-streamer について

github.com

準備

インストール

$ sudo apt update
$ sudo apt-get install cmake libjpeg8-dev
$ sudo apt-get install gcc g++
$ git clone https://github.com/jacksonliam/mjpg-streamer.git
$ cd mjpg-streamer/mjpg-streamer-experimental
$ sudo make; sudo make install

起動スクリプト作成

$ sudo vi start_stream.sh

start_stream.sh

#!/bin/sh
PORT="8080" #ポート番号
ID="root" #ID
PW="password" #パスワード
SIZE="1280x720" #画面サイズ
FRAMERATE="30" #フレームレート
export LD_LIBRARY_PATH=/usr/local/lib
mjpg_streamer \
-i "input_uvc.so -f $FRAMERATE -r $SIZE -d /dev/video0 -y -n" \
-o "output_http.so -w ./www -p $PORT -c $ID:$PW"

起動

以下のコマンドで実行します。

$ sh start_stream.sh

起動に成功すると以下のメッセージが表示されます。

$ sh ./start_stream.sh 
MJPG Streamer Version: git rev: 310b29f4a94c46652b20c4b7b6e5cf24e532af39
 i: Using V4L2 device.: /dev/video0
 i: Desired Resolution: 1280 x 720
 i: Frames Per Second.: 30
 i: Format............: YUYV
 i: JPEG Quality......: 80
 i: TV-Norm...........: DEFAULT
 i: FPS coerced ......: from 30 to 5
 o: www-folder-path......: ./www/
 o: HTTP TCP port........: 8080
 o: HTTP Listen Address..: (null)
 o: username:password....: root:password
 o: commands.............: enabled

動作確認

サンプル

起動後に下記の URL にアクセスすれば確認できます。

http://localhost:8080

ストリーミング

www.youtube.com

その他(設定等々)

起動時に配信を自動起動

sudo vi /etc/rc.local

rc.local と呼ばれる起動時に実行されるシェルスクリプトに下記の内容を追加します。

/home/test/Desktop/mjpg-streamer/mjpg-streamer-experimental/start_stream.sh