STANAG Player  Version 2.0.0
STANAG DVR

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.

Note
You must have the Recorder option enabled in order to be able to use the StPlayer in DVR mode.

DVR operation scenarios

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:

DvrScenario1.png
DVR Scenario 1

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.

DvrScenario2.png
DVR Scenario 2

If a user requests the content recorded a long time ago, the player will go directly to the externally recorded video.

DvrScenario3.png
DVR Scenario 3

DVR configuration.

Make sure DVR mode is enabled in the configuration.

DvrCfg.png
DVR Configuration

Local Recording (Memory)

  • Local Recording Buffer Size defines the memory buffer size (in kilobytes) for local recording.
  • Time Match Mode defines how to match the time of the live source and the recorded source. It can be done either by using PTS, or by matching Klv timestamps. If your recorded stream preserves the original video timestamp, you can use the VideoPts mode. If some transcoding module in the middle overrides the timestamps, you can try to use the synchronization by KLV data (if exists) If the stream's timestamps were changed and there is no Klv data present, there is no way to sync between the live and recorded video.

File Recording

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.

RecorderHls.png
DVR Recorder Configuration
Note
You can also use an external recorder (it should keep the original timestamps).

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.

DvrControlsBttns.png
DVR Control

PTS wraparound

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.

Untitled 1




 Copyright 2023,    IMPLEOTV SYSTEMS LTD