We are working with the ONVIF bridge on R2 and have been playing with the suggested mechanisms for playback using VLC prior to our custom app.
For example:
vlc.exe --rate=1.0 --start-time=0 “rtsp://xxxx:xxxxx@xxx.xxx.xxx.xxx:554/vod/8b316618-511b-4590-bcb6-c39075d692ba”
and specifying the start time in VLC.
What we have noticed is that many of the sequences with the offset work fine, but many do not.
Here is an example:
Sequence 1: Start: 08/27/2017 16:41:54:3320 End: 08/27/2017 16:42:21:2850 Duration: 00:00:26.9530000 Relative Start: 0
Sequence 2: Start: 08/27/2017 16:42:30:3190 End: 08/27/2017 16:43:00:2930 Duration: 00:00:29.9740000 Relative Start: 26.953
Sequence 3: Start: 08/28/2017 15:55:42:1920 End: 08/28/2017 15:56:26:1490 Duration: 00:00:43.9570000 Relative Start: 56.927
Sequence 4: Start: 08/28/2017 15:59:04:1800 End: 08/28/2017 15:59:33:1470 Duration: 00:00:28.9670000 Relative Start: 100.884
Sequence 5: Start: 08/28/2017 18:48:33:0150 End: 08/28/2017 18:48:54:9810 Duration: 00:00:21.9660000 Relative Start: 129.851
When specifying a start time of 0,26,56, they all match up to the correct sequences.
however, starting at 100 or 129 all play the same video as starting at 56.
can you please advise what we can do to resolve this and get it to work correctly?
Any additional info needed on this issue?
Hi Josh,
You are right that “When specifying a start time of 0,26,56, they all match up to the correct sequences.”
But actually you could notice that they do not match up to the expected by you time/frame in the sequence.
The reason is that the relative times are calculated in the Milestone ONVIF Bridge server compared to the beginning of the database (when used for the seek).
No matter if there is a gap in the playback or not.
So in your example:
Sequence 1: Start: 16:41:54:3320 End: 16:42:21:2850 Duration: 00:00:26.9530000 Relative Start: 0 Relative End: ~27
Sequence 2: Start: 16:42:30:3190 End: 16:43:00:2930 Duration: 00:00:29.9740000 Relative Start: ~36 Relative End: ~66
Sequence 3: Start: 15:55:42:1920 End: 15:56:26:1490 Duration: 00:00:43.9570000 Relative Start: ~83568
Sequence 4: Start: 15:59:04:1800 End: 15:59:33:1470 Duration: 00:00:28.9670000 Relative Start: ~83770
Sequence 5: Start: 18:48:33:0150 End: 18:48:54:9810 Duration: 00:00:21.9660000 Relative Start: ~93939
Seek is performed to the nearest playback position (no matter of the direction).
Every seek request with relative time between 27 and 31.5 will result in positioning at the end of Sequence 1 (Absolute time: 16:42:21).
Every seek request with relative time between 31.5 and 36 will result in positioning at the beginning of Sequence 2 (Absolute time: 16:42:30)
Every seek request with relative time between 66 and 41751 will result in positioning at the end of Sequence 2 (Absolute time: 16:43:00).
I hope this explains why the result of the seek is different from what you expected 
thanks! we will implement it that way!