2017-02-22 3 views
0

Ich verwende eine Open Source-PHP-Bibliothek, um mit einer Onvif-fähigen IP-Kamera zu kommunizieren.
Es gab eine fehlende Funktion in der Bibliothek, GetSnapshotUri, die eine URL zurückgibt, wo man eine Momentaufnahme des Hauptstroms erhalten kann.PHP Onvif - GetSnapshotUri

Hier ist die Quelle: http://pastebin.com/ekJa4D2h

Hier Hauptseite:

<?php 

require 'class.ponvif.php'; 

$onvif = new Ponvif(); 
$onvif->setUsername('admin'); 
$onvif->setPassword('admin'); 
$onvif->setIPAddress('192.168.1.100'); 

try 
{ 
    $onvif->initialize(); 
    $sources = $onvif->getSources(); 
    $profileToken = $sources[0][0]['profiletoken']; 
    $uri = $onvif->media_GetSnapshotUri($profileToken); 

    } 
     catch(Exception $e) 
    { 
    print $e; 
    } 
?> 

Aus irgendeinem Grund ist die isFault Funktion wahr, und ich habe keine Ahnung, warum.
Das XML ist gültig, ich habe es mit Wireshark überprüft.
Hat jemand eine andere Kamera, wenn das funktioniert?
Ich habe mit 2 verschiedenen Kameras, Grandstream und Hikvision versucht.
Auch mit ONVIF Device Manager v2.2.250 funktioniert alles wie es sollte.
Ich weiß, das ist ein langer Schuss, aber ich habe absolut keine Ahnung.

+0

Ich habe wieder wiresharked, und ich kann nicht sehen, das Programm eine GetSnapshotUri überhaupt ausgeführt. – HyperDevil

Antwort