Radiant Media Player

Streaming settings



Streaming documentation sections


Supported streaming formats & environments

Chrome Safari 8+ (1) Firefox Opera MS Edge IE 11 (Win 8+) IE 9-11 (Win 7) Safari for iOS (1) Chrome for Android Firefox for Android MS Edge for Windows 10 mobile
HLS to HTML5 video/audio 34+ 42+ 30+ 34+ 41+
HLS to Flash video/audio (2)
MPEG-DASH to HTML5 video 34+ 42+ 30+ 34+ 41+
MP4 to HTML5 video (3)
WebM to HTML5 video
  • Where a number followed by a + signed is placed above a blue tick icon this indicates the minimum required browser version for the related feature to be supported
  • (1) On iOS and MacOS Safari Radiant Media Player uses native HLS to HTML5 video support
  • (2) Flash version 11.5 and above
  • (3) MP4 to HTML5 video support may depend on the browser/OS providing support for H.264/AAC content decoding. Where this is not available the player will use MP4 to Flash.
  • HLS support is only provided where either MSE or native HLS support is available in the targeted web-environment
  • MPEG-DASH support is only provided where MSE support is available in the targeted web-environment

Supported media formats (encoding)

  • HLS to HTML5 & Flash video: H.264 video with AAC audio (recommended). HLS with H.264 video and MP3 audio (MPEG-1/2 Audio Layer III Elementary Stream) to HTML5 & Flash video support is provided through the hlsWithMp3Audio setting.
  • HLS to HTML5 & Flash audio-only: AAC audio
  • MPEG-DASH to HTML5 video: H.264 video with AAC audio
  • MPEG-DASH to HTML5 audio-only: AAC audio
  • MP4 to HTML5 & Flash video: H.264 video with AAC audio
  • WebM to HTML5 video: VP8 or VP9 video with Vorbis or Opus audio

Supported streaming & encoding services

Radiant Media Player should work with any standard-compliant streaming or encoding services within the scope of our supported streaming protocols and media formats.

Below are some example of services that we have tested and that our customers have successfully used with Radiant Media Player:


Adaptive streaming to HTML5 video with Radiant Media Player

The idea with Radiant Media Player is to use HTML5 video (or audio) with adaptive bitrate streaming whenever possible. In order to do so we either use media source extensions (MSE) or check for native HTML5 support of adaptive bitrate streaming (like on iOS and Mac OS Safari with HLS). For the legacy web (mainly Internet Explorer 11 on Windows 7 or other older browsers where MSE is not available) we provide a unified Flash fallback with HLS to Flash support which should cover all required grounds.

Our recommendation for adaptive bitrate streaming is to use HLS which provide the benefit of being supported on all devices (desktop and mobiles) with an HTML5-first perspective while offering an easy to implement adaptive streaming technology. We also provide MPEG-DASH support for HTML5 video which presents itself as a valid alternative to HLS but may require some additional tuning to implement on the server. Of course you can also use MP4/WebM progressive download with Radiant Media Player.

When multiple streaming protocols and playback technologies are made available to the player it will automatically pick the best match for the targeted device. This is a transparent process for the viewer and our customers.


Multi-sources priority order

Following is the priority order list set for Radiant Media Player (when multi-sources or playback technologies are presented to the player):

Playback technology

  • HTML5 first
  • Flash second

Streaming protocol (when multiple available)

  • HLS (MSE-based) first
  • HLS (native) second
  • MPEG-DASH (MSE-based) third
  • MP4 progressive download fourth
  • WebM progressive download fifth

You can order the player to use MPEG-DASH first with the dashFirst setting. However when using MPEG-DASH first you still need to provide the player with an HLS or MP4 fallback in order to insure proper device coverage.


Using HTML5 video only

Disabling flash

This is done through the flashFallback setting (set it to false). We generally do not recommend to set this setting to false as some legacy browsers may still rely on Flash to playback video.

On-demand video

For on-demand video you can use a full HTML5 video with:

  • A combination of HLS with MP4 progressive download
  • A combination of MPEG-DASH with MP4 progressive download
  • MP4 progressive download alone
  • You can use WebM progressive download as an additional source (fallback to MP4 progressive download) for even better coverage on legacy browsers with HTML5 video but that is not strictly a requirement

Live and DVR video

For live and DVR video the player will use HLS (or MPEG-DASH) to HTML5 video wherever possible. However it is to be noted that HLS to Flash may be the only way to target legacy browsers (where neither MSE nor native HLS support is available) so we recommend keeping this option for live and DVR content.


Supported features for each streaming protocol


Adaptive bitrate HLS streaming to HTML5 video on Desktop and Mobile devices

HTML5

New with Radiant Media Player 3 we now support HLS streaming to HTML5 video on Desktop and Mobile devices!!!

Our HLS to HTML5 video implementation relies on Media Source Extensions (MSE) support within a browser and fallback to native HLS to HTML5 video (iOS, Mac OS Safari) or HLS to Flash (older browsers) where MSE is not available.

Requirements
  • You must set up your streaming server to return proper CORS settings permitting GET requests for HLS streaming
  • Content should be with H.264 video and AAC audio (recommended). Content with H.264 video and MP3 audio (MPEG-1/2 Audio Layer III Elementary Stream) can be rendered through the hlsWithMp3Audio setting
  • .ts segments must be 10 seconds length
  • For better cross-browser compatibility it is recommended to:
    • Have the same video/audio codec for each rendition of the HLS stream
    • Have the same audio sampling rate and number of audio channels for each renditions of the HLS stream. While newer versions of main browsers on the market may support changes in sampling rates or audio channels during playback through media source extensions, older versions may not.
Supported HLS to HTML5 video features:
  • Multi-bitrate streaming with automatic or manual bitrate switching
  • Live, DVR and on-demand video streaming
  • ID3 tags
  • Embedded CEA 608/708 captions
  • Multiple audio tracks
  • Audio only streaming (AAC)
  • Resilience to errors
  • Redundant/Failover Playlists
  • AES-128 decryption
  • App-store compliant HLS streams (see hlsJSMinAutoBitrate setting below for compliance notes)
Fallback to native HLS to HTML5 video (iOS & Mac OS Safari, older Android devices)

Where Media Source Extensions is not available some devices may still be able to render HLS streams natively to HTML5 video. Radiant Media Player will try to use this native implementation whenever possible as a fallback. Notably this affects iOS & Mac OS Safari and some (older) Android devices. In this case some of the above mentioned features may not work as the HLS stream will directly be handled by the device built-in player (QuickTime for Apple products).

Known limitations with native HLS to HTML5 video:

  • No DVR support. DVR streams are treated as simple live streams
  • No manual bitrate switching (automatic by default)
  • ID3 tags are managed internally and may or may not render as expected

Other features may be supported through iOS built-in quicktime-based video player (like multi-language audio or captions tracks).

Our HLS to HTML5 video (MSE) implementation is based on hls.js an open-source project by Dailymotion. Source code can be obtained on GitHub. This project is released under the business-friendly Apache 2.0 License. As a distributor we took care of complying with the terms of this license and you do not need to take extra steps.


Adaptive bitrate HLS streaming to Flash video on Desktop

Flash

As a fallback where Media Source Extensions (MSE) is not supported and where native HLS to HTML5 video is not possible, Radiant Media Player can stream HLS content to Flash. The player will automatically pick HLS to Flash as needed. Notably this will apply to IE9-IE11 on Windows 7. IE11 or MS Edge on Windows 8+ will use HLS to HTML5 video as they support Media Source Extensions.

Requirements
  • Same as for HLS to HTML5 video (see above)
  • Flash version 11.5+
Supported HLS to Flash features:
  • Multi-bitrate streaming with automatic or manual bitrate switching
  • Live, DVR and on-demand video streaming
  • Audio only streaming (AAC)
  • Multiple audio tracks
  • Redundant/Failover Playlists
  • AES-128 decryption

Our Apple HLS to Flash implementation is based on github.com/mangui/flashls. As of June 2016, we use version 0.4.4.21 (unmodified - OSMF plugin). Source code can be obtained on GitHub. This project is released under the business-friendly MPL license 2.0. As a distributor we took care of complying with the terms of this license and you do not need to take extra steps.


Adaptive bitrate MPEG-DASH (DASH264) streaming to HTML5 video

HTML5

Radiant Media Player follows the DASH-AVC/264 Interoperability Points V2.0 as provided by DASH-IF.

Requirements
  • You must set up your streaming server to return proper CORS settings permitting GET requests for MPEG-DASH streaming
  • Content must be with H.264 video up to Main profile level 4 (1080p) and AAC audio
  • MPEG-DASH stream must be with base media file format segments and time-aligned, closed-GOP segments
  • For adaptive bitrate streaming (multiple renditions) keyframes must be aligned between renditions - only streams with segmentAlignment='true' will work with adaptive bitrate streaming
Supported features
  • Multi-bitrate streaming with automatic or manual bitrate switching
  • Live and on-demand video streaming
  • In-manifest multi-languages CEA 608, WebVTT, TTML and EBU-TT-D captions/subtitles (on-demand & live video)
  • In-manifest multi-languages audio support (on-demand & live video)
  • Multiple periods (on-demand video only)
  • Audio only streaming (AAC)
  • Multiple audio tracks
Test your MPEG-DASH stream:
  • DASH-IF content validator: your MPEG-DASH stream should pass this test otherwise it could fail playing
  • DASH-IF reference client: if your MPEG-DASH content does not play on the DASH-IF reference client then your MPEG-DASH stream may not fit the above mentioned requirements and playback is likely to fail within Radiant Media Player as well.
  • Smoke test files: Radiant Media Player has been tested to work against the DASH-IF smoke test files for live and on-demand video streaming - plus we have our own testing vectors.

Our MPEG-DASH implementation to is based on dash.js an open-source project by the Dash Industry Forum. Source code can be obtained on GitHub. This project is released under the business-friendly BSD-3 license. As a distributor we took care of complying with the terms of this license and you do not need to take extra steps.


HTTP(S) progressive download to HTML5/Flash video

HTML5 Flash

HTTP(S) progressive download is only available for on-demand video streaming

  • MP4 (H264/AAC) where natively supported
  • WebM (VP8/Vorbis or VP9/Opus) where natively supported
  • Fallback to Flash with MP4 (H264/AAC) otherwise

Test your streaming URL

You can test your MPEG-DASH, HLS or MP4 progressive download streaming URL on this page.


Preloading

preload: String
HTML5

This setting is new with Radiant Media Player version 3.1.0

Radiant Media Player provides support for 2 preloading mode: 'none' and 'auto'. Those mode are supported for HTML5 and Flash video for all supported streaming protocol (HLS, MPEG-DASH and progressive download). The default is 'none'.

  • 'none': no preloading happens. This will cause the page where the player is displayed to load faster. This is the default for mobile devices (see explanation below).
  • 'auto': metadata information and media data (fragments ...) are fetched immediately after the player is ready. This will cause the video to start faster but at the cost of a slower page load.

Specific case scenario where the player auto-set the preload attribute (this is in everyone best interest):

  • Mobile: on mobile preload is set to 'none' by default. Android set this setting at the OS level to preserve data (which could be expensive on mobile). This cannot be overridden.
  • Autoplay: preload is set to 'auto' for faster media start upon page load (except for mobile as stated above). This cannot be overridden.
  • For MP4 to Flash only preload set to 'none' is supported.

Browsers may interpret (or even ignore) preload attribute differently so behaviour may vary depending on the targeted browser.

MSE-based implementation (HLS, MPEG-DASH) do not natively follow the preload attribute defined by the HTML5 video specification. Our implementation intends to emulate the behaviour of the preload attribute for MSE-based streaming.

The HTML5 video also specifies a 'metadata' options for preloading however this behaviour is not implemented with Radiant Media Player.


Bitrate player settings

bitrates: Object
HTML5 Flash
This setting holds streaming information for the player to display a video.
You are required to use fully qualified URL for MPEG-DASH and HLS streaming in the bitrates setting. Relative or absolute path are only supported for MP4 and WebM progressive download.

Example:

var bitrates = {
  dash: 'https://streamingrmp-1479.kxcdn.com/vod/smil:bbb.smil/manifest.mpd',
  hls: 'https://streamingrmp-1479.kxcdn.com/vod/smil:bbb.smil/playlist.m3u8',
  mp4: [
    'https://rmpsite-1479.kxcdn.com/media/bbb-360p.mp4',
    'https://rmpsite-1479.kxcdn.com/media/bbb-576p.mp4',
    'https://rmpsite-1479.kxcdn.com/media/bbb-720p.mp4'
  ],
  webm: [
    'https://rmpsite-1479.kxcdn.com/media/bbb-360p.webm',
    'https://rmpsite-1479.kxcdn.com/media/bbb-576p.webm',
    'https://rmpsite-1479.kxcdn.com/media/bbb-720p.webm'
  ]
};

The example above shows all possibility. In reality you will opt for what streaming protocols and formats are available with your infrastructure.
You can mix any of the supported streaming formats with Radiant Media Player. The player will automatically pick the best candidate for the targeted device.
Bitrates and other player labels are set with the player labelling system.

bitrates.hls: String
HTML5 Flash

This setting holds the streaming location information for HLS (H.264/AAC).

Seeking for on-demand content with Apple HLS to HTML5 video on Android 4.* can be erratic. This is a known issue across the board and is not specific to Radiant Media Player. Seeking with Apple HLS on Android did improve a lot with Android 5 release.

bitrates.dash: String
HTML5

This setting holds the streaming location information for MPEG-DASH (DASH264) video.
If you are streaming MPEG-DASH through Wowza Streaming Engine refer to our Wowza guide.
MPEG-DASH streaming to Flash is not supported with Radiant Media Player. Use our Apple HLS to Flash module as an alternative.

bitrates.mp4: Array
HTML5 Flash

This setting holds the streaming location information for MP4 (H.264/AAC) video in progressive download mode. Only on-demand video is supported with the streaming format.

bitrates.mp4[i]: String

is the streaming location (fully qualified URL) for the MP4 file

Manual bitrate switching is supported for MP4 progressive download in HTML5 video only (no Flash support).

bitrates.webm: Array
HTML5

This setting holds the streaming location information for WebM video in progressive download mode. Only on-demand video is supported with the streaming format.

bitrates.webm[i]: String

is the streaming location (fully qualified URL) for the WebM file

By default we test for support of WebM with VP8 video and Vorbis audio. If you want to use another video/audio format with WebM please see the webmTestString setting next.

webmTestString: String
HTML5

This setting tells the player which WebM video/audio codecs to use. Default: 'video/webm; codecs="vp8, vorbis"'. If you want to use WebM with VP9 video and Opus audio use: 'video/webm; codecs="vp9, opus"'.

webmFirst: Boolean
HTML5

This feature has been added with Radiant Media Player version 3.6.3

This setting tells the player to use WebM progressive download content over MP4 progressive download content when both are available and valid playback options. Default: false.

initialBitrate: Number
HTML5

This setting tells the player which MP4 or WebM bitrate to select when player loads. Default: 0. For first bitrate in the array of available MP4/WebM set value to 0 (index of array starts at 0 as one would expect). This setting does not apply to HLS or MPEG-DASH. See hlsJSStartLevel or flashHlsStartFromLevel for HLS equivalent.


Fallback bitrate player settings

HTML5 Flash

This feature is new with Radiant Media Player version 3.0.0

Fallback for initial manifest loading/parsing error

This setting provides a way to use an alternate manifest location for HLS or MPEG-DASH streaming in HTML5 or Flash video upon player start.

Basically the player will attempt to load a manifest (for example at http://www.server1.com/content/playlist.m3u8) and if it cannot load or parse the manifest properly at this location it will attempt to load another resource (for example at http://www.server2.com/content/playlist.m3u8). You can use this feature to provide redundant streams that will allow media to reach clients even in the event of severe local failures, such as a server crashing or a content distributor node going down.

backupBitrates: Object

Player code example:

<!-- Include Radiant Media Player JavaScript file in your <body> or <head> -->
<script src="https://cdn.radiantmediatechs.com/rmp/v3/latest/js/rmp.min.js"></script>
<!-- Set up your wrapper div with its unique id -->
<div id="rmpPlayer"></div>
<!-- Set up player configuration options -->
<script>
// First we specify bitrates to feed to the player
var bitrates = {
  hls: 'https://streamingrmp-1479.kxcdn.com/vod/smil:bbb.smil/playlist.m3u8'
};
var backupBitrates = {
  hls: 'https://streamingrmp-1479.kxcdn.com/vod/smil:bbb-long.smil/playlist.m3u8'
};
// Then we set our player settings
var settings = {
  licenseKey: 'your-license-key',
  bitrates: bitrates,
  backupBitrates: backupBitrates,
  delayToFade: 3000,
  width: 640,
  height: 360,
  poster: 'https://www.radiantmediaplayer.com/images/poster-rmp-showcase.jpg'
};
// Reference to the wrapper div (unique id)
var elementID = 'rmpPlayer';
// Create an object based on RadiantMP constructor
var rmp = new RadiantMP(elementID);
// Initialization ... test your page and done!
rmp.init(settings);
</script>

The check for backup bitrate happens through XMLHttpRequest for HTML5 and Flash video. Hence your stream must be delivered with CORS headers permitting GET requests.

The backupBitrates setting does not cover playback/network error after the player has successfully started. To handle in-stream playback/network error you can do one of the following:

  • use the HLS redundant streams feature described in the next section
  • listen to the error event with the player API and implement some custom fallback

HLS redundant streams

This error resilience feature is specific to HLS and works with Radiant Media Player for HLS to HTML5 & Flash video. More information on the subject can be found here.

In a nutshell: "If your playlist contains alternate streams, they can not only operate as bandwidth or device alternates, but as failure fallbacks. If the client is unable to reload the index file for a stream (due to a 404 error, for example), the client attempts to switch to an alternate stream".

Note that this feature is a complement to the previously mentioned fallback mechanism. This mechanism can actually allow recovery of in-stream errors (like a specific level is not available). Note that the fallback information need to be in the HLS playlist.


HLS to HTML5 video settings (MSE-based)

HTML5
hlsJSMaxBufferLength: Number

Maximum buffer length in seconds. The player will try to never exceed this value for its buffer. Default: 300.

hlsJSCapLevelToPlayerSize: Boolean
This setting has been added with Radiant Media Player version 3.0.7

This setting limits bitrates usable in auto-quality by the stage dimensions (width and height). Default: false. If set to true, width and height (defined in m3u8 playlist) will be compared with the actual player width and height and only the best match will be used as the maximum available bitrate. This setting is ignored in manual mode so all levels can be selected manually.

hlsJSStopDownloadWhilePaused: Boolean
This setting has been added with Radiant Media Player version 3.1.0

When set to true this setting will cause download of HLS fragments to stop while the player is paused. When set to false HLS fragments will be downloaded until the buffer is filled regardless of the player being paused or not. Default: false.

hlsJSStartLevel: Number
This setting has been added with Radiant Media Player version 3.0.7
Defines the preferred initial bitrate when playback starts. Default: 0.
  • 0: first level appearing in manifest will be used as start level
  • n: where n is an integer will cause the player to select the nth level at startup. Note that index starts at 0 - so if you have a playlist with 4 levels and you want to start with the 3rd appearing level, n should be 2.
  • -1: automatic start level selection, playback will start from level matching download bandwidth (determined from download of first segment).
Best practice: when hlsJSStartLevel is set to -1, your HLS manifest should include a lower-end rendition (generally this should not exceed 500 kbps audio & video included) and this rendition should be the first listed in your HLS manifest. As such the player will base its initial bandwidth calculation based on this level and this should provide optimal performance.
hlsJSEnableCEACaptions: Boolean
This setting has been added with Radiant Media Player version 3.7.0
This setting indicates to the player whether or not to parse and display CEA 608/708 captions when detected in an HLS feed. Default: true.
hlsJSLiveSyncDuration: Number
This setting has been added with Radiant Media Player version 3.8.7
Edge of live delay, expressed in seconds. Default: 30. A value too low (inferior to ~3 segment durations) is likely to cause playback stalls.
hlsJSMinAutoBitrate: Number
This setting has been added with Radiant Media Player version 3.10.8
Set the minimum value (in bps) that should be used by the automatic level selection algorithm. Example hlsJSMinAutoBitrate: 500000 means that the player - while in auto mode - will pick the best matching level that has a bitrate above or equal to 500000 bps (500 kbps).
For App-store compliant HLS video streams which include an audio-only rendition hlsJSMinAutoBitrate must be set to 192001. hlsJSStartLevel must either be set to -1 or to a level that is not the audio-only rendition.
hlsJSDefaultAudioCodec: String
This setting has been added with Radiant Media Player version 3.8.4
If audio codec is not signaled in variant manifest, or if only a stream manifest is provided, the player will try to guess audio codec by parsing audio sampling rate in ADTS header. If sampling rate is less or equal than 22050 Hz, then the player assumes it is HE-AAC, otherwise it assumes it is AAC-LC. This could result in bad guess, leading to audio decode error, ending up in media error. It is possible to hint default audio codec to the player by setting hlsJSDefaultAudioCodec to:
  • 'mp4a.40.2': AAC-LC
  • 'mp4a.40.5': HE-AAC
  • 'auto': the player auto-guesses. This is the default.
hlsJSXhrWithCredentials: Boolean
This setting has been added with Radiant Media Player version 3.4.0
This setting indicates to the player whether or not cross-site Access-Control requests should be made using credentials such as cookies, authorization headers or TLS client certificates. Setting withCredentials has no effect on same-site requests. Default: false.
hlsJSXhrSetup: Function
This setting has been added with Radiant Media Player version 3.4.2
This setting allows to pass a custom XMLHttpRequest setup to the player (including passing custom HTTP headers). This custom XMLHttpRequest setup will be used for all HLS playlist/chunk requests. This only applies to HLS for MSE where playlist/chunk are retrieved with XMLHttpRequest (i.e. not for Flash or native HLS on Apple devices). Following is an example of using this feature. Note this is just an example - you will need to adapt this to your own set up for a working solution.
function xhrSetup(xhr) {
  if (xhr) {
    // passing custom headers
    xhr.setRequestHeader('X-File-Name', 'rmp-file');
    // passing cookies withCredentials
    xhr.withCredentials = true;
  }
};
// Then we set our player settings
var settings = {
  licenseKey: 'your-license-key',
  bitrates: {
    hls: 'your-hls-url'
  },
  width: 640,
  height: 360,
  debug: true,
  hlsJSXhrSetup: xhrSetup
};
useNativeHlsOverHlsJS: Boolean

When set to true this setting will force the player to opt for native HLS when both native HLS and MSE-HLS are available (example: MS Edge or Chrome for Android). Default: false.

hlsWithMp3Audio: Boolean

When set to true the player will provide support for HLS with H.264 video and MP3 audio (MPEG-1/2 Audio Layer III Elementary Stream) to HTML5 & Flash video. This setting is currently required due to MSE issues in Microsoft-based browsers (MS Edge, IE11) for MP3-audio content which requires specific handling. Default: false.


MPEG-DASH to HTML5 video settings

HTML5
dashAndroid: Boolean

Allow MPEG-DASH streaming for Chrome & Firefox on Android or not. Default: true.

dashFirst: Boolean
This setting has been added with Radiant Media Player version 3.4.1

When set to true this setting will cause the player to use MPEG-DASH over HLS for HTML5 video (when both are available). Default: false.

dashCapLevelToStage: Boolean

This settings will limit the bitrate based on player size (i.e. in a 640x360 window mode it will not try to load a 1920x1080 @5 Mbps bitrate). Default: false.

dashStopDownloadWhilePaused: Boolean
This setting has been added with Radiant Media Player version 3.1.0

When set to true this setting will cause download of MPEG-DASH fragments to stop while the player is paused. When set to false MPEG-DASH fragments will be downloaded until the dynamic buffer is filled regardless of the player being paused or not. Default: false. Note when preload is set to 'metadata' this setting is always enabled by default.

dashXhrWithCredentials: Boolean
This setting has been added with Radiant Media Player version 3.5.0

This setting indicates to the player whether or not cross-site Access-Control requests should be made using credentials such as cookies, authorization headers or TLS client certificates when streaming with MPEG-DASH. Setting withCredentials has no effect on same-site requests. Default: false.

dashFastSwitch: Boolean
This setting has been added with Radiant Media Player version 3.6.1

This setting tells the player to immediately empty its buffer when a new rendition is requested (either in auto or manual mode for bitrate selection) and to directly append data from this newly loaded rendition to the buffer. The maximum time to render a higher quality is current time + (1.5 * fragment duration). Note that in auto mode when a down-switch is detected, we appended the lower quality at the end of the buffer range to preserve the higher quality media for as long as possible. Default: true.

dashInitialBitrate: Number
This setting has been added with Radiant Media Player version 3.6.1

This setting tells the player which rendition (bitrate) to load at startup. The number must expressed in kbps. Example dashInitialBitrate: 500 means the player will try to load the rendition nearest to 500 kbps at startup. Default: 0 which means auto-guess by player.

dashUseBola: Boolean
This setting has been added with Radiant Media Player version 3.6.4

This setting will tell the player to switch to the experimental implementation of BOLA, replacing the throughput-based ABR rule set with the buffer-occupancy-based BOLA rule set. Default: false. As stated this is an experimental feature and should only be used for testing purposes.

dashForceInitialAudioIndex: Number
This setting has been added with Radiant Media Player version 3.6.6

This setting will force the player to reset the audio track (in the case of multi-audio tracks being available) to the provided index on stream start. The player stores the audio tracks in an Array based on the order in which they appear in the MPEG-DASH manifest. The first audio track is at index 0. By default the player uses local storage to "remember" which is the user preferred audio track (this most of the time corresponds to a given language). Default: -1 which corresponds to the default behaviour.

dashMaxAllowedRepresentationRatio: Number

This settings limits the number of bitrates that can be used by the player. Valid values range from 0 to 1. If set to 0 this setting will cause the player to only use the lowest available bitrate. If set to 1 this setting will allow the player to use all available bitrates. Default: 1.


Flash HLS settings

Flash
flashHlsMinbufferlength: Number

Minimum buffer length in seconds that needs to be reached before playback can start (after seeking) or restart (in case of empty buffer). If set to -1 some heuristics based on past metrics are used to define an accurate value that should prevent buffer to stall. Default: 1.

flashHlsLowbufferlength: Number

Low buffer threshold in seconds. When crossing down this threshold, HLS will switch to buffering state, usually the player will report this buffering state through a buffering statement. Playback may still continue. Default: 1.

flashHlsMaxbufferlength: Number

Maximum buffer length in seconds. The player will try to never exceed this value for its buffer. Default: 300.

flashHlsCapLevelToStage: Boolean

This setting limits bitrates usable in auto-quality by the stage dimensions (width and height). Default: false. If set to true, width and height (defined in m3u8 playlist) will be compared with the actual player width and height and only the best match will be used as the maximum available bitrate. This setting is ignored in manual mode so all levels can be selected manually.

flashHlsStartFromLevel: Number
From 0 to 1: indicates the preferred initial bitrate. Default: -2.
  • if 0: lowest non-audio bitrate is used
  • if 1: highest bitrate is used
  • if 0.5: the closest to the middle bitrate will be selected and used first
  • if -1: automatic start level selection, playback will start from level matching download bandwidth (determined from download of first segment)
  • if -2: playback will start from the first level appearing in Manifest (regardless of its bitrate)
flashHlsAutoStartMaxDuration: Number
Max fragment loading duration (bandwidth test + fragment loading) in automatic start level selection mode (in milliseconds). Default: -1.
  • if -1: max duration not capped
  • if greater than 0: max duration is capped to the given value. this will avoid long playback starting time. basically if set to 2000ms, and download bandwidth test took 1500ms, we only have 500ms left to load the proper fragment ... which is not enough ... this means that the player will stick to level 0 in that case, even if download bandwidth would be enough to select a higher bitrate
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License.