We have added a new quad channel source parameter to support products with more flexible multi-view configurations.
Axis products with four physical video sources traditionally also offer a multi-view stream composed of images from the four physical sources, the quad view. That stream is accessed by adding 'camera=quad' to the URL when accessing the video.
However, in newer multi-view products the quad-channel cannot be accessed using 'camera=quad', but instead, the client should use 'camera=N' (where N is the index of the Image group for the quad + 1).
This allows for products with multiple multi-view channels, like one traditional quad and one panoramic quad and all channels are accessed the same way.
This change was done to support products with more flexible multi-view configurations and to have a consistent way of accessing the video.
Now it is possible to have several multi-view channels made up of images from four physical sources, like one classical 2x2 quad and one panoramic 1x4 quad. Using the value of the Source parameter the clients can figure out what kind of view it is, the number of physical sources, and the layout.
For each video source, physical or not, there is a corresponding Image.I# parameter group, allowing the user to configure video obtained from the video source. One of the parameters is the Source parameter. The Source parameter is read-only and denotes the physical video source(s) that the source is derived from. This value is not meant to be used as the camera id on the URL. It is only meant to inform from which physical video source, or combination of sources, the video was obtained. For example, on a single sensor product with view area support all the Image.I# groups will have the Source parameter set to 0. On older products with quad view the value of Image.I#.Source in the Image group for the quad is 'quad'.
Now we have introduced a new syntax for the value of the Source parameter. The value can be one of the following:
The new syntax allows the client to discover not only whether the product has multi-view channels, but also how many physical video sources they are made up of, and the layout of the multi-channels.
camera id = Image group index (for Image.I4 that would be 4) + 1
The only exception to this rule is the classical quad. If there is an Image.I# group that has the Source parameter set to 'quad' then it's a quad view, and it can only be accessed using 'camera=quad'.
The following logic could be used on the client-side to figure out how to stream from the different sources:
if Image.I#.Source == 'quad'
multiview = TRUE
camera='quad'
else if Image.I#.Source contains a ',' or a ':' then
multiview = TRUE
camera = # + 1
else
multiview = FALSE
camera = # + 1
Below are some real examples using param.cgi and defining the RTSP URL accordingly
Param.cgi call: /axis-cgi/param.cgi?action=list&group=Image
Response from Q6010-E:
root.Image.I4.Enabled=yes
root.Image.I4.Name=Quad
root.Image.I4.Source=0,1;2,3
RTSP URL to call for quad view of Q6010:
rts p://Camera's IO/axis-media/media.amp?camera=5
Response from M3057-PLVE Mk II:
root.Image.I3.Enabled=yes
root.Image.I3.Name=Quad View
root.Image.I3.Source=0
RTSP URL to call for quad view of M3057-PLVE Mk II:
rts p://Camera's IO/axis-media/media.amp?camera=4
Response from FA54:
root.Image.I4.Enabled=yes
root.Image.I4.Name=Quad View
root.Image.I4.Source=quad
RTSP URL to call for quad view of FA54:
rts p://Camera's IO/axis-media/media.amp?camera=quad
Response from Q1786-LE:
root.Image.I0.Enabled=yes
root.Image.I0.Name=Camera 1
root.Image.I0.Source=0
It is non multichannel device so RTSP URL to call:
rts p://Camera's IO/axis-media/media.amp?camera=1