Requirements for Edge Storage on Multichannel devices.
For maximum compatibility, the ONVIF driver requests to get all available recordings on the device, the driver does not ask the device to do complex filtering. The filtering is done in the driver.
In addition to the list of recording retrieved using the ONVIF Search Service, additional information is retrieved using the ONVIF Recording Service and ONVIF Media Service. To find a specific recording the ONVIF driver several methods from the ONVIF Search Service (see the workflow diagram in Edge Storage retrieval workflow) and matches them with information retrieved from the ONVIF Media Service (Media1 for Profile S, Media2 and DeviceIO for Profile T) see Figure 1. Example retrieval of information about Video recordingFigure 1. Example retrieval of information about Video recording.
FindRecordings is called with RecordingInformationFilter having value of:
-
For Video: boolean(//Track[TrackType = "Video"])
-
For Audio: boolean(//Track[TrackType = "Audio"])
As a fallback if GetRecordingJobs fails or doesn’t return the needed information the SourceId field of the RecordingInformation structure will be checked if it matches the token of the needed Video/Audio source or if it matches the MediaProfile tokens of all profiles containing our needed Video/Audio source. By the ONVIF specification this is not the intended usage of the SourceId field but some ONVIF Profile G devices use it as a holder for the token of the Video/Audio source.
For reference of used functions see:
Table 1. Used functions for Edge Storage retrieval
GetServices |
||
---|---|---|
GetCapabilities |
||
GetVideoSources |
Profile S |
|
Profile T |
||
GetAudioSources |
Profile S |
|
Profile T |
||
GetProfiles |
Profile S |
|
Profile T |
||
GetRecordingSummary |
||
GetMediaAttributes |
||
FindRecordings |
||
GetRecordingSearchResults |
||
FindEvents |
||
GetEventSearchResults |
||
GetRecordingInformation |
||
GetRecordingJobs |
||
GetReplayUri |
Figure 1. Example retrieval of information about Video recording