我正在使用一个开源PHP库来与一个支持Onvif的IP摄像头进行通信。
库中缺少一个函数GetSnapshotUri,它返回一个URL,用户可以在其中获取主流的快照。
这是源代码:http://pastebin.com/ekJa4D2h
下面是主页:
<?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;
}
?>由于某些原因,isFault函数是真的,我不知道为什么。
XML是有效的,我用Wireshark检查过了。
有没有人有另一个摄像头,如果这个有效的话?
我试过两种不同的相机,Grandstream和Hikvision。
同样,在ONVIF设备管理器v2.2.250中,一切都像它应该的那样工作。
我知道这不太可能,但我一点头绪都没有。
发布于 2017-02-23 02:36:49
修复方法是:在函数中使用http://pastebin.com/ryqxFjdR mediaurl而不是getsnapshoturl。
https://stackoverflow.com/questions/42397948
复制相似问题