03 June 2013

(Ubuntu) USB カメラで静止画jpegキャプチャ

■ 検証環境
・ Ubuntu 12.04LTS
・ USB カメラ (UVC互換) 1871:0306 Aveo Technology

20130603-usbcamera.jpg
eBayで4ドル(400円)で購入したカメラ

■ 動作確認

USBデバイスの認識状態を確認する。

$ sudo lsusb
 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 04f2:0841 Chicony Electronics Co., Ltd 
Bus 002 Device 003: ID 046d:c52f Logitech, Inc. Wireless Mouse M305
Bus 001 Device 009: ID 1871:0306 Aveo Technology Corp. 

VLCでカメラの動作を確認

VLCメディアプレーヤーの「メディア」メニュー → 「キャプチャーデバイスを開く」を実行し、
・キャプチャモード : Video for Linux 2
・ビデオデバイス : “空欄”のまま放置か、“/dev/video0”を指定

20130603-vlc-live.jpg

■ jpegファイルに保存する

カメラが安定するまで5秒待ってから(-ss 5)キャプチャを行う。

$ ffmpeg -ss 5 -f video4linux2 -s 640x480 -i /dev/video0 -vframes 1 ./test.jpg

20130603-capture-ffmpeg.jpg

結構薄暗い夕闇でも、カメラ起動から5秒程度の時間を置けば、このレベルで撮影できます。