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.