在onvif设备管理器中显示视频流

时间:2016-09-19 12:26:56

标签: web-services wsdl video-streaming onvif

我希望使用ONVIF设备管理器查看来自其他计算机的视频流。我在我的代码中实现了WS-discovery和WS-security,包括device,deviceIO和media wsdls,我的代码可以在这些wsdl文件中响应wsdl操作。但是Onvif DM没有任何要求启动视频流或获取流URL的请求。

我可以从Onvif DM看到这个屏幕: enter image description here 以及此屏幕之前的所有请求均为:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/py2neo/ogm.py", line 442, in first
    return self._object_class.wrap(super(GraphObjectSelection, self).first())
  File "/usr/local/lib/python2.7/dist-packages/py2neo/ogm.py", line 344, in wrap
    _ = getattr(inst, attr)
  File "/usr/local/lib/python2.7/dist-packages/py2neo/ogm.py", line 90, in __get__
    related[key] = RelatedObjects(cog.node, self.direction, self.relationship_type, self.related_class)
  File "/usr/local/lib/python2.7/dist-packages/py2neo/ogm.py", line 135, in __init__
    self.__relationship_pattern = "(a)<-[_:%s]-(b)" % cypher_escape(relationship_type)
  File "/usr/local/lib/python2.7/dist-packages/py2neo/database/cypher.py", line 221, in cypher_escape
    writer.write_identifier(identifier)
  File "/usr/local/lib/python2.7/dist-packages/py2neo/database/cypher.py", line 78, in write_identifier
    raise ValueError("Invalid identifier")
ValueError: Invalid identifier

我认为它与GetServices响应有关但我无法找到遗漏的内容。我的GetServices响应:

DeviceBindingService :: GetSystemDateAndTime
DeviceBindingService :: GetDeviceInformation
DeviceBindingService :: GetScopes
DeviceBindingService :: GetDNS
DeviceBindingService :: GetNetworkInterfaces
DeviceBindingService :: GetSystemDateAndTime
DeviceBindingService :: GetCapabilities
DeviceBindingService :: GetServices
DeviceBindingService :: GetCapabilities
MediaBindingService :: GetVideoSources
MediaBindingService :: GetProfiles
MediaBindingService :: GetProfiles
MediaBindingService :: GetSnapshotUri
MediaBindingService :: GetProfiles
MediaBindingService :: GetAudioSources

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

我遗漏的是GetVideoSourceConfigurationGetProfiles回复之间的一些不一致。 - 感谢@mpromonet -

要在ONVIF设备管理器中显示实时视频流,我必须实现另外两个功能:

MediaBindingService :: GetStreamUri
MediaBindingService :: GetVideoSourceConfiguration