Surprise - Raumüberwachung, Einbruchschutz, Webcam

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
dige
Beiträge: 1183
Registriert: 08.09.2004 08:53

Re: Surprise - Raumüberwachung, Einbruchschutz, Webcam

Beitrag von dige »

Cool, Danke! Jetzt gehts. :-)

Bisher habe ich den Videobuffer direkt manipuliert und
brauchte mich nicht um die Ausgabe/Anzeige zu kümmern.

Durch die Möglichkeit komprimierte Frames zu verarbeiten
muss dieses nun in einem extra Speicher laufen und separat
angezeigt werden.

Das wirft ein altes ungelöstes Problem auf den Tisch: wie kann
man das Video-Overlay unterdrücken und das Bild statt dessen
selbst via ImageGadget etc. anzeigen?

Die Messages für Overlay bzw. Preview scheinen ob #True oder #False
keine Auswirkungen zu haben.

Code: Alles auswählen

      SendMessage_(hWndC, #WM_CAP_SET_SCALE, #TRUE, 0)
      SendMessage_(hWndC, #WM_CAP_SET_OVERLAY, #TRUE, 0)
      SendMessage_(hWndC, #WM_CAP_SET_PREVIEW, #TRUE, 0)
Hast Du dazu noch einen Tipp? Vielen Dank schon mal! :)
"Papa, mein Wecker funktioniert nicht! Der weckert immer zu früh."
Benutzeravatar
Frabbing
Beiträge: 160
Registriert: 15.02.2007 21:31
Kontaktdaten:

Re: Surprise - Raumüberwachung, Einbruchschutz, Webcam

Beitrag von Frabbing »

Hab auch keine solche - direkte - Lösung gefunden. Ich halte es nun immer so, dass ich das Videofenster direkt auf dem Desktop erstelle in Größe 1 x 1. Dann ist es ja weg. Ganz aus dem Bildschirmbereich rausschieben geht nicht, weil es dann keine Videodaten mehr empfängt. Das ist überhaupt auch der Grund, warum ich es nicht in meinem Fenster gebrauchen kann, weil die Videoanzeige sonst ausfällt, sobald mein Fenster (teil)verdeckt wird.
Damit es nicht in der Taskleiste erscheint, mache ich einfach ein Toolwindow daraus:

Code: Alles auswählen

text.s = "Videofenster"
capAddress = GetFunction(#avicap, "capCreateCaptureWindowA")
hWndC = CallFunctionFast(capAddress, @text, #WS_child, 0, 0, 1, 1, GetDesktopWindow_(), 1)
SetWindowLongPtr_(hWndC, #GWL_EXSTYLE, #WS_EX_TOOLWINDOW)
Das ist für mich eine ganz zufriedenstellende Lösung. :-)

Dein eigenes Videofenster anzeigen ist sehr einfach. Erzeuge aus der BITMAPINFOHEADER einen hbitmap-Handle und bringe es mit DrawImage auf dein Fenster oder in ein PB-Image zur weiteren Benutzung.
Gruß, Frank
Benutzeravatar
Frabbing
Beiträge: 160
Registriert: 15.02.2007 21:31
Kontaktdaten:

Re: Surprise - Raumüberwachung, Einbruchschutz, Webcam

Beitrag von Frabbing »

Falls du eine bessere Lösung findest, darfst du sie gerne mitteilen. :-)
Gruß, Frank
Benutzeravatar
dige
Beiträge: 1183
Registriert: 08.09.2004 08:53

Re: Surprise - Raumüberwachung, Einbruchschutz, Webcam

Beitrag von dige »

Die Idee das Vorschaubild durch Verkleinerung auf 1x1 zu verstecken ist simple wie genial! :allright:
Bei mir funktioniert es zwar erst ab einer Größe von 4x4 Pixeln - aber das passt schon.

Code: Alles auswählen

 hWndC = CallFunctionFast(*capCreate, @"Video Capture", #WS_CHILD, 0, 0, 4, 4, GetDesktopWindow_(), 1)
 SetWindowLongPtr_(hWndC, #GWL_EXSTYLE, #WS_EX_TOOLWINDOW)
"Papa, mein Wecker funktioniert nicht! Der weckert immer zu früh."
Benutzeravatar
Frabbing
Beiträge: 160
Registriert: 15.02.2007 21:31
Kontaktdaten:

Re: Surprise - Raumüberwachung, Einbruchschutz, Webcam

Beitrag von Frabbing »

Bei mir funktioniert es zwar erst ab einer Größe von 4x4 Pixeln - aber das passt schon.
Echt? Was passiert denn bei einem 1x1 Fenster, z.B. wenn du mein Programm oben startest?
Gruß, Frank
Benutzeravatar
Frabbing
Beiträge: 160
Registriert: 15.02.2007 21:31
Kontaktdaten:

Re: Surprise - Raumüberwachung, Einbruchschutz, Webcam

Beitrag von Frabbing »

Frabbing hat geschrieben:
Bei mir funktioniert es zwar erst ab einer Größe von 4x4 Pixeln - aber das passt schon.
Echt? Was passiert denn bei einem 1x1 Fenster, z.B. wenn du mein Programm oben startest?
Die Info wäre vielleicht wichtig, Dige.
Ist es auch möglich das Bild während der Aufnahme weiterhin live anzuzeigen?
Ja, ab der nächsten Version wird es weiter angezeigt.
Könnte man auf dem Bild einen Ausschnitt aufziehen & an beliebiger Stelle positionieren und daß sich dann die Bewgungsüberwachung NUR auf diesen Ausschnitt beschränkt? (falls gewünscht)? Auf den Videos habe ich dann das ganze Bild (um die Gesamtsituation erkennen zu können), aber der Auslöser bezieht sich nur auf diesen Ausschnitt.
Ist genauso eingebaut.
Was mich mehr stört ist, dass wenn jemand schnell durchs Bild läuft, niemand aufgezeichnet wird, weil das Video unweigerlich zu spät startet.
Surprise arbeitet nun mit einem Bilder-Puffer. Je nach Schnelligkeit der Kamera werden 2-5 Sekunden schon vor einer Auslösung aufgezeichnet, und dann in die Videos mit eingebaut. Nun sieht man immer, wer den Bewegungsmelder ausgelöst hat.

Die neue Version werde ich gegen Anfang des neuen Jahres online stellen. Muss noch testen und die Anleitung noch general-überholen.
Gruß, Frank
Benutzeravatar
HeX0R
Beiträge: 2960
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: Surprise - Raumüberwachung, Einbruchschutz, Webcam

Beitrag von HeX0R »

Moin,

ich hätte auch ein paar Verbesserungsvorschläge:
  1. Den Ordner, in dem die Videos gespeichert werden hätte ich gerne einstellbar.
  2. Die Frage nach dem Kameratreiber jedesmal nach dem Starten nervt.
    Einmal einstellen und das sollte gespeichert werden.
    (Kann ja später über erweiterte Einstellungen nachträglich geändert werden)
  3. Das minütliche Senden eines Bildes über FTP hätte ich auch gerne flexibler.
Ansonsten ein cooles Programm!
Wenn es auch etwas unübersichtlich und zusammengequetscht wirkt.
Benutzeravatar
Frabbing
Beiträge: 160
Registriert: 15.02.2007 21:31
Kontaktdaten:

Re: Surprise - Raumüberwachung, Einbruchschutz, Webcam

Beitrag von Frabbing »

HeX0R hat geschrieben:Moin,

ich hätte auch ein paar Verbesserungsvorschläge:
  1. Den Ordner, in dem die Videos gespeichert werden hätte ich gerne einstellbar.
  2. Die Frage nach dem Kameratreiber jedesmal nach dem Starten nervt.
    Einmal einstellen und das sollte gespeichert werden.
    (Kann ja später über erweiterte Einstellungen nachträglich geändert werden)
  3. Das minütliche Senden eines Bildes über FTP hätte ich auch gerne flexibler.
Ansonsten ein cooles Programm!
Wenn es auch etwas unübersichtlich und zusammengequetscht wirkt.
Danke HeX0r,

den Kameratreiber mache ich noch abwählbar.
Den Video-Ordner würde ich eigentlich gerne so im Temp beibehalten und gar nicht wählbar machen, ist besser für DAUs. Man kann aber jetzt Checkboxen der Videos anwählen und sie in einem Schwung in einen selbstgewählten Ordner kopieren. Reicht dir das?

EDIT: Habs jetzt erstmal editierbar gemacht.

Die Funktion für die Webcam war eigentlich nur als reiner Bonus gedacht. Wenn ich das wählbar mache, wird mancheiner es damit sicher übertreiben. In der Zeit, in der ein Bild hochgeladen wird, stockt die Überwachung natürlich etwas.

Ich weiss, das Programm ist schon recht kompakt. Dafür braucht man aber nicht groß durch viele Fenster rumzuklicken. Ist aber besser geworden, finde ich. Hier ein aktueller Screenshot:

Bild
Gruß, Frank
Benutzeravatar
HeX0R
Beiträge: 2960
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: Surprise - Raumüberwachung, Einbruchschutz, Webcam

Beitrag von HeX0R »

Frabbing hat geschrieben: Den Video-Ordner würde ich eigentlich gerne so im Temp beibehalten und gar nicht wählbar machen, ist besser für DAUs. Man kann aber jetzt Checkboxen der Videos anwählen und sie in einem Schwung in einen selbstgewählten Ordner kopieren. Reicht dir das?
EDIT: Habs jetzt erstmal editierbar gemacht.
Wenn es denn der Temp-Ordner wäre, hätte ich auch keine Probleme damit, den habe ich auf ein anderes Laufwerk verschoben.
Nur der, den du benutzt, liegt auf meiner kleineren SSD-Platte.
Aber, da eh jeder eigene Vorlieben hat, wäre eine (optionale) Auswahlmöglichkeit schon nett.
Evtl. meinst du das ja mit "editierbar".
Benutzeravatar
Frabbing
Beiträge: 160
Registriert: 15.02.2007 21:31
Kontaktdaten:

Re: Surprise - Raumüberwachung, Einbruchschutz, Webcam

Beitrag von Frabbing »

Genau. Wählbar ist wohl die bessere Wortwahl. :)

EDIT #1: Das Auswahlfenster für den Kameratreiber ist jetzt auch abwählbar.
EDIT #2: Auch die Zeiten für das Hochladen von Bildern ist nun flexibler gestaltet. Wahlweise alle 10, 30, 60 oder 120 Sekunden.
Gruß, Frank
Antworten