Hauptmenü

USB-Webcam in fhem

Begonnen von Kuzl, 26 Februar 2014, 19:31:44

Vorheriges Thema - Nächstes Thema

Kuzl

Hallo ich hoffe ihr könnt helfen.

Ich versuche schon einige Zeit in Fhem meine Webcam einzubinden. Diese ist an den Raspi angeschlossen auf dem FHEM läuft.
Was ich will ist eine relativ aktuelle (so ca. 5-10 Sekunden) abbildung der Webcam im Fhem Fronted.
Die Webcam wird bereits erkannt, kann auch Fotos damit machen z.b. mit fswebcam oder motion, wobei bei so vielen Bildern hintereinander motion die bessere Wahl ist, was die CPU-Auslastung betrifft.
Ich kann auch mit motion einen livestream starten, der allerdings komischerweise nur mit dem Firefox oder VLC-Player angezeigt wird (chrome nicht und auch weblink und IPCAM nicht)

Mitlerweile hab ich es so gelöst, dass ich mithilfe von HTMLSRV das Verzeichnis freigegeben habe und dann mit weblink image darauf zugreife
Ist nicht sehr elegant und es wird auch nicht aktualisiert.

Habt ihr bessere Ideen/Lösungsvorschläge?

Viele Grüße
Kuzl

Gerhard

Hi Kuzl,

versuche es mit iframe den Lifestream darzustellen.

hier eine INSTAR Cam:

define IpCamStream weblink iframe http://192.168.0.40/videostream.cgi?user=admin&pwd=&resolution=8&rate=23

oder eine webseite:

define Wetter weblink iframe http://www.wetteronline.de/cgi-bin/hpweather?PLZ=91350

Gerhard
FB6890LTE, cubietruck, orangePi, raspberry 2/3/4, HM/HMIP, shelly > 50, etc.

Kuzl

Habs mal versucht.
Beim ersten Versuch direkt der Stream von motion => leeres weißes kästchen wird angezeigt (hab da nur http://localhost:8081 eingegeben muss ich da noch irgendwas dazu angeben?
Beim 2. Versuch die website aus dem HTMLSRV => wird leider nicht aktualisiert

mach ich etwas falsch?

Kuzl

ok habs grad hingekriegt mit einem HTML-Code:
<html>
<head>
<meta http-equiv="refresh" content="5">
<title>Titel</title>
</head>
<body>
<img src="http://localhost:8083/fhem/webcam/lastsnap.jpg" alt="Webcamfoto"></body>
</html>


allerdings noch nicht optimal, da immer die komplette Seite aktualisiert wird und nicht nur das Bild.

Noch eine Frage, ich sollte warscheinlich das Verzeichnis, in dem das Bild ist als Ramdisk einstellen oder?
wie mach ich das?

Gerhard

zitat:

Zitathab da nur http://localhost:8081 eingegeben muss ich da noch irgendwas dazu angeben?[/quote
ich kenne deine Cam nicht, aber irgendwo in der Beschreibung müsstest du es finden wie es geht.

irgendwo in Forum war ein Beitrag, wo VLC-Player in ein iframe (glaube ich) dargestellt wurde. den Beitrag finde ich gerade nicht.
vll meldet sich der Author!?

Gerhard
FB6890LTE, cubietruck, orangePi, raspberry 2/3/4, HM/HMIP, shelly > 50, etc.

det.

Wenn es nicht heute Nacht sein muss, kann ich morgen in der Firma mal den Code aus dem RPI auslesen. Hab mit genau so einer USB Cam, FHEM und dem IPCAM Modul von Martin Fischer eine Schnee Höhenüberwachung für den Winterdienst gebastelt. Der RPI funktioniert prächtig seit Anfang November 2013 - geschneit hat's nicht...
LG
det.

Kuzl

Das wär super wenn du das machen könntest vielen Dank :)

det.

Dann sende ich Dir morgen die FHEM.cfg per pm
LG
det.

Kuzl

inzwischen hab ich eine gute Lösung gefunden, die sich selbst alle 5 Sekunden aktualisiert und alles andere in Ruhe lässt :)
ist als weblink mit HTML definiert
<html><head> <script LANGUAGE="JavaScript"><!-- function back() { history.go(-1); } //--></script> </head> <img name="dyn_bild" src="http://192.168.178.62:8083/fhem/webcam/lastsnap.jpg" width="320" height="240"> <script LANGUAGE="JavaScript"><!-- function reloadImage() { var now = new Date(); if (document.images) { document.images.dyn_bild.src = 'http://192.168.178.62:8083/fhem/webcam/lastsnap.jpg'; } setTimeout('reloadImage()',5000); } setTimeout('reloadImage()',5000); //--></script> <br> <a href="http://192.168.178.62:8083/fhem?detail=webcam">webcam</a> </body></html>

bin gespannt wie du das über IPCAM machst :)

derben

Hey ich bräuchte hierzu mal ne Hilfe:

Ich hab ne Logitech Cam an meine Bubi angeschlossen
Auf der Console kann ich bildet machen per:

fswebcam --device /dev/video0 -r 1680x1080 -d /dev/video0 -v /tmp/Büro.jpeg

So was und welche Schritte sind hier nötig um das so elegant hinzubekommen wie ihr?
Ich würde gern eine Seite Aufrufen - z.B. Garten und hier sehe ich dann das Bild welches sich alle 15 Sekunden aktualisiert
und mein Eingang (/dev/video1) das Bild sich alle 5 Sekunden aktualisiert

Wer kann helfen - schritt für schritt ? (Alternativ ne Anleitung / Link wo ich selber was machen kann)

Danke euch

Kuzl

Hallo derben,

sry für die späte Antwort, bin im Moment sehr im stress und komme zu gar nichts :D
Also als nächstes musst du dir das programm "motion" einrichten; wie das geht steht zu genüge im internet.
ob der Webcamserver vernünftige bilder schickt siehst du dir am besten mit dem vlc-player an.
Wichtig ist, dass du in der config von motion alles andere ausschaltest. deine SD-Karte wird es dir danken wenn sie nicht alle paar Sekunden ein Bild speichern muss :D

Wenn das richtig funktioniert kannst du es mit diesem Code in FHEM einbinden. Bei mir funktioniert er, hab aber auch schon von anderen gehört so geht es bei ihnen nicht. Wenns bei dir nicht geht probier den code von weiter oben ;)


define webcam weblink htmlCode <html>\
<img name="dyn_bild" src="http://192.168.178.62:8081" width="240" height="320">\
<br>\
<a href="http://192.168.178.62:8083/fhem?detail=webcam">webcam</a>   \
</body></html>

drdownload

Kann man eigentlich bei motion einstellen dass nur bei Zugriff auf dass Bild oder Stream die Kamera auch eingeschaltet wird?
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

Kuzl

Davon hab ich leider keine Ahnung, müsstest du einfach mal die config durchschaun.
Allerdings wird ja nur beim aufruf auch gestreamt, das heißt es belastet die CPU nur dann merklich mehr, wenn du auch das Bild irgendwo ansiehst.

drdownload

Ich schmökere gerade in den Konfig-Beispielen, Problem ist, dass wenn meine USB-Webcam permanent läuft sie schon sehr warm wird, wer weiß wie lange sie das überlebt und für das reine Event Bewegung habe ich ja richtige Bewegungsmelder.
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

derben

Danke - für alle Neulinge hier ne Schritt für Schritt Anleitung:

Anleitung:
Für Bilder machen:

Befehl:
apt-get fswebcam
fswebcam --device /dev/video0 -r 1680x1080 -d /dev/video0 -v /tmp/Bild.jpeg

Hier kann man einfach ein Bild machen und schauen ob es funktioniert.

---
Motion Einrichtung:

http://www.karesyk.de/webcam-server-einrichten/
Ohne Apache.

Per Browser / VLC auf : 192.168.178.165:8081
und das Bild kommt.

--

FHEM Config: (IP Anpassen!)

# Webcam Balkon
define Webcam_Balkon weblink htmlCode <html>\
<img name="dyn_bild" src="http://192.168.178.165:8081" width="640" height="480">\
<br>\
<a href="http://192.168.178.165:8083/fhem?detail=webcam">webcam</a>   \
</body></html>
attr Webcam_Balkon room Terrasse,.Wetter

Fertig.

Grüße und besten Dank vom Ben