2012年1月15日日曜日

Ubuntu 11.10 server で WEBカメラをつかう:☆ びぼうろぐ ☆:So-netブログ

最近のWebカメラは大抵UVC(USB Video Class)に対応しており、LinuxではUVCドライバが提供されていますので、Plug & Play になっているはずです。

そこで、BUFFALOのWEBカメラを入手し、使ってみました。

仕様はこんな感じです。

■本体(カメラ部) 
インターフェースUSB2.0
映像素子1/3.2インチカラープログレッシブCMOS
フォーマット動画:MP4、WMV
静止画:JPG、BMP
有効画素数500万画素
最大解像度1920×1080ピクセル
最大フレームレート30fps
フォーカスオートフォーカス(焦点距離:6cm~∞)
ケーブル長1.5m(本体直付け)
電源USBバスパワー
本体寸法H48×W45×D72mm
重量約82.5g
■その他仕様 
パッケージ寸法W147×D62×H212mm
パッケージ重量約265g
動作環境温度5℃~40℃、湿度20%~80%(結露なきこと)
製品構成本体(ケーブル長1.5m)、片耳フックタイプヘッドセット(ケーブル長1.8m)、ユーティリティCD、マニュアル、多言語簡易マニュアル、アナグリフ用3Dメガネ

では、さっそく。

# dmesg |grep uvcvideo

[   10.265019] uvcvideo: Found UVC 1.00 device USB2.0 UVC PC Camera (1460:3290)

[   10.265088] uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround.

[   10.265094] uvcvideo: Failed to query (129) UVC probe control : -19 (exp. 26).

[   10.265109] uvcvideo: Failed to initialize the device (-5).

[   10.265190] usbcore: registered new interface driver uvcvideo

[   11.240047] uvcvideo: Found UVC 1.00 device USB2.0 UVC PC Camera (1460:3290)

というわけで、なにやらFailしているところもありますが、Ubuntu 11.10では認識されています。

さらに、

# 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 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 009 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 005 Device 002: ID 0cf3:3005 Atheros Communications, Inc. 

Bus 004 Device 002: ID 0472:0065 Chicony Electronics Co., Ltd PFU-65 Keyboard

Bus 004 Device 003: ID 0472:0065 Chicony Electronics Co., Ltd PFU-65 Keyboard

Bus 001 Device 004: ID 1460:3290 Tatung Co.

から、Tatung Co.が元のカメラデバイスのメーカーかもしれません。

Device ID 1460:3290 をキーワードに対応状況はこちらのサイトで確認できます。

残念ながら、1460:3290 はこちらのリストにはありませんでしたが、結果としては

現行のドライバで一部制限はありつつも使えます。

使える解像度やフレームレートなどは、

# luvcview -L

luvcview 0.2.6

init kbd.

SDL information:

  Video driver: fbcon

  Hardware surfaces are available (8100k video memory)

Device information:

  Device path:  /dev/video0

{ pixelformat = 'YUYV', description = 'YUV 4:2:2 (YUYV)' }

{ discrete: width = 640, height = 480 }

Time interval between frame: 1/30, 1/15, 

{ discrete: width = 160, height = 120 }

Time interval between frame: 1/30, 1/15, 

{ discrete: width = 320, height = 240 }

Time interval between frame: 1/30, 1/15, 

{ discrete: width = 384, height = 216 }

Time interval between frame: 1/30, 1/15, 

{ discrete: width = 352, height = 288 }

Time interval between frame: 1/30, 1/15, 

{ pixelformat = 'RGB3', description = 'RGB3' }

{ discrete: width = 640, height = 480 }

Time interval between frame: 1/30, 1/15, 

{ discrete: width = 160, height = 120 }

Time interval between frame: 1/30, 1/15, 

{ discrete: width = 320, height = 240 }

Time interval between frame: 1/30, 1/15, 

{ discrete: width = 384, height = 216 }

Time interval between frame: 1/30, 1/15, 

{ discrete: width = 352, height = 288 }

Time interval between frame: 1/30, 1/15, 

{ pixelformat = 'BGR3', description = 'BGR3' }

{ discrete: width = 640, height = 480 }

Time interval between frame: 1/30, 1/15, 

{ discrete: width = 160, height = 120 }

Time interval between frame: 1/30, 1/15, 

{ discrete: width = 320, height = 240 }

Time interval between frame: 1/30, 1/15, 

{ discrete: width = 384, height = 216 }

Time interval between frame: 1/30, 1/15, 

{ discrete: width = 352, height = 288 }

Time interval between frame: 1/30, 1/15, 

{ pixelformat = 'YU12', description = 'YU12' }

{ discrete: width = 640, height = 480 }

Time interval between frame: 1/30, 1/15, 

{ discrete: width = 160, height = 120 }

Time interval between frame: 1/30, 1/15, 

{ discrete: width = 320, height = 240 }

Time interval between frame: 1/30, 1/15, 

{ discrete: width = 384, height = 216 }

Time interval between frame: 1/30, 1/15, 

{ discrete: width = 352, height = 288 }

Time interval between frame: 1/30, 1/15, 

{ pixelformat = 'YV12', description = 'YV12' }

{ discrete: width = 640, height = 480 }

Time interval between frame: 1/30, 1/15, 

{ discrete: width = 160, height = 120 }

Time interval between frame: 1/30, 1/15, 

{ discrete: width = 320, height = 240 }

Time interval between frame: 1/30, 1/15, 

{ discrete: width = 384, height = 216 }

Time interval between frame: 1/30, 1/15, 

{ discrete: width = 352, height = 288 }

Time interval between frame: 1/30, 1/15,

から判ります。

さらに詳細な情報を得たければ、こちらが便利かも知れません。

サイバラのページ

の旧ホームページ

に便利なツールがあります。

ページ2/9の位置あたりの、ソースのダウンロードからツールを

ダウンロードして、使います。

そして、

# ./listup 0

Using camera #0

Camera : /dev/video0

Driver name     : uvcvideo

Driver Version  : 1.1.0

Device name     : USB2.0 UVC PC Camera

Bus information : usb-0000:00:12.2-1

Capabilities    : 04000001h

                      V4L2_CAP_VIDEO_CAPTURE (Video Capture) : OK

                        V4L2_CAP_VIDEO_OUTPUT (Video Output) : Not supported.

                      V4L2_CAP_VIDEO_OVERLAY (Video Overlay) : Not supported.

                      V4L2_CAP_VBI_CAPTURE (Raw VBI Capture) : Not supported.

                        V4L2_CAP_VBI_OUTPUT (Raw VBI Output) : Not supported.

            V4L2_CAP_SLICED_VBI_CAPTURE (Sliced VBI Capture) : Not supported.

              V4L2_CAP_SLICED_VBI_OUTPUT (Sliced VBI Output) : Not supported.

            V4L2_CAP_RDS_CAPTURE (Undefined.[to be defined]) : Not supported.

  V4L2_CAP_VIDEO_OUTPUT_OVERLAY (Video Output Overlay (OSD)) : Not supported.

                                      V4L2_CAP_TUNER (Tuner) : Not supported.

                    V4L2_CAP_AUDIO (Audio inputs or outputs) : Not supported.

                             V4L2_CAP_RADIO (Radio receiver) : Not supported.

                V4L2_CAP_READWRITE (Read/write() I/O method) : Not supported.

                  V4L2_CAP_ASYNCIO (Asynchronous I/O method) : Not supported.

                   V4L2_CAP_STREAMING (Streaming I/O method) : OK

Ctrl id(CID) : 00980900h (V4L2_CID_BRIGHTNESS)

Ctrl name : Brightness

Ctrl type : 1 (V4L2_CTRL_TYPE_INTEGER)

Min,Max,Step,Default : 80,215,1,128

Flags    : 00000000h

Ctrl id(CID) : 00980901h (V4L2_CID_CONTRAST)

Ctrl name : Contrast

Ctrl type : 1 (V4L2_CTRL_TYPE_INTEGER)

Min,Max,Step,Default : 30,100,1,64

Flags    : 00000000h

Ctrl id(CID) : 00980902h (V4L2_CID_SATURATION)

Ctrl name : Saturation

Ctrl type : 1 (V4L2_CTRL_TYPE_INTEGER)

Min,Max,Step,Default : 0,160,1,64

Flags    : 00000000h

Ctrl id(CID) : 00980903h (V4L2_CID_HUE)

Ctrl name : Hue

Ctrl type : 1 (V4L2_CTRL_TYPE_INTEGER)

Min,Max,Step,Default : 0,255,1,0

Flags    : 00000000h

Ctrl id(CID) : 0098090ch (V4L2_CID_AUTO_WHITE_BALANCE)

Ctrl name : White Balance Temperature, Auto

Ctrl type : 2 (V4L2_CTRL_TYPE_BOOLEAN)

Min,Max,Step,Default : 0,1,1,1

Flags    : 00000000h

Ctrl id(CID) : 00980910h (V4L2_CID_GAMMA)

Ctrl name : Gamma

Ctrl type : 1 (V4L2_CTRL_TYPE_INTEGER)

Min,Max,Step,Default : 1,16,1,1

Flags    : 00000000h

Ctrl id(CID) : 00980918h (V4L2_CID_POWER_LINE_FREQUENCY)

Ctrl name : Power Line Frequency

Ctrl type : 3 (V4L2_CTRL_TYPE_MENU)

 Menu items:

 0 : Disabled

 1 : 50 Hz

 2 : 60 Hz

Min,Max,Step,Default : 0,2,1,2

Flags    : 00000000h

Ctrl id(CID) : 0098091ah (V4L2_CID_WHITE_BALANCE_TEMPERATURE)

Ctrl name : White Balance Temperature

Ctrl type : 1 (V4L2_CTRL_TYPE_INTEGER)

Min,Max,Step,Default : 2800,7500,1,5000

Flags    : 00000000h

Ctrl id(CID) : 0098091bh (V4L2_CID_SHARPNESS)

Ctrl name : Sharpness

Ctrl type : 1 (V4L2_CTRL_TYPE_INTEGER)

Min,Max,Step,Default : 1,5,1,3

Flags    : 00000000h

Ctrl id(CID) : 0098091ch (V4L2_CID_BACKLIGHT_COMPENSATION)

Ctrl name : Backlight Compensation

Ctrl type : 1 (V4L2_CTRL_TYPE_INTEGER)

Min,Max,Step,Default : 0,10,1,0

Flags    : 00000000h

Ctrl id(CID) : 009a0901h (V4L2_CID_EXPOSURE_AUTO)

Ctrl name : Exposure, Auto

Ctrl type : 3 (V4L2_CTRL_TYPE_MENU)

 Menu items:

VIDIOC_QUERYMENU: Invalid argument

残念ながら、Image formatは表示されませんでしたが、様々な情報が得られます♪


Related Posts



0 コメント:

コメントを投稿