Wer eigene Webcam-Bildchen auf seine Homepage hochladen will, kann sich
entweder der Programme camorama oder camstream bedienen
oder das Programm webcam benutzen. camorama und camstream
haben eine grafische Benutzerschnittstelle und erkären sich
damit von selbst, daher gehe ich hier nur auf die Verwendung von
dem Konsolen-Programm webcam ein. Welches Programm einem am Besten
gefällt, muß der eigene Geschmack entscheiden. Die Nachteile
von webcam sind daß das Paßwort in der Konfigurations-Datei
im Klartext drin steht und man weder die Auflösung noch die
Helligkeit der Cam einstellen kann. Dafür fressen camorama
und camstream mehr Rechenleistung. Und noch ein zusätzlicher
negativer Punkt bei camorama: Das kleinste Intervall für den
Upload ist 1 Minute!
Was machen
nun diese Webcam-Programme? Mittels dieser Programme ist es möglich
einzelne Bilder mit der Webcam aufzunehmen und via FTP auf die Homepage
hochzuladen, wo dann alle Welt sehen kann, wie schön oder unschön
das Wetter gerade ist, dort wo man wohnt.
Auf die
Installation einer Webcam gehe ich hier nicht näher ein. Ob
die Cam funktioniert kann man ganz einfach mit dem Tool xawtv
überprüfen, welches nicht nur mit TV-Karten umgehen kann,
sondern auch prima mit Webcams zurecht kommt (siehe Beitrag xawtv - Webcam und TV-Karte wiedergeben).
Zuerst muß
man natürlich erst einmal das Programm installieren, also
# apt-get install webcam
Das Programm
webcam benötigt eine Konfigurationsdatei, welche Wahlweise
in /etc/webcam.conf liegen kann oder im home-Verzeichnis
mit Namen .webcamrc.
Leider ist die Manpage von webcam mehr als dürftig ausgefallen
und geht nicht näher auf die erforderlichen Einstellungen ein.
Meine ersten Versuche endeten mit den zwei Fehlermeldungen daß
die Einstellung für norm und input falsch ist.
Die Angabe in der Manpage sieht z.B. für die Einstellung input
TV oder composite vor, während bei mir usb
korrekt war. Glücklicherweise gibt es ein Hilfsmittel um die
richtigen Einstellungen herauszufinden. Man gibt einfach auf der
Konsole ein:
# v4lctl list
und erhält
attribute |
type |
current |
default |
comment |
norm input bright contrast color Auto White |
choice choice int int int bool |
(null) usb 63 32 0 on |
webcam usb 64 0 0 off |
webcam usb range is 0 => 128 range is 0 => 64 range is 0 => 100 |
....
Wie man
an den entsprechenden Zeilen sehen kann, ist für mich die Einstellung
norm = webcam und input = usb korrekt.
Anhand dieser Werte kann man nun die erforderlichen Einstellungen
in der Konfigurationsdatei vornehmen. Hier eine Beispiel-Datei mit
ein paar Standard-Einstellungen. Wer tiefer ins Detail gehen will,
kann sich sämtliche möglichen Einstellungen in der manpage
nachschlagen.
[ftp]
host = udosworld.de
user = ftp-Anmeldename
pass = xxxxxx
dir = /Webcam
file = webcam.jpg
tmp = imageup.jpg
local = 0
[grab]
device = /dev/video0
width = 320
height = 240
delay = 10
input = usb
norm = webcam
quality = 75
trigger = 0
host = die eigene
Homepage auf der die Bilder erscheinen sollen.
user = der Anmeldename für den FTP-Zugang zur Homepage.
pass = das Paßwort (steht hier dann leider im Klartext
drin!)
dir = Das Directory unter dem das Bild gespeichert werden
soll.
file = der Dateiname, hier ein jpg-Bild.
tmp = der Name für die temporäre Zwischenspeicherung.
local = setzt man local auf 1 findet keine Einwahl per FTP
statt, das Bild wird sozusagen nur local verwendet.
device = das Video-Device,
in der Regel video0.
width, height = die Abmaße des Bildes.
delay = die Zeit in Sekunden, die bis zum nächsten Bild
verstreicht.
input, norm = (siehe oben)
quality = die JPG-Qualität, hier 75.
trigger = Setzt man trigger auf 0 wird immer ein aktuelles
Bild hochgeladen. Bei höheren Werten nur noch, wenn sich etwas
im Bild ändert.
Somit ist das Programm einsatzbereit. Fehlt nur noch das Einbinden des Webcam-Bildes in die Webseite. Dazu legt man zuerst auf dem Homepage-Speicherplatz das
Verzeichnis /Webcam an, so wie in der conf-Datei festgelegt.
Anschließend erstellt man eine Webseite in der folgende Dinge
drinstehen müssen:
<html>
<head>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="refresh" content="5">
</head>
<body>
<center>
<h2>My Web Cam</h2>
<img src="/Webcam/webcam.jpg" width="320"
height="240">
</center>
</body>
</html>
Mit der Angabe <meta http-equiv="pragma" content="no-cache"> wird das Zwischenspeichern auf Proxy-Servern verhindert. Die Angabe
<meta http-equiv="cache-control" content="no-cache"> weist den Browser an, die Seite nicht aus dem Cache zu laden, sondern immer frisch vom Webserver. Die Angabe <meta http-equiv="expires" content="0"> sagt, nach wievielen Sekunden die Seite nicht mehr aktuell ist. In unserem Fall nach 0 Sekunden somit wird die Seite bei einem reload ebenfalls neu vom Webserver geholt. Und zum Schluß die wichtigste Angabe: <meta http-equiv="refresh" content="5"> weist den Browser an, nach so und sovielen Sekunden die Seite neu zu laden. Würde diese Angabe fehlen, müßte man immer mittels des F5-Buttons "von Hand" selbst aktualisieren, sonst würde man ewig auf ein und dasselbe Bild starren...
Nachdem wir das html-Dokument auf den Homepage-Speicherplatz hochgeladen haben, fehlt nur noch das Programm abzustarten. Dazu gibt man dem
Programmaufruf das Config-File mit.
# webcam /etc/webcam.conf
möchte man das Programm im Hintergrund laufen lassen, gibt
man ein UND-Zeichen mit an:
# webcam /etc/webcam.conf &
Um das im Hintergrund laufende Programm wieder zu beenden, muß
man entweder kill mit der Signalnummer eingeben oder man
holt mittels fg das Programm wieder in den Vordergrund und
beendet es mit STRG-C.
# fg webcam
|