Recording
Recording service implementation.
Recording
Bases: ONVIFService
Recording service client.
| Property | Details |
|---|---|
| First introduced | ONVIF 2.0 (November 2010) |
| Binding name | RecordingBinding (ver10/recording.wsdl) |
| Operations | recording.wsdl |
| Spec | RecordingControl |
GetServiceCapabilities
Returns the capabilities of the recording service.
The result is returned in a typed answer.
Output
-
Capabilities[Capabilities]The capabilities for the recording service is returned in the Capabilities element.-
DynamicRecordings- optional; [boolean]Indication if the device supports dynamic creation and deletion of recordings -
DynamicTracks- optional; [boolean]Indication if the device supports dynamic creation and deletion of tracks -
Encoding- optional; [StringList]Indication which encodings are supported for recording. The list may contain one or more enumeration values of tt:VideoEncoding and tt:AudioEncoding. For encodings that are neither defined in tt:VideoEncoding nor tt:AudioEncoding the device shall use the IANA defintions. Note, that a device without audio support shall not return audio encodings. -
MaxRate- optional; [float]Maximum supported bit rate for all tracks of a recording in kBit/s. -
MaxTotalRate- optional; [float]Maximum supported bit rate for all recordings in kBit/s. -
MaxRecordings- optional; [float]Maximum number of recordings supported. (Integer values only.) -
MaxRecordingJobs- optional; [int]Maximum total number of supported recording jobs by the device. -
Options- optional; [boolean]Indication if the device supports the GetRecordingOptions command. -
MetadataRecording- optional; [boolean]Indication if the device supports recording metadata. -
SupportedExportFileFormats- optional; [StringAttrList]Indication that the device supports ExportRecordedData command for the listed export file formats. The list shall return at least one export file format value. The value of 'ONVIF' refers to ONVIF Export File Format specification. -
EventRecording- optional; [boolean]Indication that the device supports event triggered recording. -
BeforeEventLimit- optional; [duration]If present a device shall support configuring before event durations up to the given value. -
AfterEventLimit- optional; [duration]If present a device shall support configuring after event durations up to the given value. -
SupportedTargetFormats- optional; [StringAttrList]List of formats supported by the device for recording to an external target. See tt:TargetFormat for a list of definitions. -
EncryptionEntryLimit- optional; [int]Number of encryption entries supported per recording. By specifying multiple encryption entries per recording, different tracks can be encrypted with different configurations. -
SupportedEncryptionModes- optional; [StringAttrList]Indicates supported encryption modes. See tt:EncryptionMode for a list of definitions. -
OverrideSegmentDuration- optional; [boolean]Indicates if the device supports the OverrideSegmentDuration command. -
AsymmetricEncryptionSupported- optional; [boolean]Indicates if the device supports asymmetric encryption. -
ScheduledRecording- optional; [boolean]Indicates if the device supports scheduled recording. -
OnboardStorage- optional; [boolean]Indicates if the device supports recording to onboard storage, default value is true. If false, device shall support recording to an external target. -
SegmentExport- optional; [boolean]Indicates support for ExportRecordedSegments.
-
CreateRecording
CreateRecording shall create a new recording.
The new recording shall be created with a track for each supported TrackType see Recording Control Spec.
This method is optional. It shall be available if the Recording/DynamicRecordings capability is TRUE.
When successfully completed, CreateRecording shall have created three tracks with the following configurations:
- TrackToken TrackType
- VIDEO001 Video
- AUDIO001 Audio
- META001 Metadata
The created recording shall have MaximumRetentionTime set to the value specified in the RecordingConfiguration supplied to CreateRecording. If that value is PT0S, the recording shall have unlimited retention. All tracks created as part of the request shall have the Description set to the empty string by default.
Input
-
RecordingConfiguration[RecordingConfiguration]Initial configuration for the recording.-
Source[RecordingSourceInformation]Information about the source of the recording.-
SourceId[anyURI]Identifier for the source chosen by the client that creates the structure. This identifier is opaque to the device. Clients may use any type of URI for this field. A device shall support at least 128 characters. -
Name[Name]Informative user readable name of the source, e.g. "Camera23". A device shall support at least 20 characters. -
Location[Description]Informative description of the physical location of the source, e.g. the coordinates on a map. -
Description[Description]Informative description of the source. -
Address[anyURI]URI provided by the service supplying data to be recorded. A device shall support at least 128 characters. -
VideoSourceToken- optional; [ReferenceToken]The video source token of all recordings that will use this configuration.
-
-
Content[Description]Informative description of the source. -
MaximumRetentionTime[duration]Specifies the maximum time that data in any track within the recording shall be stored. The device shall delete any data older than the maximum retention time. Such data shall not be accessible anymore. If the MaximumRetentionPeriod is set to 0, the device shall not limit the retention time of stored data, except by resource constraints. Whatever the value of MaximumRetentionTime, the device may automatically delete recordings to free up storage space for new recordings. This parameter has no effect on the data stored in external targets for e.g. Object Storage. -
Target- optional; [RecordingTargetConfiguration]Optional external storage target configuration.-
Storage[ReferenceToken]Token of a storage configuration. -
Format[string]Format of the recording. See tt:TargetFormat for a list of definitions and capability trc:SupportedTargetFormats for the supported formats. -
Prefix- optional; [string]Path prefix to be inserted in the object key. A device shall support at least 128 characters. -
Postfix- optional; [string]Path postfix to be inserted in the object key. A device shall support at least 128 characters. -
SpanDuration- optional; [duration]Maximum duration of a span. -
SegmentDuration[duration]Maximum duration of a segment. -
Encryption- optional, unbounded; [RecordingEncryption]Optional encryption configuration. See capability trc:EncryptionEntryLimit for the number of supported entries. By specifying multiple encryption entries per recording, different tracks can be encrypted with different configurations. Each track shall only be contained in one encryption configuration.-
Mode- required; [string]Mode of encryption. See tt:EncryptionMode for a list of definitions and capability trc:SupportedEncryptionModes for the supported encryption modes.
-
KID- optional; [string]Key ID of the associated key for encryption, formatted as a UUID according to RFC 9562 Section 4. The client shall omit this parameter when AsymmetricEncryption is configured. -
Key- optional; [hexBinary]Key for encrypting content. The client shall omit this parameter when AsymmetricEncryption is configured. The device shall not include this parameter when reading. -
Track- optional, unbounded; [string]Optional list of track tokens to be encrypted. If no track tokens are specified, all tracks are encrypted and no other encryption configurations shall exist for the recording. Each track shall only be contained in one encryption configuration. -
AsymmetricEncryption- optional; [AsymmetricEncryption]-
CertificateID- unbounded; [string]List of certificates used to encrypt the symmetric key for the PSSH box. -
KeyRotationDuration- optional; [duration]Frequency at which the device shall generate a new key to encrypt a new segment. If not specified, key rotation is disabled. KeyRotationDuration must be a positive duration value. -
AdditionalInfo- optional; [string]Additional information related to the asymmetric encryption that will be used as part of the key encryption. A device shall support at least 256 characters.
-
-
-
SegmentDurationOverride- optional; [complexType]Value of the active OverrideSegmentDuration parameters if one exists. (readonly)-
Duration[duration]Current value of the segment duration. -
Expiration[duration]Time remaining until the override expires.
-
-
StorageStrategy- optional; [string]Strategy to be used on how to store recordings, see tt:StorageStrategy for allowed values. If undefined, defaults to External.
-
-
Output
-
RecordingToken[RecordingReference]The reference to the created recording.
DeleteRecording
DeleteRecording shall delete a recording object.
Whenever a recording is deleted, the device shall delete all the tracks that are part of the recording, and it shall delete all the Recording Jobs that record into the recording. For each deleted recording job, the device shall also delete all the receiver objects associated with the recording job that are automatically created using the AutoCreateReceiver field of the recording job configuration structure and are not used in any other recording job.
This method is optional. It shall be available if the Recording/DynamicRecordings capability is TRUE.
Input
-
RecordingToken[RecordingReference]The reference of the recording to be deleted.
GetRecordings
GetRecordings shall return a description of all the recordings in the device.
This description shall include a list of all the tracks for each recording.
Output
-
RecordingItem- optional, unbounded; [GetRecordingsResponseItem]List of recording items.-
RecordingToken[RecordingReference]Token of the recording. -
Configuration[RecordingConfiguration]Configuration of the recording.-
Source[RecordingSourceInformation]Information about the source of the recording.-
SourceId[anyURI]Identifier for the source chosen by the client that creates the structure. This identifier is opaque to the device. Clients may use any type of URI for this field. A device shall support at least 128 characters. -
Name[Name]Informative user readable name of the source, e.g. "Camera23". A device shall support at least 20 characters. -
Location[Description]Informative description of the physical location of the source, e.g. the coordinates on a map. -
Description[Description]Informative description of the source. -
Address[anyURI]URI provided by the service supplying data to be recorded. A device shall support at least 128 characters. -
VideoSourceToken- optional; [ReferenceToken]The video source token of all recordings that will use this configuration.
-
-
Content[Description]Informative description of the source. -
MaximumRetentionTime[duration]Specifies the maximum time that data in any track within the recording shall be stored. The device shall delete any data older than the maximum retention time. Such data shall not be accessible anymore. If the MaximumRetentionPeriod is set to 0, the device shall not limit the retention time of stored data, except by resource constraints. Whatever the value of MaximumRetentionTime, the device may automatically delete recordings to free up storage space for new recordings. This parameter has no effect on the data stored in external targets for e.g. Object Storage. -
Target- optional; [RecordingTargetConfiguration]Optional external storage target configuration.-
Storage[ReferenceToken]Token of a storage configuration. -
Format[string]Format of the recording. See tt:TargetFormat for a list of definitions and capability trc:SupportedTargetFormats for the supported formats. -
Prefix- optional; [string]Path prefix to be inserted in the object key. A device shall support at least 128 characters. -
Postfix- optional; [string]Path postfix to be inserted in the object key. A device shall support at least 128 characters. -
SpanDuration- optional; [duration]Maximum duration of a span. -
SegmentDuration[duration]Maximum duration of a segment. -
Encryption- optional, unbounded; [RecordingEncryption]Optional encryption configuration. See capability trc:EncryptionEntryLimit for the number of supported entries. By specifying multiple encryption entries per recording, different tracks can be encrypted with different configurations. Each track shall only be contained in one encryption configuration.-
Mode- required; [string]Mode of encryption. See tt:EncryptionMode for a list of definitions and capability trc:SupportedEncryptionModes for the supported encryption modes.
-
KID- optional; [string]Key ID of the associated key for encryption, formatted as a UUID according to RFC 9562 Section 4. The client shall omit this parameter when AsymmetricEncryption is configured. -
Key- optional; [hexBinary]Key for encrypting content. The client shall omit this parameter when AsymmetricEncryption is configured. The device shall not include this parameter when reading. -
Track- optional, unbounded; [string]Optional list of track tokens to be encrypted. If no track tokens are specified, all tracks are encrypted and no other encryption configurations shall exist for the recording. Each track shall only be contained in one encryption configuration. -
AsymmetricEncryption- optional; [AsymmetricEncryption]-
CertificateID- unbounded; [string]List of certificates used to encrypt the symmetric key for the PSSH box. -
KeyRotationDuration- optional; [duration]Frequency at which the device shall generate a new key to encrypt a new segment. If not specified, key rotation is disabled. KeyRotationDuration must be a positive duration value. -
AdditionalInfo- optional; [string]Additional information related to the asymmetric encryption that will be used as part of the key encryption. A device shall support at least 256 characters.
-
-
-
SegmentDurationOverride- optional; [complexType]Value of the active OverrideSegmentDuration parameters if one exists. (readonly)-
Duration[duration]Current value of the segment duration. -
Expiration[duration]Time remaining until the override expires.
-
-
StorageStrategy- optional; [string]Strategy to be used on how to store recordings, see tt:StorageStrategy for allowed values. If undefined, defaults to External.
-
-
-
Tracks[GetTracksResponseList]List of tracks.-
Track- optional, unbounded; [GetTracksResponseItem]Configuration of a track.-
TrackToken[TrackReference]Token of the track. -
Configuration[TrackConfiguration]Configuration of the track.-
TrackType[TrackType]Type of the track. It shall be equal to the strings "Video", "Audio" or "Metadata". The track shall only be able to hold data of that type.Enum Value Enum Description Video— Audio— Metadata— ExtendedPlaceholder for future extension. -
Description[Description]Informative description of the track.
-
-
-
-
SetRecordingConfiguration
SetRecordingConfiguration shall change the configuration of a recording.
Input
-
RecordingToken[RecordingReference]Token of the recording that shall be changed. -
RecordingConfiguration[RecordingConfiguration]The new configuration.-
Source[RecordingSourceInformation]Information about the source of the recording.-
SourceId[anyURI]Identifier for the source chosen by the client that creates the structure. This identifier is opaque to the device. Clients may use any type of URI for this field. A device shall support at least 128 characters. -
Name[Name]Informative user readable name of the source, e.g. "Camera23". A device shall support at least 20 characters. -
Location[Description]Informative description of the physical location of the source, e.g. the coordinates on a map. -
Description[Description]Informative description of the source. -
Address[anyURI]URI provided by the service supplying data to be recorded. A device shall support at least 128 characters. -
VideoSourceToken- optional; [ReferenceToken]The video source token of all recordings that will use this configuration.
-
-
Content[Description]Informative description of the source. -
MaximumRetentionTime[duration]Specifies the maximum time that data in any track within the recording shall be stored. The device shall delete any data older than the maximum retention time. Such data shall not be accessible anymore. If the MaximumRetentionPeriod is set to 0, the device shall not limit the retention time of stored data, except by resource constraints. Whatever the value of MaximumRetentionTime, the device may automatically delete recordings to free up storage space for new recordings. This parameter has no effect on the data stored in external targets for e.g. Object Storage. -
Target- optional; [RecordingTargetConfiguration]Optional external storage target configuration.-
Storage[ReferenceToken]Token of a storage configuration. -
Format[string]Format of the recording. See tt:TargetFormat for a list of definitions and capability trc:SupportedTargetFormats for the supported formats. -
Prefix- optional; [string]Path prefix to be inserted in the object key. A device shall support at least 128 characters. -
Postfix- optional; [string]Path postfix to be inserted in the object key. A device shall support at least 128 characters. -
SpanDuration- optional; [duration]Maximum duration of a span. -
SegmentDuration[duration]Maximum duration of a segment. -
Encryption- optional, unbounded; [RecordingEncryption]Optional encryption configuration. See capability trc:EncryptionEntryLimit for the number of supported entries. By specifying multiple encryption entries per recording, different tracks can be encrypted with different configurations. Each track shall only be contained in one encryption configuration.-
Mode- required; [string]Mode of encryption. See tt:EncryptionMode for a list of definitions and capability trc:SupportedEncryptionModes for the supported encryption modes.
-
KID- optional; [string]Key ID of the associated key for encryption, formatted as a UUID according to RFC 9562 Section 4. The client shall omit this parameter when AsymmetricEncryption is configured. -
Key- optional; [hexBinary]Key for encrypting content. The client shall omit this parameter when AsymmetricEncryption is configured. The device shall not include this parameter when reading. -
Track- optional, unbounded; [string]Optional list of track tokens to be encrypted. If no track tokens are specified, all tracks are encrypted and no other encryption configurations shall exist for the recording. Each track shall only be contained in one encryption configuration. -
AsymmetricEncryption- optional; [AsymmetricEncryption]-
CertificateID- unbounded; [string]List of certificates used to encrypt the symmetric key for the PSSH box. -
KeyRotationDuration- optional; [duration]Frequency at which the device shall generate a new key to encrypt a new segment. If not specified, key rotation is disabled. KeyRotationDuration must be a positive duration value. -
AdditionalInfo- optional; [string]Additional information related to the asymmetric encryption that will be used as part of the key encryption. A device shall support at least 256 characters.
-
-
-
SegmentDurationOverride- optional; [complexType]Value of the active OverrideSegmentDuration parameters if one exists. (readonly)-
Duration[duration]Current value of the segment duration. -
Expiration[duration]Time remaining until the override expires.
-
-
StorageStrategy- optional; [string]Strategy to be used on how to store recordings, see tt:StorageStrategy for allowed values. If undefined, defaults to External.
-
-
GetRecordingConfiguration
GetRecordingConfiguration shall retrieve the recording configuration for a recording.
Input
-
RecordingToken[RecordingReference]Token of the configuration to be retrieved.
Output
-
RecordingConfiguration[RecordingConfiguration]Configuration of the recording.-
Source[RecordingSourceInformation]Information about the source of the recording.-
SourceId[anyURI]Identifier for the source chosen by the client that creates the structure. This identifier is opaque to the device. Clients may use any type of URI for this field. A device shall support at least 128 characters. -
Name[Name]Informative user readable name of the source, e.g. "Camera23". A device shall support at least 20 characters. -
Location[Description]Informative description of the physical location of the source, e.g. the coordinates on a map. -
Description[Description]Informative description of the source. -
Address[anyURI]URI provided by the service supplying data to be recorded. A device shall support at least 128 characters. -
VideoSourceToken- optional; [ReferenceToken]The video source token of all recordings that will use this configuration.
-
-
Content[Description]Informative description of the source. -
MaximumRetentionTime[duration]Specifies the maximum time that data in any track within the recording shall be stored. The device shall delete any data older than the maximum retention time. Such data shall not be accessible anymore. If the MaximumRetentionPeriod is set to 0, the device shall not limit the retention time of stored data, except by resource constraints. Whatever the value of MaximumRetentionTime, the device may automatically delete recordings to free up storage space for new recordings. This parameter has no effect on the data stored in external targets for e.g. Object Storage. -
Target- optional; [RecordingTargetConfiguration]Optional external storage target configuration.-
Storage[ReferenceToken]Token of a storage configuration. -
Format[string]Format of the recording. See tt:TargetFormat for a list of definitions and capability trc:SupportedTargetFormats for the supported formats. -
Prefix- optional; [string]Path prefix to be inserted in the object key. A device shall support at least 128 characters. -
Postfix- optional; [string]Path postfix to be inserted in the object key. A device shall support at least 128 characters. -
SpanDuration- optional; [duration]Maximum duration of a span. -
SegmentDuration[duration]Maximum duration of a segment. -
Encryption- optional, unbounded; [RecordingEncryption]Optional encryption configuration. See capability trc:EncryptionEntryLimit for the number of supported entries. By specifying multiple encryption entries per recording, different tracks can be encrypted with different configurations. Each track shall only be contained in one encryption configuration.-
Mode- required; [string]Mode of encryption. See tt:EncryptionMode for a list of definitions and capability trc:SupportedEncryptionModes for the supported encryption modes.
-
KID- optional; [string]Key ID of the associated key for encryption, formatted as a UUID according to RFC 9562 Section 4. The client shall omit this parameter when AsymmetricEncryption is configured. -
Key- optional; [hexBinary]Key for encrypting content. The client shall omit this parameter when AsymmetricEncryption is configured. The device shall not include this parameter when reading. -
Track- optional, unbounded; [string]Optional list of track tokens to be encrypted. If no track tokens are specified, all tracks are encrypted and no other encryption configurations shall exist for the recording. Each track shall only be contained in one encryption configuration. -
AsymmetricEncryption- optional; [AsymmetricEncryption]-
CertificateID- unbounded; [string]List of certificates used to encrypt the symmetric key for the PSSH box. -
KeyRotationDuration- optional; [duration]Frequency at which the device shall generate a new key to encrypt a new segment. If not specified, key rotation is disabled. KeyRotationDuration must be a positive duration value. -
AdditionalInfo- optional; [string]Additional information related to the asymmetric encryption that will be used as part of the key encryption. A device shall support at least 256 characters.
-
-
-
SegmentDurationOverride- optional; [complexType]Value of the active OverrideSegmentDuration parameters if one exists. (readonly)-
Duration[duration]Current value of the segment duration. -
Expiration[duration]Time remaining until the override expires.
-
-
StorageStrategy- optional; [string]Strategy to be used on how to store recordings, see tt:StorageStrategy for allowed values. If undefined, defaults to External.
-
-
GetRecordingOptions
GetRecordingOptions returns information for a recording identified by the RecordingToken.
The information includes the number of additional tracks as well as recording jobs that can be configured.
Input
-
RecordingToken[RecordingReference]Token of the recording.
Output
-
Options[RecordingOptions]Configuration of the recording.-
Job[JobOptions]-
Spare- optional; [int]Number of spare jobs that can be created for the recording. -
CompatibleSources- optional; [StringAttrList]A device that supports recording of a restricted set of Media/Media2 Service Profiles returns the list of profiles that can be recorded on the given Recording.
-
-
Track[TrackOptions]-
SpareTotal- optional; [int]Total spare number of tracks that can be added to this recording. -
SpareVideo- optional; [int]Number of spare Video tracks that can be added to this recording. -
SpareAudio- optional; [int]Number of spare Aduio tracks that can be added to this recording. -
SpareMetadata- optional; [int]Number of spare Metadata tracks that can be added to this recording.
-
-
CreateTrack
This method shall create a new track within a recording.
This method is optional. It shall be available if the Recording/DynamicTracks capability is TRUE.
A TrackToken in itself does not uniquely identify a specific track. Tracks within different recordings may have the same TrackToken.
Input
-
RecordingToken[RecordingReference]Identifies the recording to which a track shall be added. -
TrackConfiguration[TrackConfiguration]The configuration of the new track.-
TrackType[TrackType]Type of the track. It shall be equal to the strings "Video", "Audio" or "Metadata". The track shall only be able to hold data of that type.Enum Value Enum Description Video— Audio— Metadata— ExtendedPlaceholder for future extension. -
Description[Description]Informative description of the track.
-
Output
-
TrackToken[TrackReference]The TrackToken shall identify the newly created track. The TrackToken shall be unique within the recoding to which the new track belongs.
DeleteTrack
DeleteTrack shall remove a track from a recording.
All the data in the track shall be deleted.
This method is optional. It shall be available if the Recording/DynamicTracks capability is TRUE.
Input
-
RecordingToken[RecordingReference]Token of the recording the track belongs to. -
TrackToken[TrackReference]Token of the track to be deleted.
GetTrackConfiguration
GetTrackConfiguration shall retrieve the configuration for a specific track.
Input
-
RecordingToken[RecordingReference]Token of the recording the track belongs to. -
TrackToken[TrackReference]Token of the track.
Output
-
TrackConfiguration[TrackConfiguration]Configuration of the track.-
TrackType[TrackType]Type of the track. It shall be equal to the strings "Video", "Audio" or "Metadata". The track shall only be able to hold data of that type.Enum Value Enum Description Video— Audio— Metadata— ExtendedPlaceholder for future extension. -
Description[Description]Informative description of the track.
-
SetTrackConfiguration
SetTrackConfiguration shall change the configuration of a track.
Input
-
RecordingToken[RecordingReference]Token of the recording the track belongs to. -
TrackToken[TrackReference]Token of the track to be modified. -
TrackConfiguration[TrackConfiguration]New configuration for the track.-
TrackType[TrackType]Type of the track. It shall be equal to the strings "Video", "Audio" or "Metadata". The track shall only be able to hold data of that type.Enum Value Enum Description Video— Audio— Metadata— ExtendedPlaceholder for future extension. -
Description[Description]Informative description of the track.
-
CreateRecordingJob
CreateRecordingJob shall create a new recording job.
The JobConfiguration returned from CreateRecordingJob shall be identical to the JobConfiguration passed into CreateRecordingJob, except for the ReceiverToken and the AutoCreateReceiver. In the returned structure, the ReceiverToken shall be present and valid and the AutoCreateReceiver field shall be omitted.
Input
-
JobConfiguration[RecordingJobConfiguration]The initial configuration of the new recording job.-
ScheduleToken- optional;This attribute adds an additional requirement for activating the recording job. If this optional field is provided the job shall only record if the schedule exists and is active.
-
RecordingToken[RecordingReference]Identifies the recording to which this job shall store the received data. -
Mode[RecordingJobMode]The mode of the job. If it is idle, nothing shall happen. If it is active, the device shall try to obtain data from the receivers. A client shall use GetRecordingJobState to determine if data transfer is really taking place.
The only valid values for Mode shall be "Idle" and "Active". -
Priority[int]This shall be a non-negative number. If there are multiple recording jobs that store data to the same track, the device will only store the data for the recording job with the highest priority. The priority is specified per recording job, but the device shall determine the priority of each track individually. If there are two recording jobs with the same priority, the device shall record the data corresponding to the recording job that was activated the latest. -
Source- optional, unbounded; [RecordingJobSource]Source of the recording.-
SourceToken- optional; [SourceReference]This field shall be a reference to the source of the data. The type of the source is determined by the attribute Type in the SourceToken structure. If Type is http://www.onvif.org/ver10/schema/Receiver, the token is a ReceiverReference. In this case the device shall receive the data over the network. If Type is http://www.onvif.org/ver10/schema/Profile, the token identifies a media profile, provisioned via the ONVIF Media Service or the ONVIF Media2 Service, instructing the device to obtain data from a profile that exists on the local device.-
Type- optional; [anyURI]
-
Token[ReferenceToken]
-
-
AutoCreateReceiver- optional; [boolean]If this field is TRUE, and if the SourceToken is omitted, the device shall create a receiver object (through the receiver service) and assign the ReceiverReference to the SourceToken field. When retrieving the RecordingJobConfiguration from the device, the AutoCreateReceiver field shall never be present. -
Tracks- optional, unbounded; [RecordingJobTrack]List of tracks associated with the recording.-
SourceTag[string]If the received RTSP stream contains multiple tracks of the same type, the SourceTag differentiates between those Tracks. This field can be ignored in case of recording a local source. -
Destination[TrackReference]The destination is the tracktoken of the track to which the device shall store the received data.
-
-
Extension- optional; [RecordingJobSourceExtension]
-
-
Extension- optional; [RecordingJobConfigurationExtension] -
EventFilter- optional; [RecordingEventFilter]Optional filter defining on which event condition a recording job gets active.-
Filter- unbounded; [complexType]-
Topic[string]Topic filter as defined in section 9.6.3 of the ONVIF Core Specification. -
Source- optional; [string]Optional message source content filter as defined in section 9.4.4 of the ONVIF Core Specification.
-
-
Before- optional; [duration]Optional timespan to record before the actual event condition became active. -
After- optional; [duration]Optional timespan to record after the actual event condition becomes inactive.
-
-
Output
-
JobToken[RecordingJobReference]The JobToken shall identify the created recording job. -
JobConfiguration[RecordingJobConfiguration]The JobConfiguration structure shall be the configuration as it is used by the device. This may be different from the JobConfiguration passed to CreateRecordingJob.-
ScheduleToken- optional;This attribute adds an additional requirement for activating the recording job. If this optional field is provided the job shall only record if the schedule exists and is active.
-
RecordingToken[RecordingReference]Identifies the recording to which this job shall store the received data. -
Mode[RecordingJobMode]The mode of the job. If it is idle, nothing shall happen. If it is active, the device shall try to obtain data from the receivers. A client shall use GetRecordingJobState to determine if data transfer is really taking place.
The only valid values for Mode shall be "Idle" and "Active". -
Priority[int]This shall be a non-negative number. If there are multiple recording jobs that store data to the same track, the device will only store the data for the recording job with the highest priority. The priority is specified per recording job, but the device shall determine the priority of each track individually. If there are two recording jobs with the same priority, the device shall record the data corresponding to the recording job that was activated the latest. -
Source- optional, unbounded; [RecordingJobSource]Source of the recording.-
SourceToken- optional; [SourceReference]This field shall be a reference to the source of the data. The type of the source is determined by the attribute Type in the SourceToken structure. If Type is http://www.onvif.org/ver10/schema/Receiver, the token is a ReceiverReference. In this case the device shall receive the data over the network. If Type is http://www.onvif.org/ver10/schema/Profile, the token identifies a media profile, provisioned via the ONVIF Media Service or the ONVIF Media2 Service, instructing the device to obtain data from a profile that exists on the local device.-
Type- optional; [anyURI]
-
Token[ReferenceToken]
-
-
AutoCreateReceiver- optional; [boolean]If this field is TRUE, and if the SourceToken is omitted, the device shall create a receiver object (through the receiver service) and assign the ReceiverReference to the SourceToken field. When retrieving the RecordingJobConfiguration from the device, the AutoCreateReceiver field shall never be present. -
Tracks- optional, unbounded; [RecordingJobTrack]List of tracks associated with the recording.-
SourceTag[string]If the received RTSP stream contains multiple tracks of the same type, the SourceTag differentiates between those Tracks. This field can be ignored in case of recording a local source. -
Destination[TrackReference]The destination is the tracktoken of the track to which the device shall store the received data.
-
-
Extension- optional; [RecordingJobSourceExtension]
-
-
Extension- optional; [RecordingJobConfigurationExtension] -
EventFilter- optional; [RecordingEventFilter]Optional filter defining on which event condition a recording job gets active.-
Filter- unbounded; [complexType]-
Topic[string]Topic filter as defined in section 9.6.3 of the ONVIF Core Specification. -
Source- optional; [string]Optional message source content filter as defined in section 9.4.4 of the ONVIF Core Specification.
-
-
Before- optional; [duration]Optional timespan to record before the actual event condition became active. -
After- optional; [duration]Optional timespan to record after the actual event condition becomes inactive.
-
-
DeleteRecordingJob
DeleteRecordingJob removes a recording job.
It shall also implicitly delete all the receiver objects associated with the recording job that are automatically created using the AutoCreateReceiver field of the recording job configuration structure and are not used in any other recording job.
Input
-
JobToken[RecordingJobReference]The token of the job to be deleted.
GetRecordingJobs
GetRecordingJobs shall return a list of all the recording jobs in the device.
Output
-
JobItem- optional, unbounded; [GetRecordingJobsResponseItem]List of recording jobs.-
JobToken[RecordingJobReference] -
JobConfiguration[RecordingJobConfiguration]-
ScheduleToken- optional;This attribute adds an additional requirement for activating the recording job. If this optional field is provided the job shall only record if the schedule exists and is active.
-
RecordingToken[RecordingReference]Identifies the recording to which this job shall store the received data. -
Mode[RecordingJobMode]The mode of the job. If it is idle, nothing shall happen. If it is active, the device shall try to obtain data from the receivers. A client shall use GetRecordingJobState to determine if data transfer is really taking place.
The only valid values for Mode shall be "Idle" and "Active". -
Priority[int]This shall be a non-negative number. If there are multiple recording jobs that store data to the same track, the device will only store the data for the recording job with the highest priority. The priority is specified per recording job, but the device shall determine the priority of each track individually. If there are two recording jobs with the same priority, the device shall record the data corresponding to the recording job that was activated the latest. -
Source- optional, unbounded; [RecordingJobSource]Source of the recording.-
SourceToken- optional; [SourceReference]This field shall be a reference to the source of the data. The type of the source is determined by the attribute Type in the SourceToken structure. If Type is http://www.onvif.org/ver10/schema/Receiver, the token is a ReceiverReference. In this case the device shall receive the data over the network. If Type is http://www.onvif.org/ver10/schema/Profile, the token identifies a media profile, provisioned via the ONVIF Media Service or the ONVIF Media2 Service, instructing the device to obtain data from a profile that exists on the local device.-
Type- optional; [anyURI]
-
Token[ReferenceToken]
-
-
AutoCreateReceiver- optional; [boolean]If this field is TRUE, and if the SourceToken is omitted, the device shall create a receiver object (through the receiver service) and assign the ReceiverReference to the SourceToken field. When retrieving the RecordingJobConfiguration from the device, the AutoCreateReceiver field shall never be present. -
Tracks- optional, unbounded; [RecordingJobTrack]List of tracks associated with the recording.-
SourceTag[string]If the received RTSP stream contains multiple tracks of the same type, the SourceTag differentiates between those Tracks. This field can be ignored in case of recording a local source. -
Destination[TrackReference]The destination is the tracktoken of the track to which the device shall store the received data.
-
-
Extension- optional; [RecordingJobSourceExtension]
-
-
Extension- optional; [RecordingJobConfigurationExtension] -
EventFilter- optional; [RecordingEventFilter]Optional filter defining on which event condition a recording job gets active.-
Filter- unbounded; [complexType]-
Topic[string]Topic filter as defined in section 9.6.3 of the ONVIF Core Specification. -
Source- optional; [string]Optional message source content filter as defined in section 9.4.4 of the ONVIF Core Specification.
-
-
Before- optional; [duration]Optional timespan to record before the actual event condition became active. -
After- optional; [duration]Optional timespan to record after the actual event condition becomes inactive.
-
-
-
SetRecordingJobConfiguration
SetRecordingJobConfiguration shall change the configuration for a recording job.
SetRecordingJobConfiguration shall implicitly delete any receiver objects that were created automatically if they are no longer used as a result of changing the recording job configuration.
Input
-
JobToken[RecordingJobReference]Token of the job to be modified. -
JobConfiguration[RecordingJobConfiguration]New configuration of the recording job.-
ScheduleToken- optional;This attribute adds an additional requirement for activating the recording job. If this optional field is provided the job shall only record if the schedule exists and is active.
-
RecordingToken[RecordingReference]Identifies the recording to which this job shall store the received data. -
Mode[RecordingJobMode]The mode of the job. If it is idle, nothing shall happen. If it is active, the device shall try to obtain data from the receivers. A client shall use GetRecordingJobState to determine if data transfer is really taking place.
The only valid values for Mode shall be "Idle" and "Active". -
Priority[int]This shall be a non-negative number. If there are multiple recording jobs that store data to the same track, the device will only store the data for the recording job with the highest priority. The priority is specified per recording job, but the device shall determine the priority of each track individually. If there are two recording jobs with the same priority, the device shall record the data corresponding to the recording job that was activated the latest. -
Source- optional, unbounded; [RecordingJobSource]Source of the recording.-
SourceToken- optional; [SourceReference]This field shall be a reference to the source of the data. The type of the source is determined by the attribute Type in the SourceToken structure. If Type is http://www.onvif.org/ver10/schema/Receiver, the token is a ReceiverReference. In this case the device shall receive the data over the network. If Type is http://www.onvif.org/ver10/schema/Profile, the token identifies a media profile, provisioned via the ONVIF Media Service or the ONVIF Media2 Service, instructing the device to obtain data from a profile that exists on the local device.-
Type- optional; [anyURI]
-
Token[ReferenceToken]
-
-
AutoCreateReceiver- optional; [boolean]If this field is TRUE, and if the SourceToken is omitted, the device shall create a receiver object (through the receiver service) and assign the ReceiverReference to the SourceToken field. When retrieving the RecordingJobConfiguration from the device, the AutoCreateReceiver field shall never be present. -
Tracks- optional, unbounded; [RecordingJobTrack]List of tracks associated with the recording.-
SourceTag[string]If the received RTSP stream contains multiple tracks of the same type, the SourceTag differentiates between those Tracks. This field can be ignored in case of recording a local source. -
Destination[TrackReference]The destination is the tracktoken of the track to which the device shall store the received data.
-
-
Extension- optional; [RecordingJobSourceExtension]
-
-
Extension- optional; [RecordingJobConfigurationExtension] -
EventFilter- optional; [RecordingEventFilter]Optional filter defining on which event condition a recording job gets active.-
Filter- unbounded; [complexType]-
Topic[string]Topic filter as defined in section 9.6.3 of the ONVIF Core Specification. -
Source- optional; [string]Optional message source content filter as defined in section 9.4.4 of the ONVIF Core Specification.
-
-
Before- optional; [duration]Optional timespan to record before the actual event condition became active. -
After- optional; [duration]Optional timespan to record after the actual event condition becomes inactive.
-
-
Output
-
JobConfiguration[RecordingJobConfiguration]The JobConfiguration structure shall be the configuration as it is used by the device. This may be different from the JobConfiguration passed to SetRecordingJobConfiguration.-
ScheduleToken- optional;This attribute adds an additional requirement for activating the recording job. If this optional field is provided the job shall only record if the schedule exists and is active.
-
RecordingToken[RecordingReference]Identifies the recording to which this job shall store the received data. -
Mode[RecordingJobMode]The mode of the job. If it is idle, nothing shall happen. If it is active, the device shall try to obtain data from the receivers. A client shall use GetRecordingJobState to determine if data transfer is really taking place.
The only valid values for Mode shall be "Idle" and "Active". -
Priority[int]This shall be a non-negative number. If there are multiple recording jobs that store data to the same track, the device will only store the data for the recording job with the highest priority. The priority is specified per recording job, but the device shall determine the priority of each track individually. If there are two recording jobs with the same priority, the device shall record the data corresponding to the recording job that was activated the latest. -
Source- optional, unbounded; [RecordingJobSource]Source of the recording.-
SourceToken- optional; [SourceReference]This field shall be a reference to the source of the data. The type of the source is determined by the attribute Type in the SourceToken structure. If Type is http://www.onvif.org/ver10/schema/Receiver, the token is a ReceiverReference. In this case the device shall receive the data over the network. If Type is http://www.onvif.org/ver10/schema/Profile, the token identifies a media profile, provisioned via the ONVIF Media Service or the ONVIF Media2 Service, instructing the device to obtain data from a profile that exists on the local device.-
Type- optional; [anyURI]
-
Token[ReferenceToken]
-
-
AutoCreateReceiver- optional; [boolean]If this field is TRUE, and if the SourceToken is omitted, the device shall create a receiver object (through the receiver service) and assign the ReceiverReference to the SourceToken field. When retrieving the RecordingJobConfiguration from the device, the AutoCreateReceiver field shall never be present. -
Tracks- optional, unbounded; [RecordingJobTrack]List of tracks associated with the recording.-
SourceTag[string]If the received RTSP stream contains multiple tracks of the same type, the SourceTag differentiates between those Tracks. This field can be ignored in case of recording a local source. -
Destination[TrackReference]The destination is the tracktoken of the track to which the device shall store the received data.
-
-
Extension- optional; [RecordingJobSourceExtension]
-
-
Extension- optional; [RecordingJobConfigurationExtension] -
EventFilter- optional; [RecordingEventFilter]Optional filter defining on which event condition a recording job gets active.-
Filter- unbounded; [complexType]-
Topic[string]Topic filter as defined in section 9.6.3 of the ONVIF Core Specification. -
Source- optional; [string]Optional message source content filter as defined in section 9.4.4 of the ONVIF Core Specification.
-
-
Before- optional; [duration]Optional timespan to record before the actual event condition became active. -
After- optional; [duration]Optional timespan to record after the actual event condition becomes inactive.
-
-
GetRecordingJobConfiguration
GetRecordingJobConfiguration shall return the current configuration for a recording job.
Input
-
JobToken[RecordingJobReference]Token of the recording job.
Output
-
JobConfiguration[RecordingJobConfiguration]Current configuration of the recording job.-
ScheduleToken- optional;This attribute adds an additional requirement for activating the recording job. If this optional field is provided the job shall only record if the schedule exists and is active.
-
RecordingToken[RecordingReference]Identifies the recording to which this job shall store the received data. -
Mode[RecordingJobMode]The mode of the job. If it is idle, nothing shall happen. If it is active, the device shall try to obtain data from the receivers. A client shall use GetRecordingJobState to determine if data transfer is really taking place.
The only valid values for Mode shall be "Idle" and "Active". -
Priority[int]This shall be a non-negative number. If there are multiple recording jobs that store data to the same track, the device will only store the data for the recording job with the highest priority. The priority is specified per recording job, but the device shall determine the priority of each track individually. If there are two recording jobs with the same priority, the device shall record the data corresponding to the recording job that was activated the latest. -
Source- optional, unbounded; [RecordingJobSource]Source of the recording.-
SourceToken- optional; [SourceReference]This field shall be a reference to the source of the data. The type of the source is determined by the attribute Type in the SourceToken structure. If Type is http://www.onvif.org/ver10/schema/Receiver, the token is a ReceiverReference. In this case the device shall receive the data over the network. If Type is http://www.onvif.org/ver10/schema/Profile, the token identifies a media profile, provisioned via the ONVIF Media Service or the ONVIF Media2 Service, instructing the device to obtain data from a profile that exists on the local device.-
Type- optional; [anyURI]
-
Token[ReferenceToken]
-
-
AutoCreateReceiver- optional; [boolean]If this field is TRUE, and if the SourceToken is omitted, the device shall create a receiver object (through the receiver service) and assign the ReceiverReference to the SourceToken field. When retrieving the RecordingJobConfiguration from the device, the AutoCreateReceiver field shall never be present. -
Tracks- optional, unbounded; [RecordingJobTrack]List of tracks associated with the recording.-
SourceTag[string]If the received RTSP stream contains multiple tracks of the same type, the SourceTag differentiates between those Tracks. This field can be ignored in case of recording a local source. -
Destination[TrackReference]The destination is the tracktoken of the track to which the device shall store the received data.
-
-
Extension- optional; [RecordingJobSourceExtension]
-
-
Extension- optional; [RecordingJobConfigurationExtension] -
EventFilter- optional; [RecordingEventFilter]Optional filter defining on which event condition a recording job gets active.-
Filter- unbounded; [complexType]-
Topic[string]Topic filter as defined in section 9.6.3 of the ONVIF Core Specification. -
Source- optional; [string]Optional message source content filter as defined in section 9.4.4 of the ONVIF Core Specification.
-
-
Before- optional; [duration]Optional timespan to record before the actual event condition became active. -
After- optional; [duration]Optional timespan to record after the actual event condition becomes inactive.
-
-
SetRecordingJobMode
SetRecordingJobMode shall change the mode of the recording job.
Using this method shall be equivalent to retrieving the recording job configuration, and writing it back with a different mode.
Input
-
JobToken[RecordingJobReference]Token of the recording job. -
Mode[RecordingJobMode]The new mode for the recording job.
GetRecordingJobState
GetRecordingJobState returns the state of a recording job.
It includes an aggregated state, and state for each track of the recording job.
Input
-
JobToken[RecordingJobReference]Token of the recording job.
Output
-
State[RecordingJobStateInformation]The current state of the recording job.-
RecordingToken[RecordingReference]Identification of the recording that the recording job records to. -
State[RecordingJobState]Holds the aggregated state over the whole RecordingJobInformation structure. -
Sources- optional, unbounded; [RecordingJobStateSource]Identifies the data source of the recording job.-
SourceToken[SourceReference]Identifies the data source of the recording job.-
Type- optional; [anyURI]
-
Token[ReferenceToken]
-
-
State[RecordingJobState]Holds the aggregated state over all substructures of RecordingJobStateSource. -
Tracks[RecordingJobStateTracks]List of track items.-
Track- optional, unbounded; [RecordingJobStateTrack]-
SourceTag[string]Identifies the track of the data source that provides the data. -
Destination[TrackReference]Indicates the destination track. -
Error- optional; [string]Optionally holds an implementation defined string value that describes the error. The string should be in the English language. -
State[RecordingJobState]Provides the job state of the track. The valid values of state shall be "Idle", "Active" and "Error". If state equals "Error", the Error field may be filled in with an implementation defined value.
-
-
-
-
Extension- optional; [RecordingJobStateInformationExtension]
-
ExportRecordedData
Exports the selected recordings (from existing recorded data) to the given storage target based on the requested file format.
Input
-
StartPoint- optional; [dateTime]Optional parameter that specifies start time for the exporting. -
EndPoint- optional; [dateTime]Optional parameter that specifies end time for the exporting. -
SearchScope[SearchScope]Indicates the selection criterion on the existing recordings. .-
IncludedSources- optional, unbounded; [SourceReference]A list of sources that are included in the scope. If this list is included, only data from one of these sources shall be searched.-
Type- optional; [anyURI]
-
Token[ReferenceToken]
-
-
IncludedRecordings- optional, unbounded; [RecordingReference]A list of recordings that are included in the scope. If this list is included, only data from one of these recordings shall be searched. -
RecordingInformationFilter- optional; [XPathExpression]An xpath expression used to specify what recordings to search. Only those recordings with an RecordingInformation structure that matches the filter shall be searched. -
Extension- optional; [SearchScopeExtension]Extension point
-
-
FileFormat[string]Indicates which export file format to be used. -
StorageDestination[StorageReferencePath]Indicates the target storage and relative directory path.-
StorageToken[ReferenceToken]identifier of an existing Storage Configuration. -
RelativePath- optional; [string]gives the relative directory path on the storage -
Extension- optional; [StorageReferencePathExtension]
-
Output
-
OperationToken[ReferenceToken]Unique operation token for client to associate the relevant events. -
FileNames- optional, unbounded; [string]List of exported file names. The device can also use AsyncronousOperationStatus event to publish this list. -
Extension- optional; [complexType]
StopExportRecordedData
Stops the selected ExportRecordedData operation.
Input
-
OperationToken[ReferenceToken]Unique ExportRecordedData operation token
Output
-
Progress[float]Progress percentage of ExportRecordedData operation. -
FileProgressStatus[ArrayOfFileProgress]-
FileProgress- optional, unbounded; [FileProgress]Exported file name and export progress information-
FileName[string]Exported file name -
Progress[float]Normalized percentage completion for uploading the exported file
-
-
Extension- optional; [ArrayOfFileProgressExtension]
-
GetExportRecordedDataState
Retrieves the status of selected ExportRecordedData operation.
Input
-
OperationToken[ReferenceToken]Unique ExportRecordedData operation token
Output
-
Progress[float]Progress percentage of ExportRecordedData operation. -
FileProgressStatus[ArrayOfFileProgress]-
FileProgress- optional, unbounded; [FileProgress]Exported file name and export progress information-
FileName[string]Exported file name -
Progress[float]Normalized percentage completion for uploading the exported file
-
-
Extension- optional; [ArrayOfFileProgressExtension]
-
OverrideSegmentDuration
Requests a temporary override of the target segment duration for a recording configuration.
Input
-
TargetSegmentDuration[duration]The new target duration for recorded segments. -
Expiration[duration]The length of time during which the override request is to be in effect. -
RecordingConfiguration[RecordingReference]The recording configuration for which the override is requested.
ListRecordedSegments
Lists available recorded segments related to the specified RecordingToken.
Input
Gets segments available within a time range.
-
Time[DateTimeRange]The start to end time of the query.-
From[dateTime] -
Until[dateTime]
-
-
RecordingToken[RecordingReference]The recording configuration token. -
MaxResults- optional; [int]The maximum number of results to return in one response.
Output
-
Results[SegmentListResult]-
Segment- optional, unbounded; [complexType]Information about an exportable segment.-
StartTime[dateTime]Same precision as defined in the Recording Control specification for segment objects. -
EndTime[dateTime]Same precision as defined in the Recording Control specification for segment objects. -
MediaType[string]As defined in RFC 6381 including section 3 Codecs.
-
-
HasMoreResults[boolean]A value indicating that the search has reached the maximum count and a new request must be sent to continue the search.
-
ExportRecordedSegments
Exports the selected recorded segments (from existing recorded data) to the storage attached to the given recording configuration.
Input
-
Time[DateTimeRange]The start to end time of the query.-
From[dateTime] -
Until[dateTime]
-
-
RecordingToken[RecordingReference]The recording configuration token. -
Alias- optional; [string]An optional alias that shall be included in the Monitoring/AsynchronousOperationStatus events. -
StorageToken- optional; [ReferenceToken]If provided, overrides the Target's storage configuration. -
Track- optional; [string]An optional track filter for segments to export when in CMAF. For valid definitions see tt:TrackType.
Output
-
OperationToken[ReferenceToken]Unique operation token for client to query the status of the export.
StopExportRecordedSegments
Stops the selected ExportRecordedSegments operation.
Input
-
OperationToken[ReferenceToken]Unique ExportRecordedSegments operation token