Webcam

V průběhu ledna jsem se rozhodl zakoupit webkameru a to hned z několika důvodu. Chtěl bych se seznámit s funkčností těchto zařízení v Linuxu a zapojit se do videokonferencování. V neposlední řadě bych se rád pokusil zprovoznit monitoring prostor, pohybu osob a následný záznam. Po několikahodinovém pátrání na webu, eshopech a eBayi jsem se rozhodl ke koupi neznačkové webkamerky na eBayi za necelých 5 stovek včetně poštovného. Mezi slibovanými vlastnostmi bylo rozlišení až 800x600, snímkováni 30x za vteřinu - parametry pro mě dostačující. Jedinou neznámou tak zůstávala podpora v Linuxu. Přesto jsem objednávku risknul.

Kamerka dorazila z Hong Kongu za necelých 14 dní v obálce opatřené velkým množstvím známek ;).

Součástí balíku byl i stojánek. Z kamery vedou 2 kabely - USB a audio (mikrofon, zatím jsem netestoval). Ihned po rozbalení jsem ji zapojil do počítače a začal pátrat po ovladačích. Vodítkem byla identifikace v lsusb (první znamení, že kamera opravdu funguje :).

Bus 001 Device 002: ID 0ac8:301b Z-Star Microelectronics Corp. ZC0301 WebCam

Po kratším Googlování jsem narazil na stránku Linux kernel webcams Driver SPCA5xx s driverem a několika užitečnými utilitami. Stránky s informacemi o kameře na eBayi obsahovaly informaci o rozlišení až 800x600. S driverem spca5xx lze využít tato rozlišení:

  • 640x480
  • 352x288
  • 320x240
  • 176x144

Po několika experimentech jsem došel k závěru, že driver podporuje pouze v4l, nikoli v4l2. Nejsem si úplně jistý, jestli se jedná o správné tvrzení, ale v4l2 se mi nepodařilo zprovoznit.

Spcaview

Asi nejdůležitější utilitou pro první otestování funkce driveru pro webkameru je právě Spcaview - zobrazí podrobné informace o typu kamery a podporovaných funkcích.

Spcaview version: 1.1.5 date: 12:12:2005 (C) mxhaard@magic.fr
Initializing SDL.
SDL initialized.
bpp 3 format 15
Using video device /dev/video0.
Initializing v4l.
**************** PROBING CAMERA *********************
Camera found: Z-star Vimicro zc0301p
Bridge found: ZC301-2
Bridge find ZC301-2 number 13
StreamId: JPEG Camera
quality 1 autoexpo 1 Timeframe 0
Bridge find ZC301-2 number 13
Available Resolutions width 640  heigth 480 native
Available Resolutions width 352  heigth 288 decoded
Available Resolutions width 320  heigth 240 native *
Available Resolutions width 176  heigth 144 decoded
*****************************************************
grabbing method default MMAP asked
VIDIOCGMBUF size 2457616  frames 2  offets[0]=0 offsets[1]=1228808
VIDIOCGPICT
brightnes=32768 hue=0 color=0 contrast=32768 whiteness=0
depth=12 palette=4
VIDIOCSPICT
brightness=32768 hue=0 color=0 contrast=32768 whiteness=0
depth=24 palette=15

mplayer

Pro otestování funkčnosti Video 4 Linux a práce s kamerou přes device /dev/video0 je jednou z nejjednodušších metod využít mplayer. Syntaxe pro spuštění z příkazové řádky by měla vypadat následovně (parametry je samozřejmě možné měnit podle požadovaného výstupu).

mplayer tv:// -tv driver=v4l:width=640:height=480:outfmt=yv12:device=/dev/video0

VLC

VLC media player najde využití především při streamování videa, ale je to i velice dobrý nástroj pro jednoduché ladění funkčnosti věcí kolem videa v GUI.

Gnomemeeting

V Debianu je pro správnou funkčnost potřeba mít v Gnomemeetingu nainstalovanou podporu pro v4l (ne pouze v4l2).

ii libpt-plugins-v4l 1.8.7-2 Portable Windows Library Video Plugin for Video4Linux
ii libpt-plugins-v4l2 1.8.4-2 Portable Windows Library Video Plugin for Video4Linux v2

V dalším díle se zaměřím na využití webkamery pro monitorování prostor a pohybu osob.

Written on February 7, 2006