Core player instance methods and properties
PlayerAPI
Interface
Bitmovin Player instance members.
Properties
adaptation
readonlyadaptation:AdaptationAPI
The adaptation API namespace.
ads
readonlyads:PlayerAdvertisingAPI
The advertising API namespace.
analytics
readonlyanalytics:Bitmovin8Adapter
The Analytics API namespace.
buffer
readonlybuffer:PlayerBufferAPI
The buffer API namespace.
drm
readonlydrm:DrmAPI
The DRM API namespace.
exports
readonlyexports:PlayerExports
Exports from the player core as a convenience fallback for non-modular code.
It is recommended to use ES6 imports instead.
Usage:
import { Player } from 'bitmovin-player';
const player = new Player(...);
player.on(player.exports.Event.Loaded, () => ...);Recommended approach:
import { Player, Event } from 'bitmovin-player';
const player = new Player(...);
player.on(Event.Loaded, () => ...);Deprecated: It is recommended to use ES6 imports instead
lowlatency
readonlylowlatency:LowLatencyAPI
The low latency API namespace.
manifest
readonlymanifest:PlayerManifestAPI
The manifest API namespace.
sgai
readonlysgai:PlayerSgaiAPI
The SGAI API namespace.
subtitles
readonlysubtitles:PlayerSubtitlesAPI
The subtitles API namespace.
version
readonlyversion:string
The version number of the player.
vr
readonlyvr:PlayerVRAPI
The VR API namespace.
Methods
addMetadata()
addMetadata(
metadataType,metadata):boolean
Sends custom metadata to a remote receiver app (e.g. Chromecast).
Parameters
metadataType
The type of the metadata. Currently only 'CAST' is supported.
metadata
any
The custom data to send to the receiver.
Returns
boolean
True if it was successful.
Since: v4.0
castStop()
castStop():
void
Stops a running Cast session (i.e. isCasting returns true). Has no effect if isCasting
returns false.
Returns
void
Since: v4.0
castVideo()
castVideo():
void
Initiates casting the current video to a Cast-compatible device. The user has to choose the target device.
Returns
void
Since: v4.0
clearQueryParameters()
clearQueryParameters():
void
Removes all existing query parameters as specified in setQueryParameters or
query_parameters.
Returns
void
Since: v4.0
destroy()
destroy():
Promise<void>
Unloads the player and removes all inserted HTML elements and event handlers.
Returns
Promise<void>
Promise resolves when the player has cleaned up all its event handlers & resources
Since: v8.0
getAspectRatio()
getAspectRatio():
number
Returns the current aspect ratio of the player, or 0 if there is no style module.
Note: the default player aspect ratio is 16:9.
Returns
number
A number indicating the player aspect ratio (e.g. 1.6 for 16:10).
Since: v8.74
getAudio()
getAudio():
AudioTrack
Returns the currently used audio track, or null if no track is active.
Returns
Since: v4.0
getAudioBufferLength()
getAudioBufferLength():
number
Returns the seconds of already buffered audio data or null if no audio source is loaded.
Returns
number
Deprecated: Use getLevel instead.
getAudioQuality()
getAudioQuality():
AudioQuality
Returns the currently selected audio quality. One of the elements of getAvailableAudioQualities.
Returns
Since: v7.3.1
getAvailableAudio()
getAvailableAudio():
AudioTrack[]
Returns an array of all available audio tracks.
Returns
Since: v4.0
getAvailableAudioQualities()
getAvailableAudioQualities():
AudioQuality[]
Returns an array of all available audio qualities the player can adapt between.
Returns
Since: v4.0
getAvailableSegments()
getAvailableSegments():
SegmentMap
Returns infos for segments that can be requested by the player
Returns
Since: v7.2
getAvailableVideoQualities()
getAvailableVideoQualities():
VideoQuality[]
Returns an array containing all available video qualities the player can adapt between.
Returns
Since: v4.0
getBufferedRanges()
getBufferedRanges():
TimeRange[]
Returns the currently buffered time ranges of the video element.
Returns
Since: v6.1
getConfig()
getConfig(
mergedConfig?):PlayerConfig
Returns the config object of the current player instance.
Parameters
mergedConfig?
boolean
true to return the config expanded with all default values, false to return the user
config passed to the player's constructor.
Returns
The current user or merged player config.
Since: v4.0
getContainer()
getContainer():
HTMLElement
Returns the html element that the player is embedded in, which has been provided in the player constructor.
Returns
HTMLElement
Since: v8.0
getCurrentTime()
getCurrentTime(
mode?):number
Returns the current playback time in seconds of the video.
Parameters
mode?
The mode to decide if the returned time should be absolute or relative, see TimeMode.
Default mode is absolute.
Returns
number
Since: v4.0
getDownloadedAudioData()
getDownloadedAudioData():
DownloadedAudioData
Returns data about the last downloaded audio segment.
Returns
Since: v4.0
getDownloadedVideoData()
getDownloadedVideoData():
DownloadedVideoData
Returns data about the last downloaded video segment.
Returns
Since: v4.0
getDroppedVideoFrames()
getDroppedVideoFrames():
number
Returns the total number of dropped video frames since playback started.
Returns
number
Since: v8.0
getDuration()
getDuration():
number
Returns the total duration in seconds of the current video or Infinity if it’s a live stream.
Returns
number
Since: v4.0
getManifest()
getManifest():
string
Returns the used DASH or HLS manifest file, or null if no manifest is loaded.
Previous player versions (v4.2-v7.0) returned an object for DASH and a string for HLS, this has been corrected
in v7.1.
Returns
string
Since: v7.1
getMaxTimeShift()
getMaxTimeShift():
number
Returns the limit in seconds for time shift. Is either negative or 0 and applicable to live streams only.
Returns
number
Since: v4.0
getPlaybackAudioData()
getPlaybackAudioData():
AudioQuality
Returns data about the currently playing audio segment.
Returns
Since: v4.0
getPlaybackSpeed()
getPlaybackSpeed():
number
Returns the current playback speed of the player. 1 is the default playback speed, values
between 0 and 1 refer to slow motion and values greater than 1 refer to fast forward. Values less or
equal zero are ignored.
Returns
number
Since: v4.0
getPlaybackVideoData()
getPlaybackVideoData():
VideoQuality
Returns data about the currently playing video segment.
Returns
Since: v4.0
getPlayerType()
getPlayerType():
PlayerType
Returns the currently used rendering mode. See PlayerType for details of the valid values.
Returns
Since: v4.0
getSeekableRange()
getSeekableRange():
TimeRange
Returns the time range that is currently valid for seeking.
Returns
Since: v7.1
getSnapshot()
getSnapshot(
type?,quality?):Snapshot
Creates a snapshot of the current video frame.
Snapshots cannot be taken from DRM protected content.
Parameters
type?
string
The type of image snapshot to capture. Allowed values are 'image/jpeg' and 'image/webp'.
quality?
number
A number between 0 and 1 indicating the image quality.
Returns
Since: v4.0
getSource()
getSource():
SourceConfig
Returns the source that was loaded via a successfully finished load call. After a
Error event is thrown, it returns the last successfully loaded source.
Returns null if no source is loaded or a load is in progress.
Returns
the loaded source or null if no source is loaded
getStreamType()
getStreamType():
StreamType
Returns the currently used streaming technology. See StreamType for details of the valid values.
Returns
Since: v4.0
getSupportedDRM()
getSupportedDRM():
Promise<string[]>
Returns the list of all DRM systems supported by the player in the current user agent.
Returns
Promise<string[]>
A Promise that resolves to an array of strings with the supported DRM systems after fulfillment.
Should never be rejected.
Since: v4.1
getSupportedTech()
getSupportedTech(
mode?):Technology[]
Returns an array of objects denoting a player and streaming technology combination. By default, this
returns the combinations supported on the current platform (Platform),
ordered by descending priority which will be used to play a stream.
Parameters
mode?
the mode by which the supported technologies are determined
Returns
Since: v4.0
getThumbnail()
getThumbnail(
time):Thumbnail
Returns a thumbnail image for a certain time or null if there is no thumbnail available.
Requires a configured thumbnails track in thumbnailTrack.
Parameters
time
number
the media time for which the thumbnail should be returned
Returns
A thumbnail if a thumbnails track is configured and a thumbnail exists for the specified time, else null
Since: v8.0
getTimeShift()
getTimeShift():
number
Returns the current time shift offset to the live edge in seconds. Only applicable to live streams.
Returns
number
Since: v4.0
getTotalStalledTime()
getTotalStalledTime():
number
Returns the stalled time in seconds since playback started.
Returns
number
Since: v4.0
getVideoBufferLength()
getVideoBufferLength():
number
Returns the seconds of already buffered video data or null if no video source is loaded.
Returns
number
Deprecated: Use getLevel instead.
getVideoElement()
getVideoElement():
HTMLVideoElement
Returns the used HTML5 video element.
Returns
HTMLVideoElement
The HTML5 video element which is used by the player
getVideoQuality()
getVideoQuality():
VideoQuality
Returns the currently selected video quality, if the user manually selected one. In this case it returns one of
the elements of getAvailableVideoQualities.
In case the user did not select a video quality it returns auto.
Returns
Since: v7.3.1
getViewMode()
getViewMode():
ViewMode
Gets the active ViewMode.
Returns
the view mode that is currently active
Since: v8.0
getVolume()
getVolume():
number
Returns the player’s volume between 0 (silent) and 100 (max volume).
Returns
number
Since: v4.0
hasEnded()
hasEnded():
boolean
Returns true if the video has ended.
Returns
boolean
Since: v4.0
isAirplayActive()
isAirplayActive():
boolean
Checks if Apple Airplay is enabled.
Returns
boolean
Since: v7.8.4
isAirplayAvailable()
isAirplayAvailable():
boolean
Checks if Apple AirPlay support is available.
Returns
boolean
Since: v7.1
isCastAvailable()
isCastAvailable():
boolean
Returns true if casting to another device (such as a ChromeCast) is available, otherwise false.
Please note that this function only returns true after the CastAvailable event has fired.
Returns
boolean
Since: v5.2
isCasting()
isCasting():
boolean
Returns true if the video is currently casted to a device and not played in the browser,
or false if the video is played locally.
Returns
boolean
Since: v4.0
isDRMSupported()
isDRMSupported(
drmSystem):Promise<string>
Checks if a DRM system is supported in the current user agent.
Parameters
drmSystem
string
A Key System string to test against
Returns
Promise<string>
Resolves with the DRM system string if it is supported, or rejects with an error message if not
Since: v4.1
isLive()
isLive():
boolean
Return true if the displayed video is a live stream.
Returns
boolean
Since: v4.0
isMuted()
isMuted():
boolean
Returns true if the player has been muted.
Returns
boolean
Since: v4.0
isPaused()
isPaused():
boolean
Returns true if the player has started playback but is currently paused.
Returns
boolean
Since: v4.0
isPlaying()
isPlaying():
boolean
Returns true if the player is currently playing, i.e. has started and is not paused.
Returns
boolean
Since: v4.0
isStalled()
isStalled():
boolean
Returns true if the player is currently stalling due to an empty buffer.
Returns
boolean
Since: v4.0
isViewModeAvailable()
isViewModeAvailable(
viewMode):boolean
Tests if a particular ViewMode is available for selection with setViewMode.
Parameters
viewMode
the view mode to test
Returns
boolean
true if the tested view mode is available, else false
Since: v8.0
load()
load(
source,forceTechnology?,disableSeeking?):Promise<void>
Sets a new video source and returns a promise which resolves to the player.
Parameters
source
The source the player should load.
forceTechnology?
string
Forces the player to use the specified playback and streaming technology. The specified
technologies have to be separated by a period (e.g. 'html5.hls'). A list of valid combinations can be retrieved
by calling getSupportedTech.
disableSeeking?
boolean
If set, seeking will be disabled
Returns
Promise<void>
Since: v4.0
mute()
mute(
issuer?):void
Mutes the player if an audio track is available. Has no effect if the player is already muted.
Parameters
issuer?
string
The issuer of the API call that will be passed to events triggered by this call
Returns
void
Since: v4.0
off()
off<
T>(eventType,callback):void
Removes a handler for a player event. This method was called removeEventHandler in previous
player versions.
Type Parameters
T
T extends PlayerEvent
Parameters
eventType
T
The event to remove the handler from
callback
The callback handler to remove
Returns
void
Since: v7.8
on()
on<
T>(eventType,callback):void
Subscribes an event handler to a player event. This method was called addEventHandler in previous
player versions.
Type Parameters
T
T extends PlayerEvent
Parameters
eventType
T
The type of event to subscribe to.
callback
The event callback handler that will be called when the event fires.
Returns
void
Since: v7.8
pause()
pause(
issuer?):void
Pauses the video if it is playing. Has no effect if the player is already paused.
Parameters
issuer?
string
The issuer of the API call that will be passed to events triggered by this call
Returns
void
Since: v4.0
play()
play(
issuer?):Promise<void>
Starts playback or resumes after being paused. No need to call it if the player is setup with
autoplay attribute (autoplay). Has no effect if the player is already playing.
Parameters
issuer?
string
The issuer of the API call that will be passed to events triggered by this call
Returns
Promise<void>
a Promise which resolves as soon as playback has actually started. This promise can reject
if play is prohibited by the browser (a missing user interaction for example)
Since: v4.0
preload()
preload():
void
Starts preloading the content of the currently loaded source.
Returns
void
Since: v6.1
seek()
seek(
time,issuer?):boolean
Seeks to the given playback time specified by the parameter time in seconds. Must not be greater
than the total duration of the video. Has no effect when watching a live stream as seeking is
not possible.
Parameters
time
number
The time to seek to
issuer?
string
The issuer of the API call that will be passed to events triggered by this call
Returns
boolean
Since: v4.0
setAspectRatio()
setAspectRatio(
aspectratio):void
Modifies the current aspect ratio of the player. Can be used to override the aspectratio
that is optionally passed during player initialization. Has no effect if the player has also been configured
to have a fixed width and height: in general, no more than two options
among width, height, and aspectratio should be provided to the player.
Parameters
aspectratio
string | number
The desired aspect ratio for the player. It can be a string (e.g. '16:9' or '16/9'), or
a number (e.g 1.6 for 16:10).
Returns
void
Since: v8.74
setAudio()
setAudio(
trackID):void
Sets the audio track to the ID specified by trackID.
Available tracks can be retrieved with getAvailableAudio.
Parameters
trackID
string
The ID of the audio track to activate
Returns
void
Since: v4.0
setAudioQuality()
setAudioQuality(
audioQualityID):void
Manually sets the audio stream to a fixed quality, identified by ID. Has to be an ID defined in
the MPD or the keyword 'auto'. Auto resets to dynamic switching. A list with valid IDs can be
retrieved by calling getAvailableAudioQualities.
Parameters
audioQualityID
string
The ID of the desired audio quality or 'auto' for dynamic switching
Returns
void
Since: v4.0
setAuthentication()
setAuthentication(
customData):void
Sets authentication data which is sent along with the licensing call. Can be used to add more
information for a 3rd party licensing backend. The data be any type or object as needed by the
3rd party licensing backend.
Parameters
customData
any
Data which should be sent with the licensing call
Returns
void
Since: v4.2
setLogLevel()
setLogLevel(
level):void
Sets the level of player log outputs.
Parameters
level
Log level, allowed values are "debug", "log", "warn", "error" and "off"
Returns
void
Since: v6.1
setPlaybackSpeed()
setPlaybackSpeed(
speed):void
[HTML5 only]
Sets the playback speed of the player. Fast forward as well as slow motion is supported.
Slow motion is used by values between 0 and 1, fast forward by values greater than 1.
Parameters
speed
number
A playback speed factor greater than 0
Returns
void getPlaybackSpeed
Since: v4.0
setPosterImage()
setPosterImage(
url,keepPersistent):void
Sets a poster image. Will be displayed immediately, even if a video stream is playing.
Parameters
url
string
The URL to the poster image
keepPersistent
boolean
Flag to set the poster image persistent so it is also displayed during playback (useful
for audio-only playback)
Returns
void
Since: v4.3
setQueryParameters()
setQueryParameters(
queryParameters):void
Adds GET parameters to all request URLs (e.g. manifest, media segments, subtitle files, …).
The queryParameters should be an object with key value pairs, where the keys are used as
parameter name and the values as parameter values.
Parameters
queryParameters
The list of query parameter key/value pairs
Returns
void
Since: v4.1
setVideoElement()
setVideoElement(
videoElement):void
Passes an HTML video element to the player, which should be used in case of Html5 or Native playback.
Needs to be called before load.
Parameters
videoElement
HTMLElement
The HTML video element to use
Returns
void
Since: v5.1
setVideoQuality()
setVideoQuality(
videoQualityID):void
Manually sets the video stream to a fixed quality, identified by ID. Has to be an ID defined in
the MPD or the keyword 'auto'. Auto resets to dynamic switching. A list with valid IDs can be retrieved
by calling getAvailableVideoQualities.
Parameters
videoQualityID
string
ID defined in the MPD or 'auto'
Returns
void
Since: v4.0
setViewMode()
setViewMode(
viewMode,options?):void
Sets the player to a particular ViewMode. Will only work if the selected view mode is available and
isViewModeAvailable returns true, else this call will be ignored. If successful, a
ViewModeChanged will be fired.
Parameters
viewMode
the view mode to switch the player into
options?
additional optional parameters for view modes
Returns
void
Since: v8.0
setVolume()
setVolume(
volume,issuer?):void
Sets the player’s volume in the range of 0 (silent) to 100 (max volume). Unmutes a muted player.
Parameters
volume
number
The volume to set between 0 and 100
issuer?
string
The issuer of the API call that will be passed to events triggered by this call
Returns
void
Since: v4.0
showAirplayTargetPicker()
showAirplayTargetPicker():
void
Shows the airplay playback target picker.
Returns
void
Since: v7.1
timeShift()
timeShift(
offset,issuer?):void
Shifts the time to the given offset in seconds from the live edge. Has to be within getMaxTimeShift
(which is a negative value) and 0. Only works in live streams.
[new in v4.3]: The offset can be positive and is then interpreted as a UNIX
timestamp in seconds. The value has to be within the timeShift window as specified by getMaxTimeShift.
Parameters
offset
number
The offset to timeshift to
issuer?
string
The issuer of the API call that will be passed to events triggered by this call
Returns
void
Since: v4.0
unload()
unload():
Promise<void>
Unloads the current video source.
Returns
Promise<void>
Since: v4.0
unmute()
unmute(
issuer?):void
Unmutes the player if muted.
Parameters
issuer?
string
The issuer of the API call that will be passed to events triggered by this call
Returns
void
Since: v4.0
StaticPlayerAPI
Interface
The static interface of the Bitmovin Player API class that is either available through the global
[window.]bitmovin.player.Player namespace or imported as AMD module.
The static API provides the constructor for player instances and other static fields as documented.
Constructors
Constructor
new StaticPlayerAPI(
containerElement,config):PlayerAPI
Creates a new player instance.
Parameters
containerElement
HTMLElement
the DOM element container for the player
config
the player configuration
Returns
the player instance
Properties
version
readonlyversion:string
The version number of the player.
Methods
addModule()
addModule(
moduleDefinition):void
Adds a module into the player.
Parameters
moduleDefinition
any
the module object which should be added to the player
Returns
void
getModules()
getModules():
ModuleName[]
Gets the list of modules that have been added through addModule.
Returns
the list of added modules
removeModule()
removeModule(
name):void
Removes a module from the player.
Parameters
name
the module name which should be removed from the player.
Returns
void
PlayerExports
Interface
Properties
AdQuartile
readonlyAdQuartile: typeofAdQuartile
BufferType
readonlyBufferType: typeofBufferType
ErrorCode
readonlyErrorCode: typeofErrorCode
HttpRequestMethod
readonlyHttpRequestMethod: typeofHttpRequestMethod
HttpRequestType
readonlyHttpRequestType: typeofHttpRequestType
HttpResponseType
readonlyHttpResponseType: typeofHttpResponseType
LogLevel
readonlyLogLevel: typeofLogLevel
MediaType
readonlyMediaType: typeofMediaType
ModuleName
readonlyModuleName: typeofModuleName
PlayerAPINotAvailableError
readonlyPlayerAPINotAvailableError: typeofPlayerAPINotAvailableError
PlayerError
readonlyPlayerError: typeofPlayerError
PlayerEvent
readonlyPlayerEvent: typeofPlayerEvent
PlayerModuleMissingError
readonlyPlayerModuleMissingError: typeofPlayerModuleMissingError
PlayerType
readonlyPlayerType: typeofPlayerType
SupportedTechnologyMode
readonlySupportedTechnologyMode: typeofSupportedTechnologyMode
ViewMode
readonlyViewMode: typeofViewMode
WarningCode
readonlyWarningCode: typeofWarningCode
Snapshot
Interface
A snapshot of a video frame.
Properties
data
data:
String
A Base64-encoded string that contains the image.
height
height:
number
The height of the image.
width
width:
number
The width of the image.
Quality
Interface
Quality definition of a media representation.
Extended by
Properties
bitrate
bitrate:
number
The bitrate of the media representation.
codec?
optionalcodec?:string
The codec of the media representation.
id
id:
string
The id of the media representation.
label?
optionallabel?:string
The label of the media representation that should be exposed to the user (e.g. in the UI).
Only set when requesting qualities through getAvailableAudioQualities and
getAvailableVideoQualities.
uid?
optionaluid?:string
The unique id of the current segment.
Only set when requesting the video quality through getPlaybackVideoData.
QualityMetadata
Interface
Properties
bitrate
bitrate:
number
Bitrate of the quality.
frameRate?
optionalframeRate?:number
Frame rate of the quality. Only applicable for video tracks, otherwise undefined.
height
height:
number
Height of the quality. Only applicable for video tracks, otherwise undefined.
id
id:
string
Unique identifier of the quality.
mimeType
mimeType:
string
Mime type of the quality.
qualityRanking?
optionalqualityRanking?:number
The quality ranking as given in the manifest. undefined if not present.
width
width:
number
Width of the quality. Only applicable for video tracks, otherwise undefined.
AudioQuality
Interface
Quality definition of an audio representation.
See
Extends
Properties
bitrate
bitrate:
number
The bitrate of the media representation.
Inherited from
channels?
optionalchannels?:number
The number of audio channels
codec?
optionalcodec?:string
The codec of the media representation.
Inherited from
id
id:
string
The id of the media representation.
Inherited from
label?
optionallabel?:string
The label of the media representation that should be exposed to the user (e.g. in the UI).
Only set when requesting qualities through getAvailableAudioQualities and
getAvailableVideoQualities.
Inherited from
uid?
optionaluid?:string
The unique id of the current segment.
Only set when requesting the video quality through getPlaybackVideoData.
Inherited from
VideoQuality
Interface
Quality definition of a video representation.
See
Extends
Properties
bitrate
bitrate:
number
The bitrate of the media representation.
Inherited from
codec?
optionalcodec?:string
The codec of the media representation.
Inherited from
frameRate?
optionalframeRate?:number
Frame rate of the video representation as stated in the manifest
height
height:
number
The heights of the video representation.
id
id:
string
The id of the media representation.
Inherited from
label?
optionallabel?:string
The label of the media representation that should be exposed to the user (e.g. in the UI).
Only set when requesting qualities through getAvailableAudioQualities and
getAvailableVideoQualities.
Inherited from
uid?
optionaluid?:string
The unique id of the current segment.
Only set when requesting the video quality through getPlaybackVideoData.
Inherited from
width
width:
number
The width of the video representation.
AudioTrack
Interface
Definition of an audio track.
Extends
Properties
id
id:
string
The id of the media track that is used to identify and set the track.
Inherited from
label
label:
string
The text used to represent this track to the user (e.g. in the UI).
Inherited from
lang
lang:
string
The language of the audio track.
metadata?
optionalmetadata?:MediaTrackMetadata[]
Optional custom metadata about the track.
This is currently only supported for DASH manifests, where these are populated from SupplementalProperty elements.
Since: 8.243.0
Inherited from
role?
optionalrole?:MediaTrackRole[]
The optional roles of the track.
Inherited from
Methods
getQualities()
getQualities():
AudioQuality[]
Returns the available audio qualities.
Returns
VideoTrack
Interface
Definition of a video track.
Extends
Properties
id
id:
string
The id of the media track that is used to identify and set the track.
Inherited from
label
label:
string
The text used to represent this track to the user (e.g. in the UI).
Inherited from
metadata?
optionalmetadata?:MediaTrackMetadata[]
Optional custom metadata about the track.
This is currently only supported for DASH manifests, where these are populated from SupplementalProperty elements.
Since: 8.243.0
Inherited from
role?
optionalrole?:MediaTrackRole[]
The optional roles of the track.
Inherited from
Methods
getQualities()
getQualities():
VideoQuality[]
Returns the available video qualities.
Returns
MediaTrack
Interface
Extended by
Properties
id
id:
string
The id of the media track that is used to identify and set the track.
label
label:
string
The text used to represent this track to the user (e.g. in the UI).
metadata?
optionalmetadata?:MediaTrackMetadata[]
Optional custom metadata about the track.
This is currently only supported for DASH manifests, where these are populated from SupplementalProperty elements.
Since: 8.243.0
role?
optionalrole?:MediaTrackRole[]
The optional roles of the track.
MediaTrackMetadata
Interface
Describes custom metadata associated with a media track, e.g. an AudioTrack.
Since
8.243.0
Indexable
[
key:string]:string
Properties
id?
optionalid?:string
schemeIdUri?
optionalschemeIdUri?:string
value?
optionalvalue?:string
MediaTrackRole
Interface
Describes the role of a media track, e.g. an AudioTrack.
Indexable
[
key:string]:string
Properties
id?
optionalid?:string
schemeIdUri
schemeIdUri:
string
value?
optionalvalue?:string
TrackMetadata
Interface
Properties
id?
optionalid?:string
Unique identifier of the track.
lang?
optionallang?:string
Language of the track. Only applicable for audio and subtitles, otherwise undefined.
mimeType?
optionalmimeType?:string
Mime type of the track.
Thumbnail
Interface
Properties of a thumbnail out of a seeking thumbnail preview definition.
Properties
end
end:
number
End time of the thumbnail.
height
height:
number
Height of the thumbnail.
start
start:
number
Start time of the thumbnail.
text
text:
string
Raw cue data.
url
url:
string
URL of the spritesheet.
width
width:
number
Width of the thumbnail.
x
x:
number
Horizontal offset of the thumbnail in its spritesheet.
y
y:
number
Vertical offset of the thumbnail in its spritesheet.
TimeRange
Interface
Properties
end
end:
number
The end of the range.
start
start:
number
The start of the range
Attributes
Interface
Indexable
[
name:string]:any
Metadata
Interface
Properties
end?
optionalend?:number
The end time of the metadata.
payload
payload:
any
the actual metadata.
start?
optionalstart?:number
The start time of the metadata.
type
type:
MetadataType
The type of timed metadata.
Period
Interface
Properties
id
id:
string
The ID of the Period.
properties
properties:
object
Contains Period attributes as defined in the MPD.
Index Signature
[key: string]: string
Methods
getAudioTracks()
getAudioTracks():
AudioTrack[]
Returns available audio tracks of the Period.
Returns
getMetadata()
getMetadata():
Metadata[]
Returns metadata contained in the EventStream of the Period.
Returns
Metadata[]
getTextTracks()
getTextTracks():
TextTrack[]
Returns available text tracks of the Period.
Returns
getVideoTracks()
getVideoTracks():
VideoTrack[]
Returns available video tracks of the Period.
Returns
PeriodContentInformation
Interface
Content information about one track inside the Period.
Properties
codec
codec:
string
The codec of the content.
isDrmProtected
isDrmProtected:
boolean
Whether the content is DRM-protected.
mimeType
mimeType:
string
The mime type of the content, expressed in the format content-type/container-format (e.g. video/mp4).
PeriodInformation
Interface
Information about a period that is relevant for the decision on whether to recreate SourceBuffers or not.
Properties
contentInformation
contentInformation:
PeriodContentInformation[]
Information about the content of the period, one entry per available track.
periodId
periodId:
string
The ID of the period (always 0 for HLS).
PeriodSwitchObject
Interface
Properties
periodId
periodId:
string
PlayerManifestAPI
Interface
Properties
dash?
optionaldash?:DashAPI
Offers insight into the loaded DASH manifest.
hls?
optionalhls?:HlsAPI
Offers insight into the loaded HLS manifest.
DashAPI
Interface
Methods
getPeriod()
getPeriod():
Period
Returns the currently playing Period.
Returns
listPeriods()
listPeriods():
Period[]
Returns all available Periods.
Returns
Period[]
HlsAPI
Interface
Properties
properties
properties:
HlsTag[]
Contains all tags found in the Master Playlist.
Methods
getAudioTracks()
getAudioTracks():
AudioTrack[]
Returns available audio tracks.
Returns
getTextTracks()
getTextTracks():
TextTrack[]
Returns available text tracks.
Returns
getVideoTracks()
getVideoTracks():
VideoTrack[]
Returns available video tracks.
Returns
HlsTag
Interface
Properties
attributes?
optionalattributes?:Attributes
The attributes of the HLS tag as key-value pairs.
name
name:
string
The name of the HLS tag.
value?
optionalvalue?:string
The value of the HLS tag that is not part of its attributes.
LowLatencyAPI
Interface
Methods
getCatchupConfig()
getCatchupConfig():
LowLatencySyncConfig
Returns the current latency sync configuration for catchup.
Returns
the catchup sync configuration.
Since: v8.3
getFallbackConfig()
getFallbackConfig():
LowLatencySyncConfig
Returns the current latency sync configuration for fallback.
Returns
the fallback sync configuration.
Since: v8.3
getLatency()
getLatency():
number
Returns the current latency in seconds.
Returns
number
Since: v8.3
getTargetLatency()
getTargetLatency():
number
Returns the current target latency in seconds.
Returns
number
Since: v8.3
setCatchupConfig()
setCatchupConfig(
config):void
Sets the configuration specifying parameters for latency catchup.
Parameters
config
the sync configuration for latency catchup.
Returns
void
Since: v8.3
setFallbackConfig()
setFallbackConfig(
config):void
Sets the configuration specifying parameters for latency fallback.
Parameters
config
the sync configuration for latency fallback.
Returns
void
Since: v8.3
setTargetLatency()
setTargetLatency(
latency):void
Sets the target latency to be maintained during playback. Causes firing a TargetLatencyChanged
event.
Parameters
latency
number
the target latency in seconds.
Returns
void
Since: v8.3
Stream
Interface
Type Parameters
T
T extends StreamDataType
Methods
getType()
getType():
string
The type of data that the stream carries.
Returns
string
string
read()
read():
Promise<StreamResponse<T>>
Provides the next data chunk in the stream and rejects once all data has been read.
Returns
Promise<StreamResponse<T>>
PlayerType
Enum
html5... The MediaSource Extension (MSE) based JavaScript player.native... The browser's native capabilities are being used, e.g. playing back HLS in Safari on iOS.unknown... The initial value where it is not known yet which player will be used.
Enumeration Members
Html5
Html5:
"html5"
Native
Native:
"native"
Unknown
Unknown:
"unknown"
WebRtc
WebRtc:
"webrtc"
TimeMode
Enum
The mode for getting the player's current time.
See
Since
v8.31.0
Enumeration Members
AbsoluteTime
AbsoluteTime:
"absolutetime"
Returns the Unix timestamp of the current playback time.
For live stream EXT-X-PROGRAM-DATE-TIME tags in HLS manifests are utilized for this value, if present.
RelativeTime
RelativeTime:
"relativetime"
Returns the relative timestamp of the current playback time.
For live streams the beginning of the DVR window at the time of tuning in is defined as 0.
TimelineReferencePoint
Enum
Enumeration Members
End
End:
"end"
startOffset will be calculated from the end of the stream or the live edge in case of a live stream with DVR
window.
Start
Start:
"start"
startOffset will be calculated from the beginning of the stream or DVR window.
MediaType
Enum
Enumeration Members
Audio
Audio:
"audio"
Video
Video:
"video"
MetadataType
Enum
The supported types of timed metadata.
Enumeration Members
CAST
CAST:
"CAST"
Used for custom messages between the sender and the remote receiver, such as a Chromecast receiver app.
Refer to addMetadata for details.
CUETAG
CUETAG:
"CUETAG"
HLS #EXT-X-CUE-OUT, #EXT-X-CUE-OUT-CONT and #EXT-X-CUE-IN tags are surfaced with this type.
CUSTOM
CUSTOM:
"CUSTOM"
All custom, i.e. unknown/unsupported HLS tags are surfaced with this type.
DATERANGE
DATERANGE:
"DATERANGE"
HLS #EXT-X-DATERANGE tags are surfaced with this type.
EMSG
EMSG:
"EMSG"
EMSG data from MP4 container formats are surfaced with this type.
See ID3 for the MPEG-2 TS equivalent.
Since: v8.81.0 EMSG version 1 is also supported, prior to v8.81.0 only version 0 was supported.
EVENT_STREAM
EVENT_STREAM:
"EVENT-STREAM"
DASH EventStream events (also known as MPD Events) are surfaced with this type.
ID3
ID3:
"ID3"
ID3 tags from MPEG-2 Transport Stream container formats are surfaced with this type.
See EMSG for the MP4 equivalent.
SCTE
SCTE:
"SCTE"
HLS #EXT-X-SCTE35 tags are surfaced with this type.
ContentLocationChangedReason
Enum
Enumeration Members
ContentSteering
ContentSteering:
"contentsteering"
The player switched content location as a result of a recommendation from the steering server,
i.e. it switched to a higher priority pathway.
Failover
Failover:
"failover"
The player switched content location as a result of a failover, i.e. due to a network issue.