The capabilities for the media service is returned in the Capabilities element. Media profile capabilities. Streaming capabilities. Indicates if GetSnapshotUri is supported. Indicates whether or not Rotation feature is supported. Indicates the support for changing video source mode. Indicates if OSD is supported. Maximum number of profiles supported. Indicates support for RTP multicast. Indicates support for RTP over TCP. Indicates support for RTP/RTSP/TCP. Indicates support for non aggregate RTSP control. Indicates the device does not support live media streaming via RTSP. List of existing Video Sources List of existing Audio Sources List of existing Audio Outputs friendly name of the profile to be created Optional token, specifying the unique identifier of the new profile.
A device supports at least a token length of 12 characters and characters "A-Z" | "a-z" | "0-9" | "-.".
returns the new created profile this command requests a specific profile returns the requested media profile lists all profiles that exist in the media service Reference to the profile where the configuration should be added Contains a reference to the VideoEncoderConfiguration to add Contains a reference to the media profile from which the VideoEncoderConfiguration shall be removed. Reference to the profile where the configuration should be added Contains a reference to the VideoSourceConfiguration to add Contains a reference to the media profile from which the VideoSourceConfiguration shall be removed. Reference to the profile where the configuration should be added Contains a reference to the AudioEncoderConfiguration to add Contains a reference to the media profile from which the AudioEncoderConfiguration shall be removed. Reference to the profile where the configuration should be added Contains a reference to the AudioSourceConfiguration to add Contains a reference to the media profile from which the AudioSourceConfiguration shall be removed. Reference to the profile where the configuration should be added Contains a reference to the PTZConfiguration to add Contains a reference to the media profile from which the PTZConfiguration shall be removed. Reference to the profile where the configuration should be added Contains a reference to the VideoAnalyticsConfiguration to add Contains a reference to the media profile from which the VideoAnalyticsConfiguration shall be removed. Reference to the profile where the configuration should be added Contains a reference to the MetadataConfiguration to add Contains a reference to the media profile from which the MetadataConfiguration shall be removed. Reference to the profile where the configuration should be added Contains a reference to the AudioOutputConfiguration to add Contains a reference to the media profile from which the AudioOutputConfiguration shall be removed. This element contains a reference to the profile where the configuration should be added. This element contains a reference to the AudioDecoderConfiguration to add. This element contains a reference to the media profile from which the AudioDecoderConfiguration shall be removed. This element contains a reference to the profile that should be deleted. This element contains a list of video encoder configurations. This element contains a list of video source configurations. This element contains a list of audio encoder configurations. This element contains a list of audio source configurations. This element contains a list of VideoAnalytics configurations. This element contains a list of metadata configurations This element contains a list of audio output configurations This element contains a list of audio decoder configurations Token of the requested video source configuration. The requested video source configuration. Token of the requested video encoder configuration. The requested video encoder configuration. Token of the requested audio source configuration. The requested audio source configuration. Token of the requested audio encoder configuration. The requested audio encoder configuration Token of the requested video analytics configuration. The requested video analytics configuration. Token of the requested metadata configuration. The requested metadata configuration. Token of the requested audio output configuration. The requested audio output configuration. Token of the requested audio decoder configuration. The requested audio decoder configuration Contains the token of an existing media profile the configurations shall be compatible with. Contains a list of video encoder configurations that are compatible with the specified media profile. Contains the token of an existing media profile the configurations shall be compatible with. Contains a list of video source configurations that are compatible with the specified media profile. Contains the token of an existing media profile the configurations shall be compatible with. Contains a list of audio encoder configurations that are compatible with the specified media profile. Contains the token of an existing media profile the configurations shall be compatible with. Contains a list of audio source configurations that are compatible with the specified media profile. Contains the token of an existing media profile the configurations shall be compatible with. Contains a list of video analytics configurations that are compatible with the specified media profile. Contains the token of an existing media profile the configurations shall be compatible with. Contains a list of metadata configurations that are compatible with the specified media profile. Contains the token of an existing media profile the configurations shall be compatible with. Contains a list of audio output configurations that are compatible with the specified media profile. Contains the token of an existing media profile the configurations shall be compatible with. Contains a list of audio decoder configurations that are compatible with the specified media profile. Contains the modified video encoder configuration. The configuration shall exist in the device. The ForcePersistence element is obsolete and should always be assumed to be true. Contains the modified video source configuration. The configuration shall exist in the device. The ForcePersistence element is obsolete and should always be assumed to be true. Contains the modified audio encoder configuration. The configuration shall exist in the device. The ForcePersistence element is obsolete and should always be assumed to be true. Contains the modified audio source configuration. The configuration shall exist in the device. The ForcePersistence element is obsolete and should always be assumed to be true. Contains the modified video analytics configuration. The configuration shall exist in the device. The ForcePersistence element is obsolete and should always be assumed to be true. Contains the modified metadata configuration. The configuration shall exist in the device. The ForcePersistence element is obsolete and should always be assumed to be true. Contains the modified audio output configuration. The configuration shall exist in the device. The ForcePersistence element is obsolete and should always be assumed to be true. Contains the modified audio decoder configuration. The configuration shall exist in the device. The ForcePersistence element is obsolete and should always be assumed to be true. Optional video source configurationToken that specifies an existing configuration that the options are intended for. Optional ProfileToken that specifies an existing media profile that the options shall be compatible with. This message contains the video source configuration options. If a video source configuration is specified, the options shall concern that particular configuration. If a media profile is specified, the options shall be compatible with that media profile. If no tokens are specified, the options shall be considered generic for the device. Optional video encoder configuration token that specifies an existing configuration that the options are intended for. Optional ProfileToken that specifies an existing media profile that the options shall be compatible with. Optional audio source configuration token that specifies an existing configuration that the options are intended for. Optional ProfileToken that specifies an existing media profile that the options shall be compatible with. This message contains the audio source configuration options. If a audio source configuration is specified, the options shall concern that particular configuration. If a media profile is specified, the options shall be compatible with that media profile. If no tokens are specified, the options shall be considered generic for the device. Optional audio encoder configuration token that specifies an existing configuration that the options are intended for. Optional ProfileToken that specifies an existing media profile that the options shall be compatible with. This message contains the audio encoder configuration options. If a audio encoder configuration is specified, the options shall concern that particular configuration. If a media profile is specified, the options shall be compatible with that media profile. If no tokens are specified, the options shall be considered generic for the device. Optional metadata configuration token that specifies an existing configuration that the options are intended for. Optional ProfileToken that specifies an existing media profile that the options shall be compatible with. This message contains the metadata configuration options. If a metadata configuration is specified, the options shall concern that particular configuration. If a media profile is specified, the options shall be compatible with that media profile. If no tokens are specified, the options shall be considered generic for the device. Optional audio output configuration token that specifies an existing configuration that the options are intended for. Optional ProfileToken that specifies an existing media profile that the options shall be compatible with. This message contains the audio output configuration options. If a audio output configuration is specified, the options shall concern that particular configuration. If a media profile is specified, the options shall be compatible with that media profile. If no tokens are specified, the options shall be considered generic for the device. Optional audio decoder configuration token that specifies an existing configuration that the options are intended for. Optional ProfileToken that specifies an existing media profile that the options shall be compatible with. This message contains the audio decoder configuration options. If a audio decoder configuration is specified, the options shall concern that particular configuration. If a media profile is specified, the options shall be compatible with that media profile. If no tokens are specified, the options shall be considered generic for the device. Token of the video source configuration The minimum guaranteed total number of encoder instances (applications) per VideoSourceConfiguration. The device is able to deliver the TotalNumber of streams If a device limits the number of instances for respective Video Codecs the response contains the information how many Jpeg streams can be set up at the same time per VideoSource. If a device limits the number of instances for respective Video Codecs the response contains the information how many H264 streams can be set up at the same time per VideoSource. If a device limits the number of instances for respective Video Codecs the response contains the information how many Mpeg4 streams can be set up at the same time per VideoSource. Stream Setup that should be used with the uri The ProfileToken element indicates the media profile to use and will define the configuration of the content of the stream. Contains the token of the Profile that is used to define the multicast stream. Contains the token of the Profile that is used to define the multicast stream. Contains a Profile reference for which a Synchronization Point is requested. The ProfileToken element indicates the media profile to use and will define the source and dimensions of the snapshot. Contains a video source reference for which a video source mode is requested. Return the information for specified video source mode. Contains a video source reference for which a video source mode is requested. Indicate video source mode. The response contains information about rebooting after returning response. When Reboot is set true, a device will reboot automatically after setting mode. Indication which encodings are supported for this video source. The list may contain one or more enumeration values of tt:VideoEncoding. Max frame rate in frames per second for this video source mode. Max horizontal and vertical resolution for this video source mode. Indication which encodings are supported for this video source. The list may contain one or more enumeration values of tt:VideoEncoding. After setting the mode if a device starts to reboot this value is true. If a device change the mode without rebooting this value is false. If true, configured parameters may not be guaranteed by the device after rebooting. Informative description of this video source mode. This field should be described in English. Indicate token for video source mode. Indication of whether this mode is active. If active this value is true. In case of non-indication, it means as false. The value of true shall be had by only one video source mode. Token of the Video Source Configuration, which has OSDs associated with are requested. If token not exist, request all available OSDs. This element contains a list of requested OSDs. The GetOSD command fetches the OSD configuration if the OSD token is known. The requested OSD configuration. Contains the modified OSD configuration. Video Source Configuration Token that specifies an existing video source configuration that the options shall be compatible with. Contain the initial OSD configuration for create. Returns Token of the newly created OSD This element contains a reference to the OSD configuration that should be deleted.
Returns the capabilities of the media service. The result is returned in a typed answer. This command lists all available physical video inputs of the device. This command lists all available physical audio inputs of the device. This command lists all available physical audio outputs of the device. This operation creates a new empty media profile. The media profile shall be created in the device and shall be persistent (remain after reboot). A created profile shall be deletable and a device shall set the “fixed” attribute to false in the returned Profile. If the profile token is already known, a profile can be fetched through the GetProfile command. Any endpoint can ask for the existing media profiles of a device using the GetProfiles command. Pre-configured or dynamically configured profiles can be retrieved using this command. This command lists all configured profiles in a device. The client does not need to know the media profile in order to use the command. This operation adds a VideoEncoderConfiguration to an existing media profile. If a configuration exists in the media profile, it will be replaced. The change shall be persistent. A device shall support adding a compatible VideoEncoderConfiguration to a Profile containing a VideoSourceConfiguration and shall support streaming video data of such a profile. This operation removes a VideoEncoderConfiguration from an existing media profile. If the media profile does not contain a VideoEncoderConfiguration, the operation has no effect. The removal shall be persistent. This operation adds a VideoSourceConfiguration to an existing media profile. If such a configuration exists in the media profile, it will be replaced. The change shall be persistent. This operation removes a VideoSourceConfiguration from an existing media profile. If the media profile does not contain a VideoSourceConfiguration, the operation has no effect. The removal shall be persistent. Video source configurations should only be removed after removing a VideoEncoderConfiguration from the media profile. This operation adds an AudioEncoderConfiguration to an existing media profile. If a configuration exists in the media profile, it will be replaced. The change shall be persistent. A device shall support adding a compatible AudioEncoderConfiguration to a profile containing an AudioSourceConfiguration and shall support streaming audio data of such a profile. This operation removes an AudioEncoderConfiguration from an existing media profile. If the media profile does not contain an AudioEncoderConfiguration, the operation has no effect. The removal shall be persistent. This operation adds an AudioSourceConfiguration to an existing media profile. If a configuration exists in the media profile, it will be replaced. The change shall be persistent. This operation removes an AudioSourceConfiguration from an existing media profile. If the media profile does not contain an AudioSourceConfiguration, the operation has no effect. The removal shall be persistent. Audio source configurations should only be removed after removing an AudioEncoderConfiguration from the media profile. This operation adds a PTZConfiguration to an existing media profile. If a configuration exists in the media profile, it will be replaced. The change shall be persistent. Adding a PTZConfiguration to a media profile means that streams using that media profile can contain PTZ status (in the metadata), and that the media profile can be used for controlling PTZ movement. This operation removes a PTZConfiguration from an existing media profile. If the media profile does not contain a PTZConfiguration, the operation has no effect. The removal shall be persistent. This operation adds a VideoAnalytics configuration to an existing media profile. If a configuration exists in the media profile, it will be replaced. The change shall be persistent. Adding a VideoAnalyticsConfiguration to a media profile means that streams using that media profile can contain video analytics data (in the metadata) as defined by the submitted configuration reference. A profile containing only a video analytics configuration but no video source configuration is incomplete. Therefore, a client should first add a video source configuration to a profile before adding a video analytics configuration. The device can deny adding of a video analytics configuration before a video source configuration. This operation removes a VideoAnalyticsConfiguration from an existing media profile. If the media profile does not contain a VideoAnalyticsConfiguration, the operation has no effect. The removal shall be persistent. This operation adds a Metadata configuration to an existing media profile. If a configuration exists in the media profile, it will be replaced. The change shall be persistent. Adding a MetadataConfiguration to a Profile means that streams using that profile contain metadata. Metadata can consist of events, PTZ status, and/or video analytics data. This operation removes a MetadataConfiguration from an existing media profile. If the media profile does not contain a MetadataConfiguration, the operation has no effect. The removal shall be persistent. This operation adds an AudioOutputConfiguration to an existing media profile. If a configuration exists in the media profile, it will be replaced. The change shall be persistent. This operation removes an AudioOutputConfiguration from an existing media profile. If the media profile does not contain an AudioOutputConfiguration, the operation has no effect. The removal shall be persistent. This operation adds an AudioDecoderConfiguration to an existing media profile. If a configuration exists in the media profile, it shall be replaced. The change shall be persistent. This operation removes an AudioDecoderConfiguration from an existing media profile. If the media profile does not contain an AudioDecoderConfiguration, the operation has no effect. The removal shall be persistent. This operation deletes a profile. This change shall always be persistent. Deletion of a profile is only possible for non-fixed profiles This operation lists all existing video source configurations for a device. The client need not know anything about the video source configurations in order to use the command. This operation lists all existing video encoder configurations of a device. This command lists all configured video encoder configurations in a device. The client need not know anything apriori about the video encoder configurations in order to use the command. This operation lists all existing audio source configurations of a device. This command lists all audio source configurations in a device. The client need not know anything apriori about the audio source configurations in order to use the command. This operation lists all existing device audio encoder configurations. The client need not know anything apriori about the audio encoder configurations in order to use the command. This operation lists all video analytics configurations of a device. This command lists all configured video analytics in a device. The client need not know anything apriori about the video analytics in order to use the command. This operation lists all existing metadata configurations. The client need not know anything apriori about the metadata in order to use the command. This command lists all existing AudioOutputConfigurations of a device. The NVC need not know anything apriori about the audio configurations to use this command. This command lists all existing AudioDecoderConfigurations of a device. The NVC need not know anything apriori about the audio decoder configurations in order to use this command. If the video source configuration token is already known, the video source configuration can be fetched through the GetVideoSourceConfiguration command. If the video encoder configuration token is already known, the encoder configuration can be fetched through the GetVideoEncoderConfiguration command. The GetAudioSourceConfiguration command fetches the audio source configurations if the audio source configuration token is already known. An The GetAudioEncoderConfiguration command fetches the encoder configuration if the audio encoder configuration token is known. The GetVideoAnalyticsConfiguration command fetches the video analytics configuration if the video analytics token is known. The GetMetadataConfiguration command fetches the metadata configuration if the metadata token is known. If the audio output configuration token is already known, the output configuration can be fetched through the GetAudioOutputConfiguration command. If the audio decoder configuration token is already known, the decoder configuration can be fetched through the GetAudioDecoderConfiguration command. This operation lists all the video encoder configurations of the device that are compatible with a certain media profile. Each of the returned configurations shall be a valid input parameter for the AddVideoEncoderConfiguration command on the media profile. The result will vary depending on the capabilities, configurations and settings in the device. This operation requests all the video source configurations of the device that are compatible with a certain media profile. Each of the returned configurations shall be a valid input parameter for the AddVideoSourceConfiguration command on the media profile. The result will vary depending on the capabilities, configurations and settings in the device. This operation requests all audio encoder configurations of a device that are compatible with a certain media profile. Each of the returned configurations shall be a valid input parameter for the AddAudioSourceConfiguration command on the media profile. The result varies depending on the capabilities, configurations and settings in the device. This operation requests all audio source configurations of the device that are compatible with a certain media profile. Each of the returned configurations shall be a valid input parameter for the AddAudioEncoderConfiguration command on the media profile. The result varies depending on the capabilities, configurations and settings in the device. This operation requests all video analytic configurations of the device that are compatible with a certain media profile. Each of the returned configurations shall be a valid input parameter for the AddVideoAnalyticsConfiguration command on the media profile. The result varies depending on the capabilities, configurations and settings in the device. This operation requests all the metadata configurations of the device that are compatible with a certain media profile. Each of the returned configurations shall be a valid input parameter for the AddMetadataConfiguration command on the media profile. The result varies depending on the capabilities, configurations and settings in the device. This command lists all audio output configurations of a device that are compatible with a certain media profile. Each returned configuration shall be a valid input for the AddAudioOutputConfiguration command. This operation lists all the audio decoder configurations of the device that are compatible with a certain media profile. Each of the returned configurations shall be a valid input parameter for the AddAudioDecoderConfiguration command on the media profile. This operation modifies a video source configuration. The ForcePersistence flag indicates if the changes shall remain after reboot of the device. Running streams using this configuration may be immediately updated according to the new settings. The changes are not guaranteed to take effect unless the client requests a new stream URI and restarts any affected stream. NVC methods for changing a running stream are out of scope for this specification. This operation modifies a video encoder configuration. The ForcePersistence flag indicates if the changes shall remain after reboot of the device. Changes in the Multicast settings shall always be persistent. Running streams using this configuration may be immediately updated according to the new settings. The changes are not guaranteed to take effect unless the client requests a new stream URI and restarts any affected stream. NVC methods for changing a running stream are out of scope for this specification.
SessionTimeout is provided as a hint for keeping rtsp session by a device. If necessary the device may adapt parameter values for SessionTimeout elements without returning an error. For the time between keep alive calls the client shall adhere to the timeout value signaled via RTSP.
This operation modifies an audio source configuration. The ForcePersistence flag indicates if the changes shall remain after reboot of the device. Running streams using this configuration may be immediately updated according to the new settings. The changes are not guaranteed to take effect unless the client requests a new stream URI and restarts any affected stream NVC methods for changing a running stream are out of scope for this specification. This operation modifies an audio encoder configuration. The ForcePersistence flag indicates if the changes shall remain after reboot of the device. Running streams using this configuration may be immediately updated according to the new settings. The changes are not guaranteed to take effect unless the client requests a new stream URI and restarts any affected streams. NVC methods for changing a running stream are out of scope for this specification. A video analytics configuration is modified using this command. The ForcePersistence flag indicates if the changes shall remain after reboot of the device or not. Running streams using this configuration shall be immediately updated according to the new settings. Otherwise inconsistencies can occur between the scene description processed by the rule engine and the notifications produced by analytics engine and rule engine which reference the very same video analytics configuration token. This operation modifies a metadata configuration. The ForcePersistence flag indicates if the changes shall remain after reboot of the device. Changes in the Multicast settings shall always be persistent. Running streams using this configuration may be updated immediately according to the new settings. The changes are not guaranteed to take effect unless the client requests a new stream URI and restarts any affected streams. NVC methods for changing a running stream are out of scope for this specification. This operation modifies an audio output configuration. The ForcePersistence flag indicates if the changes shall remain after reboot of the device. This operation modifies an audio decoder configuration. The ForcePersistence flag indicates if the changes shall remain after reboot of the device. This operation returns the available options (supported values and ranges for video source configuration parameters) when the video source parameters are reconfigured If a video source configuration is specified, the options shall concern that particular configuration. If a media profile is specified, the options shall be compatible with that media profile. This operation returns the available options (supported values and ranges for video encoder configuration parameters) when the video encoder parameters are reconfigured.
For JPEG, MPEG4 and H264 extension elements have been defined that provide additional information. A device must provide the XxxOption information for all encodings supported and should additionally provide the corresponding XxxOption2 information.
This response contains the available video encoder configuration options. If a video encoder configuration is specified, the options shall concern that particular configuration. If a media profile is specified, the options shall be compatible with that media profile. If no tokens are specified, the options shall be considered generic for the device.
This operation returns the available options (supported values and ranges for audio source configuration parameters) when the audio source parameters are reconfigured. If an audio source configuration is specified, the options shall concern that particular configuration. If a media profile is specified, the options shall be compatible with that media profile. This operation returns the available options (supported values and ranges for audio encoder configuration parameters) when the audio encoder parameters are reconfigured. This operation returns the available options (supported values and ranges for metadata configuration parameters) for changing the metadata configuration. This operation returns the available options (supported values and ranges for audio output configuration parameters) for configuring an audio output. This command list the audio decoding capabilities for a given profile and configuration of a device. The GetGuaranteedNumberOfVideoEncoderInstances command can be used to request the minimum number of guaranteed video encoder instances (applications) per Video Source Configuration. This operation requests a URI that can be used to initiate a live media stream using RTSP as the control protocol. The returned URI shall remain valid indefinitely even if the profile is changed. The ValidUntilConnect, ValidUntilReboot and Timeout Parameter shall be set accordingly (ValidUntilConnect=false, ValidUntilReboot=false, timeout=PT0S).
The correct syntax for the StreamSetup element for these media stream setups defined in 5.1.1 of the streaming specification are as follows:
  1. RTP unicast over UDP: StreamType = "RTP_unicast", TransportProtocol = "UDP"
  2. RTP over RTSP over HTTP over TCP: StreamType = "RTP_unicast", TransportProtocol = "HTTP"
  3. RTP over RTSP over TCP: StreamType = "RTP_unicast", TransportProtocol = "RTSP"

If a multicast stream is requested the VideoEncoderConfiguration, AudioEncoderConfiguration and MetadataConfiguration element inside the corresponding media profile must be configured with valid multicast settings.
For full compatibility with other ONVIF services a device should not generate Uris longer than 128 octets.
This command starts multicast streaming using a specified media profile of a device. Streaming continues until StopMulticastStreaming is called for the same Profile. The streaming shall continue after a reboot of the device until a StopMulticastStreaming request is received. The multicast address, port and TTL are configured in the VideoEncoderConfiguration, AudioEncoderConfiguration and MetadataConfiguration respectively. This command stop multicast streaming using a specified media profile of a device Synchronization points allow clients to decode and correctly use all data after the synchronization point. For example, if a video stream is configured with a large I-frame distance and a client loses a single packet, the client does not display video until the next I-frame is transmitted. In such cases, the client can request a Synchronization Point which enforces the device to add an I-Frame as soon as possible. Clients can request Synchronization Points for profiles. The device shall add synchronization points for all streams associated with this profile. Similarly, a synchronization point is used to get an update on full PTZ or event status through the metadata stream. If a video stream is associated with the profile, an I-frame shall be added to this video stream. If a PTZ metadata stream is associated to the profile, the PTZ position shall be repeated within the metadata stream. A client uses the GetSnapshotUri command to obtain a JPEG snapshot from the device. The returned URI shall remain valid indefinitely even if the profile is changed. The ValidUntilConnect, ValidUntilReboot and Timeout Parameter shall be set accordingly (ValidUntilConnect=false, ValidUntilReboot=false, timeout=PT0S). The URI can be used for acquiring a JPEG image through a HTTP GET operation. The image encoding will always be JPEG regardless of the encoding setting in the media profile. The Jpeg settings (like resolution or quality) may be taken from the profile if suitable. The provided image will be updated automatically and independent from calls to GetSnapshotUri. A device returns the information for current video source mode and settable video source modes of specified video source. A device that indicates a capability of VideoSourceModes shall support this command. SetVideoSourceMode changes the media profile structure relating to video source for the specified video source mode. A device that indicates a capability of VideoSourceModes shall support this command. The behavior after changing the mode is not defined in this specification. Get the OSDs. Get the OSD. Get the OSD Options. Set the OSD Create the OSD. Delete the OSD.