BeagleBoard-xMでUSBカメラ

購入していたUSBカメラ LOGICOOL C905m を試しました。

まずはluvcviewを使用してローカルのコンソールにカメラの映像を表示します。


luvcviewを取得して、インストールします。


sudo apt-get install luvcview
USBにカメラをつないで、以下のコマンドで実行します。

luvcview -i 15 -f yuv -w
「-f yuv」をつけないと画面がちらついてきれいに表示されませんでした。このカメラのmotion-jpegの品質が良くないのかもしれません。



写真右側のカメラでとったぬいぐるみが画面に表示されています。やった!!!(なお、ディスプレイはBeagleBoardHDMI端子に接続されています。)


次に、http://nobotronics.blogspot.com/2011/02/beagleboard10uvcstream.html を参考にuvc-streamerの環境を構築しました。
しかし、PC側のFireFoxで表示したところでは一瞬表示されるものの、すぐにサーバ側がSegmentationFaultで落ちてしまいます。
FireFoxが悪いのか、カメラのmotion-jpegが悪いかどちらかだと思います。


上記サイトのhttp://nobotronics.blogspot.com/2011/02/beagleboard11uvcstream.html にて紹介されているmjpg-streamerの方を試したところ、こちらはうまく行きました。
ただ、タイムラグが2〜3秒程度発生します。(タイムラグは解像度を下げれば若干改善するかもしれません。)(5/28追記 解像度をVGA(640×480)にしていましたが、QVGA(320×240)ではタイムラグは1秒弱になりました。)