STANAG Player
Version 2.0.0
|
DVR mode can be used for live low latency feed monitoring, delayed playback(time-shifting), recording and on-demand investigation. The StPlayer uses the (internally or externally) recorded (as HLS Live) video segments and a local buffer (sliding window) recording, providing seamless switching between the two. User can pause the live stream, investigate the video / telemetry using frame accurate Step Forward / Backward / Seek methods, Continue from the current position (time shifted playback) and Go back to the low latency live edge.
DVR has 3 operating scenarios:
If DVR mode is set, the player continuously records the video to the local (in memory) buffer. When user pauses the live stream, trick mode operations, like Step Forward / Backward methods are first attempted on this local buffer:
At some point (when the time passed since the user pressed Pause exceeds the allowed local buffer recording time), the local sliding window is overridden with the new data, so the player will attempt to fetch the required data from the externally recorded video segments.
If a user requests the content recorded a long time ago, the player will go directly to the externally recorded video.
Make sure DVR mode is enabled in the configuration.
Configure the HLS recording mode, providing a path to the HLS manifest file. You may limit the recorded size by specifying a "sliding window", so the oldest segments will be removed. Select Delete oldest and set the max number of segments for your playlist. If Delete oldest is unchecked, all segments will be recorded.
More info on HLS support.
Start normal stream playback. You should also start the recording, so the DVR could access the recorded video segments.
Now, when you pause the live video stream, it is possible to investigate the video using trick mode controls, like Step Forward, Step Backward, Seek etc. If you press the Play button, the StPlayer will continue from the current position. You can get back to the live edge by pressing GoToLive button.
As mpeg format uses 33 bit for the PTS timestamps, these values will eventually (2^33 / 90000 kHz = about 26.5 hours ) come to wraparound for the continuous sources. DVR handles only natural wraparounds - one wrap without introducing any additional inconsistencies. If a stream has many sudden changes to its timeline, the timestamp-based seeking won't work.