09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
プロフィール

かずべい

Author:かずべい
かずべいのヘリライフへようこそ!
まだまだ初心者ですが楽しんでます。
所有機
T-REX450PRO(パチ物ばーかり)
・HKTAROT450-3GX
・TAROT450-3GX
・T-REX450L(3セル)
T-REX500EFL
T-REX550E(V2改)
T-REX600EFL
MultiCopter
・500mmY3 Tricopter type
・500mmFPV-Quad-X Type
JR Voyger50(エンジン機)
Walkela GeniusCP/V2
Phantom

最新記事

最新コメント

天気予報


-天気予報コム- -FC2-

最新トラックバック

月別アーカイブ

カテゴリ

来訪者数

リンク

検索フォーム

RSSリンクの表示

ブロとも申請フォーム

この人とブロともになる

QRコード

QR

スポンサーサイト

--.--.-- --:--|スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

RaspberryPiを使ってUSBのWEBカメラでストリーミングをする

2014.11.17 13:07|未分類

ラズパイには専用の端子に接続するCCDカメラが発売されているのだが、今一使い方が分からない。

特にストリーミングのやり方などがグーグル先生に聞いてみても良く分からない。

そこでUSBを使ったWEBカメラを使った方法で遊んでみようと思う。

WEBカメラの選択肢はたくさんあるのだが、UVCと言う規格に対応していれば、だいたい使用できるらしい。

しかしすべてが動くわけではないので、WEBで紹介されている物を選らん下購入してみた。

1つ目はこれです。

ELECOMのUCAM-DLN130TBK と言うモデルで130万画素で1280円でした。
www.amazon.co.jp/gp/product/B004I8V6KI
これはいろいろな所で使用されているので、実績はあると思い選びました。

2つ目はこれです。

ELECOMのUCAM-DLE300TBKと言うモデルです。1つ目のモデルの上位モデルらしく、300万画素のモデルです。このモデルは使用実績が無いので、人柱的に冒険で購入してみました。1764円でした。
www.amazon.co.jp/gp/product/B004I8V6JE

では早速動作させるソフトのインストールをやっていきましょう。

まずWEBカメラをラズパイにぶすっと挿して下さい。

先に300万がその方が届いたので、そっちを先にレポートします。

そして次のコマンドを打ち込んでください。

$ lsusb

lsusb.jpg 
上の写真の中でID5がWEBカメラです。しかしメーカー名しか出てきません。型番が出てこないのですが動作するのでしょうか?

一応認識している前提でソフトのインストールをやっていきます。

まずお決まりの呪文です。(今回はapt-getの別バージョンを使用しています)

$ sudo aptitude update

$ sudo aptitude upgrade

必要なパッケージをインストールする。

$ sudo aptitude install libv4l-dev libjpeg8-dev subversion imagemagick

今回使用するソフトのmjpeg-streamerをダウンロードしてmakeする。

$ svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer/ mjpg-streamer

$ cd mjpg-streamer

$ make USE_LIBV4L2=true clean all

これで一通りインストールが完了しました。

一度実験で動作させて見ます。

$ ./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -r 320x240 -f 15" -o "./output_http.so -p 8080 -w ./www"

ブラウザで http://【Raspberry PiのIP】:8080を開きます。

ソフト動作1 

なんだかいっぱいエラーが出ていますが、よく読んでみるとパン・チルトが動かない。とか、LEDが点かない。とかのエラーのようで、元々付いていない物なので問題ないだろうと勝手に判断しました。
(後日調べてみたら、やはり問題の無いエラーメッセージでした。出るのがいやな方は-nのオプションを下のように入れてやると出なくなります)

-nオプション版

$ ./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -r 320x240 -f 15 -n" -o "./output_http.so -p 8080 -w ./www"

やっぱりUSBデバイスチェックの所で、型番が出ていなかったのが原因だろうか?

IEを使って「http://192.168.XX.XX:8080」

と、入力したら見事動作しました。

初期メニューです。

ライブソフト1_R 

ここから左側のメニューを選べばよいのですが、Streamが動作しません。

しかたないのでJavascriptを選んだらライブ画像が出るようになりました。

ライブソフト2_R 

後から分かったのですが、これはIEの問題でIEだからStreamが出ないらしいです。

そこでクロームをダウンロードして動作させてみたら、問題なく動作しました。

しかしカメラの限界性能なのか、残像がすごく出てちょっと使えない状態です。

ライブソフト3_R 

IEは標準と言われている割には、何かしら問題がありますね・・・

しかし動作させるたびにあの長いコマンドを入力するのが面倒なので、簡単なシェルスクリプトを作っておきました。

camera.sh

#!/bin/bash

mjpg_streamer -i "/usr/lib/input_uvc.so -d /dev/video0 -r 320x240 -f 15 -n" -o "/usr/lib/output_http.so -p 8080 -w /usr/www"

#mjpg_streamer -b -i "/usr/lib/input_uvc.so -d /dev/video0 -r 320x240 -f 15 -n" -o "/usr/lib/output_http.so -p 8080 -w /usr/www"

この後単体で動作するように、実行権限を与えておきます。

$ chmod u+x camera.sh

これで動作させるときには次のようにするだけで動作します。

$ ./camera.sh

コマンドが2行あるのはバックグラウンドでデーモンとして動作するように、-bのパラメーターが入っている物とそうでない物を用意しているからです。

使わない方を#でコメントアウトして使ってください。

尚、通常モードでの終了方法は^Cで終了できますが、デーモン化した時は専用の終了方法があります。

これもシェルスクリプトにしておくと便利ですよ。

kill_camera.sh

#!/bin/bash

kill -9 `pidof mjpg_streamer`

これもまた先ほどと同じく実行権限の変更をしておくと良いでしょう。

今もう一つの130万画素の方のお届けを待っています。

届いたら続きを書きますので。

少しお待ちください・・・

待つ!待つ!待つ!待つ!待つ!


午後5時ぐらいにやっと商品が到着しました。

早速実験です。

130万画素の方にUSBを差し替えて、lsusbコマンドで確認してみました。

結果は・・・

lsusb2.jpg 
やっぱりメーカーの名前しか出てきませんでした。

これはこれで良いのでしょうか?

早速ソフトを起動させて見ました。

ソフト動作2 

やっぱりエラーがずらーと出てきます。これもこれで良いのでしょうか?

使用感ですが、オリジナルの320x240の画面のときは画面がざらついていて、映りが悪いです。

ところが640x480に解像度を上げてやると、映りが良くなり300万画素の時にはカクカクしていたのが、解像度を上げているのにスムーズにストリームしています。しかし残像感はすごいです。

130万画素の機種の方がちょっとした高解像度に強いようです。

ただ640のモードの時には無線LANのLEDが点きっぱなしになっています。

また、どちらのカメラも残像がすごく出て、ゆっくり動く分には良いのですが、少し早めに動くと残像がすさまじい状態です。

やはり少し高めのカメラを買った方が良いのでしょうか?・・・

以上、USBカメラを使ったストリーミングについてでした。

つづく・・・

コメント

非公開コメント

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。
現在の閲覧者数: