Radiant Media Player

DVR streaming

Documentation sections

DVR support in Radiant Media Player

DVR streaming offers the possibility to rewind into a live stream to watch recorded content. Radiant Media Player features a specific DVR UI, including intuitive in-stream navigation and jump-to-live functionalities. DVR streaming with Radiant Media Player is supported for the following streaming protocol:

  • HLS

DVR for audio-only streaming is also supported.

Our general recommendations and advanced player settings for HLS streaming also apply to DVR streaming.

Radiant Media Player sports a variety of optimisation for DVR streaming. Those optimisations are triggered with the isLiveDvr setting set to true.

You can insert video ads (only pre-roll or overlay ads are supported for DVR streaming), use HLS AES encrypted content or query our dedicated DVR API to fine tune your application.

Player settings

isLiveDvr: Boolean

Enables or not DVR UI and DVR streaming optimisations. Note that the player does not auto-apply DVR UI and optimisations when a DVR stream is detected it must be explicitly enable with isLiveDvr setting. Default: false.

Player code example

<!-- Include Radiant Media Player - here we use the optimised build for hls.js -->
<script src="https://cdn.radiantmediatechs.com/rmp/5.0.3/js/rmp-hlsjs.min.js"></script>
<!-- Player container element -->
<div id="rmpPlayer"></div>
<!-- Set up player configuration options -->
  // DVR HLS source
  var src = {
    hls: 'https://your-dvr-hls-url.m3u8'
  // Your player settings
  var settings = {
    licenseKey: 'your-license-key',
    src: src,
    width: 640,
    height: 360,
    // On macOS Safari DVR functionalities are only enabled when hls.js is used (over native HLS)
    forceHlsJSOnMacOSSafari: true,
    // Here we tell the player to enable DVR UI and optimisations
    isLiveDvr: true,
    poster: 'https://your-poster-url.jpg'
  var elementID = 'rmpPlayer';
  var rmp = new RadiantMP(elementID);

iOS, macOS, Google Cast considerations

On iOS where media source extensions are not available we rely on Apple QuickTime-based embedded player for providing the DVR scrub bar in fullscreen mode - in window mode the scrub bar is never displayed and the player handles the DVR stream as a simple live stream. The DVR scrub bar in fullscreen mode is only available on iOS 11+.

On macOS Safari you need to use the forceHlsJSOnMacOSSafari setting to enable DVR functionalities. Otherwise the player will handle the DVR stream as a simple live stream. Note that macOS Safari support in hls.js is still in BETA.

When casting through Google Cast is engaged the player handles the DVR stream as a simple live stream. This is because DVR support in a custom receiver application is currently unavailable.



This method allows seeking into the recorded DVR sliding window. Input parameter ms is a Number expressed in milliseconds. If the input is greater than the sliding window duration then the player will jump to live. In order to avoid buffering issues seeking to value below 10 seconds will cause the player to seek to 10 seconds within the DVR sliding window.


This method will cause the player to exit the recorded DVR sliding window and to jump to live content.


This getter returns a Number expressed in milliseconds representing the duration of the DVR recorded sliding window. -1 is returned in case the value is not available.


This getter returns a Boolean stating if the DVR stream on stage is showing live content (true) or on-demand content from the sliding window (false).

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License.