見出し画像

今更だがRaspberry Pi 2でカメラストリーミング[1]

棚の中に眠っていたRaspberry Pi 2が、勿体ないので、カメラストリーミングサーバーとして動かしてみます。

今日は、カメラ入力をRaspberry Pi の画面の表示するとこまで挑戦。

まず、前提として、SSH経由でのリモート接続ターミナルからでRaspberry Pi に接続するのではなく、VNC経由での接続としました。
理由は、作業途中で、カメラ映像が映ってるかな?と確認したい時に画面が必要だからです。
(SSH経由でのリモート接続ターミナルからだと、「ディスクトップに表示してね」のコマンドがエラーになる)

1.Gstreamerインストール

方法は色々あるようだけど、Gstreamerを使う事にする。
理由は、特にない。

インストール方法は、公式サイトに記載されている。

最新のバージョンがインストールされるわけではないようだが、まぁよしとする。

sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio

gstreamer1.0-qt5 がない、というエラーになったが、qtは使わないので、もう一度これだけ除いて実行。

sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-pulseaudio

2.USBカメラ接続

USBカメラをRaspberry Pi 2のUSBコネクタに接続する。

情報を確認してみる。

pi@raspberrypi:~ $ lsusb
Bus 001 Device 004: ID 0411:01ee BUFFALO INC. (formerly MelCo., Inc.) WLI-UC-GNM2 Wireless LAN Adapter [Ralink RT3070]
Bus 001 Device 005: ID 25a7:fa61 Areson Technology Corp Elecom Co., Ltd MR-K013 Multicard Reader
Bus 001 Device 006: ID 046d:082c Logitech, Inc. HD Webcam C615
Bus 001 Device 003: ID 0424:ec00 Microchip Technology, Inc. (formerly SMSC) SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Microchip Technology, Inc. (formerly SMSC) SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
pi@raspberrypi:~ $

「Bus 001 Device 006: ID 046d:082c Logitech, Inc. HD Webcam C615」
これが、接続したカメラの情報。

という事で、認識されている。

3.Gstreamerコマンドを使って映像表示

一番簡単なコマンドを実行して、カメラの映像が表示されることを確認する。

gst-launch-1.0 v4l2src ! videoconvert ! ximagesink

出たことは出たけど、画面がでかい、画像が大きすぎる、更新が遅い。

で、画像サイズとフレームレートを指定してみる。

gst-launch-1.0 v4l2src ! videoconvert ! video/x-raw,width=1280,height=720,framerate=10/1 ! ximagesink

これでOK。
無事、カメラの映像が表示された。

次回、RTSPサーバーを立てて、ストリーミングサーバーにしてみるつもり。

いいなと思ったら応援しよう!