We have added a new quad channel source parameter to support products with more flexible multi-view configurations.

What will change?

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).

What are the benefits of this change?

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.

Why are Axis doing these changes?

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.

What should developers take into consideration?

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:
 

  • A number, the video is obtained from a single physical video source.
  • 'quad', this is the classical 2x2 quad view.
  • A string containing numbers and ',' and *:' characters. In this case the video is a composite video made up of images from several physical video sources. The ',' separates columns and the ':' separates rows.
    • With this syntax the classical quad view would be denoted as '0,1:2,3', i.e. two rows with two columns in each.
    • A panoramic 1x4 view would be expressed as '0,1,2,3', i.e. one row with four columns.
       

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.
 

The rule for how to know what camera id to use on the URL is the following:

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