Dusanko.net

Webkamera v linuxe

Autor: Dušan Koleno | Vydaný: 25.07.2008

V tomto článku by som chcel popísať prácu s webkamerami v linuxe a zároveň predstaviť pár programov, ktoré dokážu video alebo obrázky z webkamery uploadovať na web.

webkameraWebkameru v linuxe nie je vždy najľahšie spojazdniť, ak natrafíte na model, ktorý ešte pre linux nemá ovládač, zostáva už len čakať, alebo napísať si vlastné ovládače. Naštastie, v súčastnosti už väčšina kamier pod linuxom funguje dobre. Asi najznámejší ovládač pre kamery v linuxe je gspca (v minulosti spca5xx), ktorý podporuje stovky kamier. Vo väčšine distribúcii sa už nachádza nainštalovaný alebo v podobe balíčku. S týmto ovládačom zavedeným v jadre stačí už len kameru zapojiť do USB portu. Po zapojení sa v priečinku /dev objaví nová položka video0 (1,2....), ak sa tak stalo, kamera je funkčná a pripravená na použitie. Ďalšie ovládače môžete nájsť na googli.

Dnes už existuje aj akýsi štandart na prenos videa cez usb, ktorý v linuxe implementuje Linux UVC driver. Tento štandart je niečo ako USB Mass Storage pre USB kamery. V budúcnosti by ho mali podporovať ďalšie a ďalšie modely kamier.

Webkamera na stránke

Veľmi častým javom na webových stránkach je webkamera, ktorá zobrazuje periodicky obrázky, napríklad každú hodinu. Na takéto účely slúži program webcam. Dokáže obrázok pravidelne z kamery stiahnuť a následne ho odoslať pomocou ftp alebo ssh.

Tu je ukážka jeho konfiguračného súboru prevzatá z manuálu:

[grab]
	device = /dev/video0
	text = "webcam %Y-%m-%d %H:%M:%S"
	infofile = filename
	fg_red = 255
	fg_green = 255
	fg_blue = 255
	width = 320
	height = 240
	delay = 3
	wait = 0
	input = composite1
	norm = pal
	rotate = 0
	top = 0
	left = 0
	bottom = -1
	right = -1
	quality = 75
	trigger = 0
	once = 0

[ftp]
	host = localhost
	user = meno
	pass = heslo
	dir  = public_html/images
	file = webcam.jpeg
	tmp  = uploading.jpeg
	passive = 1
	debug = 0
	auto = 0
	local = 0
	ssh = 0

Ako vidíte skladá sa z dvoch častí [grab] a [ftp]. V prvej časti nastavujeme umiestenie v priečinku /dev, text v obrázku, vlasnosti a veľkosť výsledného obrázku. Treba si všimnúť premennú "delay", ktorá udáva frekvenciu ukladania obrázkov v sekundách. Do premennej "text" môžeme vkladať aj dátum pomocou premenných: %Y - rok, %m - mesiac, %d - deň, %H - hodina, %M - minúta, %S - sekunda.

Druhá časť [ftp] sa zaoberá prenosom na server, kde postupne zadáme adresu, meno a heslo používateľa, umiestnenie obrázku a nastavenia prenosu. Ak sa voľba "ssh" rovná "1", obrázok sa prenesie cez ssh.

Tento program dokáže len obrázok stiahnuť a následne ho odoslať. V nasledujúcej časti popíšem program, ktorý dokáže rozoznať pohyb, a podľa toho aj vytvárať obrázky alebo video.

Snímanie pohybu

Ďalší program sa nazýva 'motion'. Je to veľmi obsiahly program na zaznamenávanie pohybu a na to následne viazané akcie. Ak zaznamená pohyb, dokáže ihňeď zaznamenať sériu obrázkov, videí, alebo spustiť externý program. Využiť ho môžete aj ako lacný video server, kde bude pomocou obyčajnej webkamery sledovať priestory a chrániť ich tak pred vykradnutím.

Ja používam pre zaznamenávanie pohybu tento konfiguračný súbor:

daemon off
videodevice /dev/video0
height 240  
width 320
target_dir /var/www/webcam
jpeg_filename webcam-%Y-%m-%d-%T
threshold 150
gap 3000
locate off 
minimum_gap 6
text_left Zaznam_pohybu

Postupne popíšem jednotlivé nastavenia:

  • daemon - on/off - program sa buď spustí alebo nespustí ako služba,
  • videodevice - umiestnenie v /dev,
  • height a width - výška a šírka,
  • target_dir - cieľový priečinok,
  • jpeg_filename - názov obrázku, taktiež môžme využiť premenné,
  • threshold - určuje počet zmenených pixelov v obrázku, aby bol obrázok zaznamenaný ako pohyb (predvolených je 1500),
  • gap - počet sekúnd, po ktorých sa môže obrázuk stiahnuť aj keď nebol vykonaný pohyb,
  • locate - do obrázku nám vkreslí štvoruholník, kde bol zaznamenaný pohyb (predvolená hodnota je off),
  • minimum_gap - frekvencia počtu obrázkov za sekundu, ktoré sa majú ukladať, ak bol zaznamenaný pohyb,
  • text_left,text_right - vpíše do obrázku text, buď vľavo alebo vpravo.

Okrem použitých nastavení v mojom konfiguračnom súbore sú zaujímavé tieto:

  • on_motion_detected - spustí program, ktorý sa vykoná pri zaznamenaní pohybu,
  • brightness,contrast,hue - nastavenie jasu, kontrastu a farby obrázku.

Samozrejme toto nie sú všetky nastavenia. Ďalšie desiatky nastavení nájdete na stránke programu motion. Okrem obyčajného snímania obrázkov dokáže 'motion' zaznamenať video, alebo spustiť vlastný webcam http server.

Kombináciou určitých nastavení sa dá aj program 'motion' nastaviť na obyčajné pravidelné snímanie obrázkov, ale na to sa viac hodí predošlý program.

Pri problémoch s nastavením vám radi poradia v poradni na Abclinuxu.cz, alebo vo fóre Linuxos.sk.

Komentáre

Nový komentár
Nick
E-mail
Web
Smajlík Smajlík Smajlík Smajlík Smajlík Smajlík Smajlík Smajlík Smajlík Smajlík

  • Po registrácii už nebudete musieť vyplňovať údaje.
  • Pre odkazy používajte tag [a href="adresa"]meno[/a].
  • HTML značky sa zobrazujú ako v zdrojovom kóde
© Dusanko.net (Powered by DuCMS)