Ich versuche mich noch immer an ONVIF-tauglichen
IP/WLAN-Kameras - deren Erkennung zunächst (dann auch auslesen und steuern).
Suche/Lese seit einigen Tagen das WWW rauf und runter, finde aber nichts wirklich gescheites für "Dummies", die das noch nie gemacht haben.
Der ONVIF-Application-Programmers-Guide
(hier frei ladbar:
http://www.onvif.org/Portals/0/docum...%27s_Guide.pdf)
ist zwar recht gut les- und interpretierbar (Programmneutral) und ich bin im groben dabei, das ganze nach Delphi zu portieren.
Probleme beginnen jedoch schon im Kapitel 4: Wie erkenne ich die Kamera('s) im Netz ?
Dieses "Dicovery" scheint
WSDL-unabhängig zu sein und ist offensichtlich dur MS definiert.
Siehe hier:
https://msdn.microsoft.com/en-us/lib...=vs.85%29.aspx
(Sehr wahrscheinlich) Bin ich zu blöd zum suchen ...!? Finde nix gescheites in Bezug auf Delphi,
was mir als NewBy in diesem Bereich ein AHA-Erlebnis aus irgendwelchen Beschreibungen oder Code bringen würde.
Div. TUT's zu WebServices haben da auch nicht wirklich weitergeholfen ....
Was braucht's da an vorhandenen Packages / Klassen ?
Ist eine spezielle "WSAPI" erforderlich ?
HILFE .... BITTE !
Ergänzung:
Was kann man hiermit (ONVIF-Prog-Guide s.o. - ab Seite 110) anfangen ?
Zitat:
B.1
SOAP Communication Trace for Discovery
The following trace refers to Section 4.
In the examples below,
Types: dn:NetworkVideoTransmitter
Scopes: onvif://www.onvif.org/type/video_encoder
onvif://www.onvif.org/type/audio_encoder
onvif://www.onvif.org/hardware/MODEL
onvif://www.onvif.org/name/VENDOR%20MODEL
onvif://www.onvif.org/location/ANY
XAddrs:
http://169.254.76.145/onvif/services
http://192.168.1.24/onvif/services
Address: urn:uuid:a1f48ac2-dc8b-11df-b255-00408c1836b2
Discovery.Probe message
Code:
<?
xml version="1.0" encoding="UTF-8"?>
<e:Envelope xmlns:e="http://www.w3.org/2003/05/
soap-envelope"
xmlns:w="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:d="http://schemas.xmlsoap.org/ws/2005/04/discovery"
xmlns:dn="http://www.onvif.org/ver10/network/
wsdl">
<e:Header>
<w:MessageID>uuid:84ede3de-7dec-11d0-c360-f01234567890</w:MessageID>
<w:To e:mustUnderstand="true">urn:schemas-xmlsoap-org:ws:2005:04:discovery</w:To>
<w:Action a:mustUnderstand="true">http://schemas.xmlsoap.org/ws/2005/04/discovery/Probe</w:Action>
</e:Header>
<e:Body>
<d:Probe>
<d:Types>dn:NetworkVideoTransmitter</d:Types>
</d:Probe>
</e:Body>
</e:Envelope>
.... noch ne Ergänzung:
Bei MS (siehe Link oben zu Discovery) sieht das dann so aus:
Code:
<?
xml version="1.0" encoding="utf-8" ?>
<
soap:Envelope
xmlns:
soap="http://www.w3.org/2003/05/
soap-envelope"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
xmlns:wsd="http://schemas.xmlsoap.org/ws/2005/04/discovery"
xmlns:wsdp="http://schemas.xmlsoap.org/ws/2006/02/devprof">
<
soap:Header>
<wsa:To>
urn:schemas-xmlsoap-org:ws:2005:04:discovery
</wsa:To>
<wsa:Action>
http://schemas.xmlsoap.org/ws/2005/04/discovery/Probe
</wsa:Action>
<wsa:MessageID>
urn:uuid:29cf10da-5c41-4d55-b184-5ee15e38ce23
</wsa:MessageID>
</
soap:Header>
<
soap:Body>
<wsd:Probe>
<wsd:Types>wsdp:Device</wsd:Types>
</wsd:Probe>
</
soap:Body>
.... fehlt da nicht was ? ? ? Zunmindestens das Ende von "Envelope"
Dinge zu ONVIF stehen hier nicht drin - Systembedingt.