Onvif Replay Extension
The VAPIX® Onvif Replay Extension API makes it possible to receive a Real-time Transport Protocol (RTP) header extension with a Network Time Protocol (NTP) timestamp for video and/or audio streams on an Axis device.
param.cgi
can be used to enable Real-Time
Streaming Protocol (RTSP) parameters as a default.
Use cases include mapping a metadata object with a timestamp into a video frame within a video stream.
The Onvif Streaming specification specifies the RTP header extension.
Identification
- Property:
Properties.API.RTP.OnvifReplayExt
- Firmware: 10.11 and later
Example
Check if the feature is supported. On an open terminal, send the following HTTP GET
request to param.cgi
:
curl --digest --user root:pass 'http://<ip>/axis-cgi/param.cgi?action=list&group=Properties.API.RTP.OnvifReplayExt'
A correct response will contain the property "Properties.API.RTP.OnvifReplayExt=yes"
.
Use cases
Retrieve video stream
Enable Onvif Replay Extension with the RTSP setup. NTP timestamps will be included in the RTP packets and the client can use them to map frames to metadata objects, synchronize video from different cameras, etc. RTP header extensions are enabled if the RTSP parameter is used.
Example
Open a streaming application, such as VLC, and a network URL (Media -> Open Network Stream):
rtsp://root:pass@<ip>:554/axis-media/media.amp?videocodec=h264&onvifreplayext=1
Check the network with, for example, a wireshark for an RTP header extension. This can also be used if you want to disable the feature in case it was enabled by default:
rtsp://root:pass@<ip>:554/axis-media/media.amp?videocodec=h264&onvifreplayext=0
Retrieve default values
Check if the RTP header extension is enabled by default. If it is, the feature will be used even if the RTSP setup doesn't contain any extra parameters.
Example
Check if the feature is enabled by default. On an open terminal, send the following HTTP GET
request to param.cgi
:
curl --digest --user root:pass 'http://<ip>/axis-cgi/param.cgi?action=list&group=Network.RTP.OnvifReplayExt'
If the feature is supported, the response will contain Network.RTP.OnvifReplayExt=yes
.
Enable Onvif Replay Extension
Enable or disable the RTP header extension by default.
Example
Enable or disable the feature by default. On an open terminal, send the following HTTP GET
request to param.cgi
:
curl --digest --user root:pass 'http://<ip>/axis-cgi/param.cgi?action=update&Network.RTP.OnvifReplayExt=yes'
API specifications
Check if the feature is supported
Check if RTP with the OnvifReplayExt feature is supported.
Request
GET /param.cgi?action=list&group=Properties.API.RTP.OnvifReplayExt
Parameter | Available values | Description |
---|---|---|
action=<string> | list | The parameter action. |
group=<string> | Properties.API.RTP.OnvifReplayExt | The parameter group name. |
Responses
200 OK
Example value
Properties.API.RTP.OnvifReplayExt=yes
Schema
Feature is supported
{
[
Properties.API.RTP.OnvifReplayExt=yes
]
}
Feature is not supported
{
[
# Error: Error -1 getting param in group 'Properties.API.RTP.OnvifReplayExt'
]
}
Check if the feature is enabled by default
Check if RTP with the OnvifReplayExt feature is enabled by default.
Request
GET /param.cgi?action=list&group=Network.RTP.OnvifReplayExt
Parameter | Available values | Description |
---|---|---|
action=<string> | list | The parameter action. |
group=<string> | Network.RTP.OnvifReplayExt | The parameter group name. |
Responses
200 OK
Example value
Network.RTP.OnvifReplayExt=yes
Schema
Feature is enabled
{
[
Network.RTP.OnvifReplayExt=yes
]
}
Feature is disabled
{
[
Network.RTP.OnvifReplayExt=no
]
}
Feature is not supported
{
[
# Error: Error -1 getting param in group 'Network.RTP.OnvifReplayExt'
]
}
Enable or disable the feature by default
Enable RTP with the OnvifReplayExt feature by default.
Request
GET /param.cgi?action=update&Network.RTP.OnvifReplayExt=yes
Parameter | Available values | Description |
---|---|---|
action=<string> | update | The parameter action. |
Network.RTP.OnvifReplayExt=<string> | yes , no | The new default value for Network.RTP.OnvifReplayExt . |
Responses
200 OK
Example value
OK
Schema
Value is updated
{
[
OK
]
}
Feature is not supported
{
[
# Error: Error setting 'root.Network.RTP.OnvifReplayExt' to 'yes'!
]
}