LoginSignup
38
38

More than 5 years have passed since last update.

Raspberry Pi の カメラモジュールと UV4L で簡単にストリーミング中継

Last updated at Posted at 2014-10-13

概要

Userspace Video4Linux frameworkは、mjpeg や vlc などの便利な extensions を用意してくれているので、これだけでストリーミング中継が可能です。この検証動画のように 画角は小さく、fps も高くありませんが、200ms ぐらいの遅延で中継が可能になります

UV4L のインストール

インストレーションはこちらの手順で行います

1.UV4L のパッケージを認証

wget http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc && sudo apt-key add ./lrkey.asc

そして、nano で /etc/apt/sources.list を開いて

sudo nano /etc/apt/sources.list

末尾に下記を追加します。

deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ wheezy main

2.インストール

sudo apt-get update
sudo apt-get install uv4l uv4l-raspicam
sudo apt-get install uv4l-raspicam-extras
sudo rpi-update
sudo apt-get install uv4l-server
sudo apt-get install uv4l-uvc
sudo apt-get install uv4l-xscreen
sudo apt-get install uv4l-mjpegstream

私は途中、** could not open moddep file ** のエラーが出ましたがこちらを参考に一度リブートしてやり直すと無事にインストールできました

中継の開始

以下のように起動します

uv4l --auto-video_nr --driver raspicam --encoding mjpeg --server-option '--port=9000'

ブラウザで http://RaspberPiのアドレス:9000/stream/ にアクセスすると中継が始まっています。
ただ、これでは画角が大きく遅延が大きいのと、カメラを逆向きに付けたいので、--driver raspicam でさらに raspicam のオプションを追加して以下のように起動すると、この検証動画のように0.2秒程度の遅延で中継ができます

uv4l --auto-video_nr --driver raspicam --encoding mjpeg --server-option '--port=9000' --driver raspicam --rotation 180 --width 352 --height 288

中継の停止は

pkill uv4l

でOK です

補足

Raspbian では標準では Video4Linux はありませんでした。歴史的(というほど年月が経っているわけでもないですが)な経緯はこちらにまとまっていますが、単に Video4Linux のドライバのみが必要な場合は、このユーザーモード版の UV4L の他にオフィシャルなカーネルモードの V4L を insmod して使う方法もあります。この2つは共存させることも可能です

Full Hivision での HLS での中継は、遅延が大きいですがこちらもご参照いただければ幸いです

38
38
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
38
38