Raspberry Pi 備忘録 / Mbedもあるよ!

Raspberry Pi であれこれやった事の記録

WEBカメラのテスト

静止画撮影テスト

手元にあった LOGICOOL C270 で、テストしてみる。

カメラを差し込んでみて、

$lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
Bus 001 Device 007: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 001 Device 005: ID 0461:4d81 Primax Electronics, Ltd 
Bus 001 Device 006: ID 413c:2107 Dell Computer Corp. 

と、きちんと認識している。
引き続き、

$ls /dev/video*
/dev/video0

で、デバイスナンバーを確認しておく。

続いて、撮影テストを行う。
まずは静止画撮影から。

$fswebcam -d v4l2:/dev/video0 -i 0 -p YUYV test.jpg
--- Opening v4l2:/dev/video0...
/dev/video0 opened.
Adjusting resolution from 384x288 to 352x288.
--- Capturing frame...
Captured frame in 0.00 seconds.
--- Processing captured image...
Writing JPEG image to 'test.jpg'.

んで、test.jpg が正常に撮影されていることを確認する。
f:id:pongsuke:20151223142328j:plain
デフォルトの設定だと、タイムスタンプが入るみたいですね。

動画のストリーミングテスト MJPG-streamer

引き続き、動画のストリーミングテストを行う。

#apt-get install subversion libjpeg-dev imagemagick
#svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer mjpg-streamer
#mv mjpg-streamer /usr/local/etc/
#cd /usr/local/etc/mjpg-streamer
#make

コンパイルできたら、

./mjpg_streamer -i "./input_uvc.so -f 10 -r 320x240 -d /dev/video0 -y -n" -o "./output_http.so -w ./www -p 8080"
MJPG Streamer Version: svn rev: 3:172
 i: Using V4L2 device.: /dev/video0
 i: Desired Resolution: 320 x 240
 i: Frames Per Second.: 10
 i: Format............: YUV
 i: JPEG Quality......: 80
 o: www-folder-path...: ./www/
 o: HTTP TCP port.....: 8080
 o: username:password.: disabled
 o: commands..........: enabled

そしたら、ウェブブラウザで、 http://192.168.100.133:8080/ など、Raspberry Pi の IP と上記で指定したポート 8080 にアクセスする。
そうすると、、、 f:id:pongsuke:20151223143400j:plain のように、表示されるはず。

つづいて、Stream のページへ進み、実際にストリーミングされていることを確認する。

C920R

C920Rも試そう。

# lsusb 
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
Bus 001 Device 008: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
Bus 001 Device 007: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 010: ID 046d:082d Logitech, Inc.

デバイス名が出ないが・・・

~# ls /dev/ | grep video
video0

ということで、ビデオデバイスとしては認識されている。

$ fswebcam -d v4l2:/dev/video0 test.jpg -r 1920×1080
$ ./mjpg_streamer -i "./input_uvc.so -f 10 -r 640x480 -d /dev/video0 -y -n" -o "./output_http.so -w ./www -p 8080"

どちらも問題なし。