AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi IP-Kamera steuern/auslesen mit ONVIF - WSDL-Import
Thema durchsuchen
Ansicht
Themen-Optionen

IP-Kamera steuern/auslesen mit ONVIF - WSDL-Import

Ein Thema von TERWI · begonnen am 11. Jan 2016 · letzter Beitrag vom 17. Feb 2016
Antwort Antwort
Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#1

IP-Kamera steuern/auslesen mit ONVIF - WSDL-Import

  Alt 11. Jan 2016, 14:10
Ich möchte gerne div. IP-/WLAN-Kameras, welche den ONVIF-Standard unterstützen neben dem Stream auch mittels ONVIF auslesen und auch einstellen (Helligkeit, Kontrast, Farbe etc., Zoom, PTZ sofern vorhanden u.a).

Das mit dem Stream auslesen hat nach anfänglichen Schwierigkeiten recht einfach geklappt (via DirectShow mit DS-Pack), wenn man die richtige und vollständige Ansage per URL kennt.

Aber beim sonstigen Zugriff tue ich mich schwer, weil noch nie mit so was gearbeitet.
Diverses suchen sagte mir: Du must dir erst mal von Delphi eine Unit aus einer entsprechnden WSDL-Datei bauen lassen.

Hat auch ne Weile gedauert, bis ich dahintergekommen bin, wie das geht .... nun hab ich hier 23 XML-Dateien für den tuto-kompletto-Gesamtzugriff - wovon allerdings sicherlich nur ein paar wenige gebraucht werden.

ABER:
Ich bekomme nicht eine einzige fehlerfrei gelesen !

Da komme ich nicht weiter, weil auch keinen Plan über den Aufbau und Zusammenhängen von/in XML-Dateien. Noch nie was mit am Hut gehabt.
Ich habe mal 2 vermeintlich wichtige davon zusammengepakt und anhehängt.
Könnte mal jemand den Versuch machen, die zu laden ?!
Mache ich das was falsch oder sind die Quelldateien irgendwie nicht kompatibel, bez. fehlen irgendwelche Bezüge ?
1000 Dank im voraus.

Fast vergessen: Ich arbeite (noch) mit Delphi 7.
Angehängte Dateien
Dateityp: rar WSDL.rar (102,1 KB, 45x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.056 Beiträge
 
Delphi 12 Athens
 
#2

AW: IP-Kamera steuern/auslesen mit ONVIF - WSDL-Import

  Alt 11. Jan 2016, 14:38
Muß dann auch erstmal in Ruhe reinsehn, wenn ich demächst bissl Zeit finde.

Eine öffentliche Kamera zum Testen wurde hier irgendwo schon genannt? (glaub ich)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: IP-Kamera steuern/auslesen mit ONVIF - WSDL-Import

  Alt 11. Jan 2016, 15:22
Ergänzende Erklärung noch:
Zuerst kam der Importer mit zig Fehlermeldung in zig Zeilen: Kann nicht lesen, ungültiges Zeichen, ....
Hab mir die Datei mit dem Notepad++ mal angesehen und lauter lustige x93, x94 "Markierungen" gefunden, die ich dann nach und nach alle gelöscht habe.
Ok - kein Gemecker mehr dazu, ABER:

Dann kam: Missing <definition> node of namespace "http://schemas.xmlsoap.org/wsdl/"
  Mit Zitat antworten Zitat
Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: IP-Kamera steuern/auslesen mit ONVIF - WSDL-Import

  Alt 16. Jan 2016, 14:34
.... etwas weiter gekommen:
Irgenwie hatte ich den Verdacht, die aus den WEBseiten kopierten WSDL-Dateien sind wohl nicht so das gelbe, habe ich weitergesucht und mir letztendlich von dem Sourcefourge-Projekt "ONVIF-Device Manager" den Source gezogen.
Dort gibt es im Unterordner /ONVIF/Schemas eine Latte WSDL-Dateien (mit anderen), welche doch irgendwie anders aussehen....
Hab ich mal für Interessierte angehängt: ONVIF_WDSL_Org.rar

Versuch 1 mit Delphi 7 auf XP:
Diverse WSDL's ließen sich fehlerfrei lesen und importieren.
Bei einigen konnten irgendwelche Quelldaten nicht gelesen werden, bei wieder anderen kamen Access-Fehler.
Nicht so prickelnd.

Versuch 2 mit Delphi 2010 unter Win7:
Bis auf 2 von 17 WSDL's sind alle ohne Gemecker importierbar !
Bei "deviceio.wsdl" wird gemault, er kann "media.wsdl" irgendwo im Delphi-Verzeichnis (!?!?!) nicht finden (die gibt es aber im ONVIF-Verzeichnis).
Bei "onvif.wsdl" stänkert das Gerät, "DTD HTML" wäre ungültig in der Dateil "event.wsdl".

Vergleicht ich dann mal die Importe aus D7 und D2010, sind doch erhebliche Unterschiede im Umfang festzustellen.
.... scheint dann wohl doch so, dass D7 langsam out of Date ist .... ?!
Ich habe dazu mal die Importe in der Datei ONVIF_WDSL_Delphi.rar angehängt.
Alle Dateien OHNE 1 hinter dem Namen sind von D7, alle MIT der 1 dahinter von D2010.


Nun werde ich mal den "ONVIF_WG-APG-Application_Programmer's_Guide.pdf" weiter studieren und schauen, wie ich mit meinen bescheidenen Kenntnissen hoffentlich einen kleinen Erfolg erziehlen kann.
Hilfe dazu und den o.g. Fehlern sind logo weiterhin sehr willkommen.
Angehängte Dateien
Dateityp: rar ONVIF_WDSL_Delphi.rar (145,6 KB, 65x aufgerufen)
Dateityp: rar ONVIF_WDSL_Org.rar (114,4 KB, 42x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: IP-Kamera steuern/auslesen mit ONVIF - WSDL-Import

  Alt 17. Feb 2016, 16:44
... ein Monat nach dem letzten Posting ist rum.
Völlig neue Erkenntnisse haben sich hier aufgetan !
WEIL:
- niemand konnte/wollte helfen, was beitragen ...
- WSDL-Support scheint ja auch in neueren Delphi-Versionen nocht nicht so ganz prickelnd zu sein ...
- SOAP-XML generieren scheint ja aktuell auch noch nicht wirklich ausgekocht zu sein ?!
- Und betreff WSDL bin ich auch noch nicht (wirklich) schlauer geworden.

Hab ich mich also mal eben schnell hingesetzt und mittels ONVIF-Doku und dem lauschen an der Datenkommunkation zwischen PC und Kamera mittels WireShark was ausgebröselt,

OHNE (!) zusatzliche Komponenten hab ich eine noch sehr kleine Klasse erst mal nur für das DeviceManagement gebastelt, um Daten von der/den Kamera(s) zu bekommen und zu setzen.
SOAP-XML Kommandos wie Ergebnisse werte ich manuell mit eigenen Routinen aus.
Klappt so weit tadellos !

So bald ich was habe, was optimiert, fehlerfrei und für die die DP-CodeLib tauglich ist, werden ich dort was einstellen.

Eine Bitte noch:
Hoffentlich bin ich hier nicht der einzige, welcher sich mit ONVIF-tauglichen Kameras beschäftigt...
... Fragen, Wünsche, Tipps & weiteres KnowHow sind logo wilkkommen !
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: IP-Kamera steuern/auslesen mit ONVIF - WSDL-Import

  Alt 17. Feb 2016, 18:08
Es ist bestimmt nicht böse gemeint, wenn hier so gut wie keiner schreibt/antwortet.

Meine bescheidenen Erkenntnisse zum Thema WSDL/SOAP mit Delphi sind schnell zusammengefasst:
Zitat:
Wenn der Importer auf Anhieb kein vernünftiges Ergebnis liefert, sofort die Finger davon lassen!
Wenn der SOAP-Service Zertifikate benötigt werfe ich den Delphi-Importer gar nicht erst an!
Ich persönlich erstelle mir dann einfach mit C# (der WSDL-Import dort hat bis dato immer einwandfrei funktioniert) eine DLL, die ich dann von Delphi aus einbinde.

Das ist zugegeben eine Fleißaufgabe, die aber schneller und zuverlässiger funktioniert als das Herumbasteln mit Delphi.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz