Optional
adaptation_Groups adaptation sets and switches between them based on their group
attribute instead of the recommended
SupplementalProperty
urn:mpeg:dash:adaptation-set-switching:2016
.
Default is false.
Optional
check_If set, the player checks all available DRM licenses when the key status for a KID updates.
Instead of surfacing an error once the KID becomes unusable on a license, the key status for the KID is checked across all licenses. Only if the KID is not usable on any of the licenses an error is thrown.
Default is true
.
Optional
chunked_When set, the player will use the fetch
API to download segments using HTTP chunked transfer encoding (CTE)
instead of the XMLHttpRequest
API.
In combination with chunked CMAF content this can be used to achieve low-latency streaming.
Optional
dword_If set, all BaseMediaDecodeTime-stamps will be truncated to 32 bits in length.
Optional
fairplay_If set, keyerror
events will be ignored for Fairplay when more than one needkey
event was triggered with
identical initData
.
Default is true
.
Optional
force_If set, every BaseMediaDecodeTime in data segments will be rewritten, regardless if they exceed 32 bits or not. The tizen or webOS module has to be present and the player should run on Tizen or webOS TV.
Using this tweak might cause some unwanted problems when content has short discontinuities (e.g. SSAI streams). Enabling the tweak is only recommended when the playback experience is improved on testing.
Optional
force_If set, software decryption is used over the browser's WebCrypto API for anything that the player manually decrypts. E.g. for decrypting segments of DASH ClearKey-protected and HLS AES-128-encrypted streams.
Note: Proper DRM-protection such as Widevine and PlayReady is not affected by this tweak as decryption of such must be handled by the browser's CDM.
Optional
hls_All HLS variants with a bitrate lower than the given bitrate in bits per second (bps) are considered audio-only variants and removed if there is at least one with a higher bitrate.
Optional
hls_Defines the duration in seconds after which the backup stream penalization is considered to be expired. The penalty is applied when a playlist, or one of its segments, has failed to load, and the player has triggerd failover to a backup stream.
Default is 30
seconds.
Optional
hls_When set, the SourceBuffers will be cleared between segments with different discontinuities that otherwise have matching properties. This tweak can be used to switch this behaviour off for certain streams to gain more performance and seamless playback between discontinuity boundaries.
Default is true
.
Optional
hls_When set, the player will parse the manifest in a worker thread. This can improve the performance of the player when the manifest is large.
Default is false
.
Optional
hls_Optional
hls_When set, the playback times of the segments between HLS playlist are synced using media sequence number during quality switch.
Default is false
.
Optional
ignore_If enabled, Edit (edts
) boxes in MP4 segments which would introduce a segment start time offset are filtered from
segments before forwarding them to the decoder. This is required as browsers are handling such boxes differently.
This flag ensures consistent cross-browser behavior in this matter and is enabled by default.
Optional
live_The number of segments at the start of the segment list that the player considers unsafe to request. E.g when set to 2 the earliest possible segment to seek/timeShift to would be the third segment in the list.
The default value is 0
, so the complete DVR window is used.
Optional
max_The number of retries per CDN if a download error occurred in VoD streams
By default the player will retry 2
times.
Optional
max_Amount of times to retry a failed MPD download before throwing an error for failed download.
By default the player will retry 2
times.
Optional
max_Maximum number of retries when network request fails for the provided manifest. Applies for both master and variant playlist in case of Hls.
Default value is 2
.
Optional
min_Gaps in content that are smaller than this value will not be skipped. This tweak should be used if gap skipping is unnecessary: some browsers are able to play through small gaps in content without getting stuck.
Default value is 0
, which means that all encountered gaps will be skipped.
Optional
mpd_The time in seconds to wait before trying to download the MPD again after a download error occurred.
By default the player will retry in half a second
Optional
mpd_The time in seconds that the MPD age for live streams may exceed the minimumUpdatePeriod, before it should be considered outdated.
By default the player will use 5
seconds.
Optional
native_If enabled the native player used for HLS in Safari would fetch and parse the HLS playlist and trigger an Error event if the download of a segment fails and the playback stalls.
Default is false
.
Optional
native_If enabled the native player used for HLS in Safari would fetch and parse the HLS playlist and trigger
SegmentPlayback events carrying segment-specific metadata like #EXT-X-PROGRAM-DATE-TIME
if present in the manifest.
Default is true
.
Optional
no_Specifies whether the Player should not adjust the target buffer levels after a QuotaExceededError
.
Optional
parse_When set, CEA-708 captions are parsed when present in the source stream, instead of CEA-608.
By default CEA-608 captions are parsed.
Optional
parse_Whether the player should parse and process emsg
boxes from MP4 segments.
Note: This tweak is limited to the MSE-based player (i.e. if getPlayerType returns Html5) and has no effect for the native player (Native).
Default is true.
Optional
playstation_PlayStation 5 Platform tweaks
Optional
preserve_If set to true, the BMDT will preserve possible gaps in segments while rewriting timestamps, which may prevent out of sync audio and video.
Optional
prevent_This flag indicates whether we prevent the native video element to preload data. Metadata will always be preloaded.
In case of native HLS playback on Safari, this will cause e.g. AudioTracks
not being added, before
the playback starts.
Optional
restart_Amount of seconds the player buffers before playback starts again after a stall.
Default is 0.9
seconds.
This value is restricted to the maximum value of the buffer minus 0.5
seconds.
Optional
startup_Amount of seconds the player buffers before playback starts.
Default is 0.9
seconds.
This value is restricted to the maximum value of the buffer minus 0.5
seconds.
Optional
stop_Enabling this flag prevents the player from downloading any further resource (playlist, segments, ...), when the player is paused. Already issued requests will be finished.
Default is false
.
Optional
wish_
These are Bitmovin player tweaks, as MKPlayer uses Bitmovin player under the hood.
Note:
The tweaks configuration is used as an incubator for experimental features and also contains features implemented for specific customers that might not make it into the officially supported feature set.
Tweaks are not officially supported and are not guaranteed to be stable, i.e. their naming, functionality and API can change at any time within the tweaks or when being promoted to an official feature and moved into its final configuration namespace.
Tweaks are often proof-of-concepts that are quickly implemented for urgent needs of customers. They often do not go through an architectural review and are therefore not signed and approved by the architecture team.
Example: