Lupus IP-Cam / Frage zu Lösungsansatz / Stream aufnehmen / IPCAM?

Begonnen von babbeldoo, 29 Dezember 2017, 18:31:20

Vorheriges Thema - Nächstes Thema

babbeldoo

Guten Abend Zusammen, ich benötige mal einen gedanklichen Schupser zu folgendem Problem:

Ist-Zustand
- Lupus IP-Cam (LE200) ist über WLAN eingebunden
- per Bewegungserkennung wird bei Auslösen ein 30 Sek. Video auf meiner NAS gespeichert
- per 'Aufnahme-Button' im Browser Plug-In kann ich manuell eine Aufnahme des Live Stream per FTP auf der NAS speichern

Aufgabenstellung
- bei Eintreten eines Ereignis soll
   a) ein vordefinierter Fahrweg / "Rundfahrt" (Track genannt im Plug-In) gestartet werden
   b) der Live Stream auf meiner NAS gespeichert werden ("Aufnahme")
- danach bei Eintreten eines Ereignis soll
   c) die "Aufnahme" des Live Stream wieder gestoppt werden
   d) die Kamera in eine definierte Position ("Haustuer") zurück fahren

Bisherige Ergebnisse
> zu Punkt a) kann ich die "Rundfahrt" per cgi-Komando im Browser starten
http://192.168.XXX.XXX:88/cgi-bin/CGIProxy.fcgi?cmd=ptzStartCruise&mapName=CheckAround&usr=myusername&pwd=mypassword

> zu Punkt b) bekomme ich den Live Stream per cgi-Kommando im Browser angezeigt
http://192.168.XXX.XXX:88/cgi-bin/CGIStream.cgi?cmd=GetMJStream&usr=myusername&pwd=mypassword

> zu Punkt d) bekomme ich die "Rundfahrt" gestoppt und die Kamera wieder in die Wunschposition gefahren
http://192.168.XXX.XXX:88/cgi-bin/CGIProxy.fcgi?cmd=ptzStopCruise&usr=myusername&pwd=mypassword
http://192.168.XXX.XXX:88/cgi-bin/CGIProxy.fcgi?cmd=ptzGotoPresetPoint&name=Haustuer4&usr=myusername&pwd=mypassword


> in FHEM habe ich ein entsprechendes IPCAM Device angelegt
define ipCamFloor IPCAM http://192.168.XXX.XXX:88/
attr ipCamFloor basicauth myusername:mypassword
attr ipCamFloor pathCmd cgi-bin/CGIProxy.fcgi
attr ipCamFloor cmd01 ptzStartCruise&mapName=CheckAround
attr ipCamFloor cmd02 ptzStopCruise
attr ipCamFloor pathPanTilt cgi-bin/CGIProxy.fcgi
attr ipCamFloor cmdPos01 command=Haustuer
attr ipCamFloor path cgi-bin/CGIStream.cgi?cmd=GetMJStream
attr ipCamFloor room Flur Eingang
attr ipCamFloor storage /opt/fhem/www/test
attr ipCamFloor verbose 5


Fragen
1.) Ich wühle mich seit drei Tagen durch's Wiki, die CommandRef, die Foren Threads.... aber ich kriege es nicht zusammen, dass das Modul das tut, was ich möchte
   i. bei 'set ipCamFloor cmd 1' passiert erstmal garnix außer dass im Eventlog "2017-12-29 17:46:21 IPCAM ipCamFloor cmd 1" angezeigt wird. Im Logfile ist nichts zu sehen und die Kamera rührt sich auch nicht
   ii. Gleiches bei 'set ipCamFloor cmd 2'
   iii. und auch hier: im Eventlog steht '2017-12-29 17:55:47 IPCAM ipCamFloor pos 1' aber keine Cam-Reaktion und kein Log-Eintrag

Wo stehe ich da auf dem Schlauch? Was mache ich verkehrt bzw. was ist in der Konfig nicht korrekt?

2.) Mit 'get ipCamFloor image' mal eine Reaktion. Leider nicht die Gewünschte
   > PERL WARNING: Use of uninitialized value in read at ./FHEM/49_IPCAM.pm line 452.
   > IPCAM ipCamFloor Wrong or not supported image format: error while reading source image:
Das mit dem "not supported image format" habe ich schon häufiger hier im Forum gesehen. Aber die erste PERL Warnung lässt mich vermuten, dass da noch mehr nicht stimmt(?)

Geht das überhaupt so, wie ich mir das vorstelle - den Stream anstatt einzelne Snapshots zu speichern?

3.) Falls das alles so nix wird, hat jemand Erfahrung damit, wie man den Live-Stream in eine Datei 'umlenkt' und damit eine Aufnahme erzeugen kann? Dann wäre ich für Hinweise oder einen Gedankenanstoss dankbar.

babbeldoo

Cool, dann beantworte ich mal einen Teil meiner Fragen  selber ;)

Es gibt einige Änderungen, die ich zur obigen Konfiguration vorgenommen habe - damit klappt es dann:

> in der DEFinition musste das vorangestellte "http://" raus (also nur IP-Adresse und Port)
> mit gesetzten 'basicauth' Parametern scheint der Request nicht zu funktionieren; also raus damit und in den Aufruf verfrachtet
> 'cmd01' als vollständigen cgi-Pfad definiert, inklusive User & Passwort


define ipCamFloor IPCAM 192.168.XXX.XXX:88/
attr ipCamFloor pathCmd cgi-bin/CGIProxy.fcgi
attr ipCamFloor cmd01 cmd=ptzStartCruise&mapName=CheckAround&usr=myusername&pwd=mypassword
attr ipCamFloor room Flur Eingang
attr ipCamFloor verbose 3


Und genauso funktioniert dann auch das Stoppen der "Rundfahrt" sowie das Ansteuern der Defaultposition


attr ipCamFloor cmd02 cmd=ptzStopCruise&usr=myusername&pwd=mypassword
attr ipCamFloor cmd03 cmd=ptzGotoPresetPoint&name=Haustuer&usr=myusername&pwd=mypassword


Schon mal einen großen Schritt weiter...

Jetzt fehlt mir "nur" noch die Lösung, den aktuellen Stream auf die NAS zu speichern ('Recording').