'Could an ONVIF Conformance product reply a different IP address than the ONVIF device in the URI parameter of GetStreamURI command?

We have a modular camera system which is formed by a visible module, a pan and tilt module, and a thermal module between others. All these modules are connected to an electronic box where embedded software is running to manage and control the whole system. This software provides an ONVIF interface to manage it or play their video streams from any ONVIF client. So far, there is nothing special that distinguishes this camera from the others, but, the visible module of this camera has an external interface that is able to provide a Full HD stream through RTSP while the electronic box isn't. Then the question is, although the electronic box can set all video settings of the Full HD encoder but cannot stream the FULL HD video, Is the ONVIF GetStreamUri command (for the visible media profile FHD) able to return the URI of the visible sensor (rtsp://x.x.x.y/VisibleFHD) even when the request is handled by the Electronic Box (IP: x.x.x.k)?

I hope this scheme can help you to understand better my question. enter image description here



Solution 1:[1]

From your product description, Device looks like a 'multi-head' or 'multi-sensor' device with varying streaming capabilities. In that case you would want to make multiple 'VideoSourceConfigurations' and may be shared 'VideoEncoderConfigurations' that can handle settings for both video sources (that's what was mentioned in your problem description)

Ref: https://www.onvif.org/specs/srv/media/ONVIF-Media2-Service-Spec-v100.pdf Section 5.4 Table 10

GetStreamUri

  • The Protocol defines how the encoded data is expected to be streamed to the client.
  • The ProfileToken element indicates the media profile to use and will define the configuration of the content of the stream.

Request input parameters

  • xs:string Protocol [1][1]
  • tt:ReferenceToken ProfileToken [1][1]

As GetStreamUri expects a 'ProfileToken' as the input, You may need to make different media profiles that include configurations as per below example

Build Media profile (Say Token 1)

  • Add Video source configuration Token 1 (non FHD source)
  • Add Video Encoder configuration 1

Build Media profile (Say Token 2)

  • Add Video source configuration Token 2 (FHD source)
  • Add Video Encoder configuration 1 (Assuming shared encoder config works)

Expected Streaming Requests for streaming different sources

  • GetStreamUri(Media profile Token 1, "transport protocol X") - For streaming non-FHD video
  • GetStreamUri(Media profile Token 2, "transport protocol X") - For streaming FHD video.

Update: (after you confirmation that above explained configurations are in place, kept for reference for future readers)

In that case, response for your query - Can the IP address of the FHD Media profile token being different that the IP address (ONVIF Device endpoint) of the non-FHD Media profile - 'may not be possible'.

Long answer would be as below

  • As you know the whole conformance process starts with 'selecting/choosing' a specific network interface be it IPv4 or IPv6. Even though more than one interface is active(say wired, wireless etc.,) Conformance would not be run on those interfaces in parallel.

  • If FHD and non-FHD heads/sensors are accessed over different IP's, then may be you would need to run "conformance tool" over 2 network interfaces separately and cannot claim this "product" as a single device for 'conformance'. As your product seems a bit special, you would need to explain in 'ONVIF Interface guide' - how would an ONVIF user access non-FHD/FHD heads (with largely different streaming capabilities)

  • If you think from the client perspective, they usually make a 'one time' discovery of your device (discovery response includes all the interfaces that device exposes and client will select one of them), add device into their system and they would try to do all config + setup + streaming ONVIF interface calls (GetStreamURI being one among such calls).

Note: I see FLIR is a contributing member for ONVIF and you have access to technical workgroups, please join the Device Test WG so that you can discuss further with the tool vendor or write a ticket.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1