Hi,
We are integrating our Network Video Recorder (NVR) with Milestone using ONVIF Protocol. Our NVR supports Edge Storage. We want to retrieve the recording from NVR for selected time from XProtect smart client.
We have followed “Edge Storage retrieval workflow” and implemented require APIs such as GetServices, GetCapabilities, GetVideoSources, GetProfiles, GetRecordingSummary, GetMediaAttributes and GetReplayUri (As mentioned in Edge storage Workflow).
Below are our queries:
Query 1:
We are getting the requested start time in GetMediaAttributes API but, could not find the actual requested end time in any of the APIS from “Edge Storage retrieval workflow”. Could you please help us to find the actual requested end time from Smart client.
Query 2 :-
When we are retrieve the video using smart client, then the video is getting partition in small intervals. Example: If we start retrieval for 7.30 to 8:00 PM, NVR gets multiple requests of small intervals like 7.30 to 7.35, 7.35 to 7.40…like wise till 8PM. We didn’t get the exact reason of video partition while retrieving. Could you please help us to avoid partitions.
Q1: End time is not sent to ONVIF device from XProtect, only start time of needed interval.
Q2: Normal Edge retrieval should not be partitioned. XProtect will stop retrieval only if:
- Selected interval is fully retrieved
- ONVIF Device stops sending data for more than 10 seconds.
- ONVIF Device disconnects.
The partitions you are seeing are probably because the retrieval process stops and XProtect retries with the rest of the requested interval. You can check (in Wireshark) when the retrieval stops, whether the NVR stops sending data or disconnects. Is the NVR saving the recordings in chunks on disk?
Thank you for the reply!!
Yes, recordings are stored in a chunks on disk.
The another behavior we observe is, if we retrieve 30mins of audio and video data from Edge Storage(NVR), XProtect smart client takes 30mins for audio retrieval and 30mins for video retrieval. So we need to wait for 1hr to get 30mins of data. Is there any way we can improve this timing?
Are these chunks 5 minutes in length?
XProtect does not throttle the receival of Edge Storage data. The speed depends entirely on the device and network throughput. XProtect explicitly requests that the device not do any rate control of the RTSP stream.
This is specified in the RTSP PLAY request:
Rate-Control: no
From your description it looks like the device is rate controlling the stream to real time speed.