|
||||||||||||||||||||||||||||||||||||||||||||||||
Menu
Distributions (131)
Software (10844)
|
Hrátky s webkamerou II.Další článek k tématu webových kamer. Tentokrát se týká programu webcam_server, kterým můžete celkem jednoduše zpřístupnit vaši webovou kameru na síti.
Rád bych zde představil program, který mne zaujal svou praktickou stránkou a jednoduchým použitím. Jedná se o malý řádkový prográmek, který naleznete na jeho domovské stránce, nebo přímo jako distribuční balíček. Tento program zpřístupní jednoduchým způsobem obrázky z vaší webové kamery. Ke svému běhu ani nepotřebuje prostředí X. Jako klient se používá jakýkoli webový prohlížeč, který zobrazuje jpeg obrázky. Představte si následující situaci. Odjíždíte na dovolenou, berete si s sebou svůj notebook a doma necháte zapnutý počítač se zapojenou webkamerou a s běžícím webcam_serverem. Pak se odkudkoli přes internet připojíte ke svému počítači na port 8888 a můžete se podívat, jestli vám za dobu co jste pryč neuvadly květiny.
Nic samozřejmě nebrání tomu, abyste vytvořili webovou stránku s vaší kamerou a tu pak zpřístupnili celému internetovému světu. V následujících řádcích si ukážeme jak na to. Základním předpokladem je funkční, v linuxu fungující webová kamera. Můžete se inspirovat například předcházejícím článkem "Hrátky s webkamerou", nebo hledat další informace na internetu. Množství podporovaných kamer stále roste. Dalším předpokladem je veřejná IP adresa počítače, na kterém Takže máme připojenou kameru k počítači a spouštíme program: [ bfu@mujpocitac ~ ]$ webcam_server -d /dev/video0 -g 640x480 -x
Parametr -d označuje video zařízení ze kterého se mají číst snímky. V příkazu uvedené -c #vloží do obrázku textový řetězec s datem a časem vzniku obrázku -fh -fv #prohodí obrázek horizontálně nebo vertikálně -q #nastaví kvalitu jpeg komprese v hodnotách 0 - 100% -G #můžete si pohrát s nastavením gama v hodnotách od -100 do 100 -p #nastaví port, na kterém bude program očekávat klienty - defaultně 8888
Pro další volby je tu manuálová stránka , kde se dozvíme vše ostatní. Ještě jednou se vrátím k prohození RGB => BGR barev. Tahle věc se může někdy nastavit už na úrovni jaderného modulu. V případě spca5xx je to parametr [ bfu@mujpocitac ~ ]$ modinfo spca5xx | grep parm
Nyní si již můžeme spustit webový prohlížeč např. firefox a do adresového řádku zadat <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type"> <title>Webcam</title> </head> <body> <div style="text-align: center;"><br> Webová kamera<br> <hr style="width: 100%; height: 2px;"><br> </div> <div style="text-align: center;"> <applet code="WebCamApplet.class" archive="applet.jar" height="240" width="320"><param value="http://localhost:8888" name="URL"><param value="1" name="FPS"><param value="320" name="width"><param value="240" name="height"></applet></div> </body> </html>
Zároveň v adresáři Stránky s různými applety jsou k nalezení na internetu mimo jiné i na adrese, kerou uvádím níže. Takových stránek jsem zkoušel několik a rád bych zde zmínil nevýhody java appletu. Za prvé počítač, ze kterého chcete kameru sledovat musí mít nainstalovanou javu, což nemůžete u klientů na internetu zajistit. Za druhé java applet je hodně náročný na výkon počítače, zkoušel jsem několik podobně napsaných appletů a všechny zatěžovaly procesor více než přes polovinu. Je sice pravda, že ve výsledku běží jeden applet vždy na klientském počítači, ale uživatelé, kteří si budou prohlížet stránku, určitě budou potřebovat výkon počítače i na jiné věci než je upload snímků do prohlížeče. Mnohem výhodněji se jeví použití javascriptu ve stránce. Javascript podporují všechny hlavní prohlížeče IE, Firefox, Mozilla, Opera a mají jej defaultně zapnutý. Přestože javascript plní stejný účel jako applet, nemá celkem žádné nároky na procesor a nevyžaduje instalaci javy. Stránka s javascriptem (pro lepší orientaci je vyznačen červeně) by mohla vypadat například takto ...
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-2"
http-equiv="content-type">
<title>Moje webová kamera</title>
<script language="Javascript">
<!-- hide
var x = 10;
var y = 1;
var now;
function startClock() {
x = x-y;
document.form1.clock.value = x;
if (x <= 0) reload();
timerID = setTimeout("startClock()", 1000);
}
function reload() {
now = new Date();
var camImg = "http://localhost:8888" + "?" + now.getTime();
document.campicture.src = camImg;
x = 10;
document.form1.clock.value = x;
}
// end hide -->
</script>
</head>
<body onload="startClock()" font face="Arial,Helvetica,Verdana"
style="background-color: gray; color: rgb(0, 0, 0);"
alink="#ee0000" link="#0000ee" vlink="#551a8b">
<center>
<h1><font size="-1">MOJE WEBOVÁ
KAMERA</font></h1>
<p>
<p><font size="-1">
<img name="campicture" src="http://localhost:8888"
alt="My WebCam Image" border="5"
height="288" width="352"><br>
</font></p>
<form name="form1"><font
size="-1">Automatické obnovení za</font>
<input name="clock" size="2" value="" type="text">sekund.
<br>
Obrázek se obnovuje intervalu 10 sekund.
</p>
<hr width="225">
<br>Jednoduché příklady podobných stránek
<b><i><a
href="http://developers.webcamworld.com//templates.html"
target="_top">WebCam
World</a></i></b><br>
</form>
</center>
</body>
</html>
Všimněte si, že jako adresa obrázku je ve zdrojovém kódu uveden
Chcete-li webkameru "zveřejnit", bude potřeba zprovoznit nějaký http server a stránku na něm vystavit. Jedna z možností je program "Boa server", o němž píše na abclinuxu pan Vondráček. Tento server je velmi jednoduchý s omezenými funkcemi, ale velmi snadno se nastavuje. Konfigurační soubor se jmenuje MimeTypes /etc/mime.types DefaultRoot /var/www
U všech souborů ve webovém adresáři (DefaultRootu) je nutné nastavit právo ke čtení pro všechny uživatele, protože Boa server povoluje přístup k souborům na základě těchto práv. Umístíte-li do adresáře vaši stránku napsanou pro webkameru pod názvem Webcam_server provozuji v domácích podmínkách, neměl jsem možnost jej zkoušet při větší zátěži. Pro masivnější nasazení by určitě bylo dobré jej otestovat. Mám vyzkoušené, že při obsluze čtyř klientů současně chodí spolehlivě. Program je vhodný pro poskytování obrázků z webové kamery na vnitřní síti nebo internetu, v druhém případě je ovšem potřeba veřejná IP adresa a dostatečně propustná linka. V současné době webcam_server preferuji při svých hrátkách s webovou kamerou. Odkazy:
Hrátky s webkamerou
|
Search Software
Search Google
|
||||||||||||||||||||||||||||||||||||||||||||||
©Pavel Kysilka - 2003-2024 | maillinuxsoft.cz | Design: www.megadesign.cz |