PlayerAPI

Core player instance methods and properties

PlayerAPI

Interface

Bitmovin Player instance members.

Properties

adaptation

Readonly adaptation: AdaptationAPI

The adaptation API namespace.


ads

Readonly ads: PlayerAdvertisingAPI

The advertising API namespace.


analytics

Readonly analytics: Bitmovin8Adapter

The Analytics API namespace.


buffer

Readonly buffer: PlayerBufferAPI

The buffer API namespace.


drm

Readonly drm: DrmAPI

The DRM API namespace.


exports

Readonly exports: 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

Readonly lowlatency: LowLatencyAPI

The low latency API namespace.


manifest

Readonly manifest: PlayerManifestAPI

The manifest API namespace.


sgai

Readonly sgai: PlayerSgaiAPI

The SGAI API namespace.


subtitles

Readonly subtitles: PlayerSubtitlesAPI

The subtitles API namespace.


version

Readonly version: string

The version number of the player.


vr

Readonly vr: PlayerVRAPI

The VR API namespace.

Methods

addMetadata

addMetadata(metadataType, metadata): boolean

Sends custom metadata to a remote receiver app (e.g. Chromecast).

Parameters

NameTypeDescription
metadataTypeCASTThe type of the metadata. Currently only 'CAST' is supported.
metadataanyThe 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

AudioTrack

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

AudioQuality

Since: v7.3.1


getAvailableAudio

getAvailableAudio(): AudioTrack[]

Returns an array of all available audio tracks.

Returns

AudioTrack[]

Since: v4.0


getAvailableAudioQualities

getAvailableAudioQualities(): AudioQuality[]

Returns an array of all available audio qualities the player can adapt between.

Returns

AudioQuality[]

Since: v4.0


getAvailableSegments

getAvailableSegments(): SegmentMap

Returns infos for segments that can be requested by the player

Returns

SegmentMap

Since: v7.2


getAvailableVideoQualities

getAvailableVideoQualities(): VideoQuality[]

Returns an array containing all available video qualities the player can adapt between.

Returns

VideoQuality[]

Since: v4.0


getBufferedRanges

getBufferedRanges(): TimeRange[]

Returns the currently buffered time ranges of the video element.

Returns

TimeRange[]

Since: v6.1


getConfig

getConfig(mergedConfig?): PlayerConfig

Returns the config object of the current player instance.

Parameters

NameTypeDescription
mergedConfig?booleantrue to return the config expanded with all default values, false to return the user config passed to the player's constructor.

Returns

PlayerConfig

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

NameTypeDescription
mode?TimeModeThe 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

DownloadedAudioData

Since: v4.0


getDownloadedVideoData

getDownloadedVideoData(): DownloadedVideoData

Returns data about the last downloaded video segment.

Returns

DownloadedVideoData

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

AudioQuality

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

VideoQuality

Since: v4.0


getPlayerType

getPlayerType(): PlayerType

Returns the currently used rendering mode. See PlayerType for details of the valid values.

Returns

PlayerType

Since: v4.0


getSeekableRange

getSeekableRange(): TimeRange

Returns the time range that is currently valid for seeking.

Returns

TimeRange

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

NameTypeDescription
type?stringThe type of image snapshot to capture. Allowed values are 'image/jpeg' and 'image/webp'.
quality?numberA number between 0 and 1 indicating the image quality.

Returns

Snapshot

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

SourceConfig

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

StreamType

Since: v4.0


getSupportedDRM

getSupportedDRM(): Promise<string[]>

Tests and retrieves a list of all supported DRM systems 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

NameTypeDescription
mode?SupportedTechnologyModethe mode by which the supported technologies are determined

Returns

Technology[]

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

NameTypeDescription
timenumberthe media time for which the thumbnail should be returned

Returns

Thumbnail

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

VideoQuality

Since: v7.3.1


getViewMode

getViewMode(): ViewMode

Gets the active ViewMode.

Returns

ViewMode

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

NameTypeDescription
drmSystemstringA 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

NameTypeDescription
viewModeViewModethe 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

NameTypeDescription
sourceSourceConfigThe source the player should load.
forceTechnology?stringForces 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?booleanIf 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

NameTypeDescription
issuer?stringThe 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

NameType
Textends PlayerEvent

Parameters

NameTypeDescription
eventTypeTThe event to remove the handler from
callbackPlayerEventCallback<T>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

NameType
Textends PlayerEvent

Parameters

NameTypeDescription
eventTypeTThe type of event to subscribe to.
callbackPlayerEventCallback<T>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

NameTypeDescription
issuer?stringThe 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

NameTypeDescription
issuer?stringThe 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

NameTypeDescription
timenumberThe time to seek to
issuer?stringThe 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

NameTypeDescription
aspectratiostring | numberThe 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

NameTypeDescription
trackIDstringThe 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

NameTypeDescription
audioQualityIDstringThe 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

NameTypeDescription
customDataanyData 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

NameTypeDescription
levelLogLevelLog 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

NameTypeDescription
speednumberA 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

NameTypeDescription
urlstringThe URL to the poster image
keepPersistentbooleanFlag 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

NameTypeDescription
queryParametersQueryParametersThe 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

NameTypeDescription
videoElementHTMLElementThe 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

NameTypeDescription
videoQualityIDstringID 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

NameTypeDescription
viewModeViewModethe view mode to switch the player into
options?ViewModeOptionsadditional 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

NameTypeDescription
volumenumberThe volume to set between 0 and 100
issuer?stringThe 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

NameTypeDescription
offsetnumberThe offset to timeshift to
issuer?stringThe 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

NameTypeDescription
issuer?stringThe 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

NameTypeDescription
containerElementHTMLElementthe DOM element container for the player
configPlayerConfigthe player configuration

Returns

PlayerAPI

the player instance

Properties

version

Readonly version: string

The version number of the player.

Methods

addModule

addModule(moduleDefinition): void

Adds a module into the player.

Parameters

NameTypeDescription
moduleDefinitionanythe 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

ModuleName[]

the list of added modules


removeModule

removeModule(name): void

Removes a module from the player.

Parameters

NameTypeDescription
nameModuleNamethe module name which should be removed from the player.

Returns

void


PlayerExports

Interface

Properties

AdQuartile

Readonly AdQuartile: typeof AdQuartile


BufferType

Readonly BufferType: typeof BufferType


ErrorCode

Readonly ErrorCode: typeof ErrorCode


HttpRequestMethod

Readonly HttpRequestMethod: typeof HttpRequestMethod


HttpRequestType

Readonly HttpRequestType: typeof HttpRequestType


HttpResponseType

Readonly HttpResponseType: typeof HttpResponseType


LogLevel

Readonly LogLevel: typeof LogLevel


MediaType

Readonly MediaType: typeof MediaType


ModuleName

Readonly ModuleName: typeof ModuleName


PlayerAPINotAvailableError

Readonly PlayerAPINotAvailableError: typeof PlayerAPINotAvailableError


PlayerError

Readonly PlayerError: typeof PlayerError


PlayerEvent

Readonly PlayerEvent: typeof PlayerEvent


PlayerModuleMissingError

Readonly PlayerModuleMissingError: typeof PlayerModuleMissingError


PlayerType

Readonly PlayerType: typeof PlayerType


SupportedTechnologyMode

Readonly SupportedTechnologyMode: typeof SupportedTechnologyMode


ViewMode

Readonly ViewMode: typeof ViewMode


WarningCode

Readonly WarningCode: typeof WarningCode


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.

Hierarchy

Properties

bitrate

bitrate: number

The bitrate of the media representation.


codec

Optional codec: string

The codec of the media representation.


id

id: string

The id of the media representation.


label

Optional label: 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

Optional uid: 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

Optional frameRate: 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

Optional qualityRanking: 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.

Hierarchy

Properties

bitrate

bitrate: number

The bitrate of the media representation.

Inherited from

Quality.bitrate


channels

Optional channels: number

The number of audio channels


codec

Optional codec: string

The codec of the media representation.

Inherited from

Quality.codec


id

id: string

The id of the media representation.

Inherited from

Quality.id


label

Optional label: 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

Quality.label


uid

Optional uid: string

The unique id of the current segment.
Only set when requesting the video quality through getPlaybackVideoData.

Inherited from

Quality.uid


VideoQuality

Interface

Quality definition of a video representation.

Hierarchy

Properties

bitrate

bitrate: number

The bitrate of the media representation.

Inherited from

Quality.bitrate


codec

Optional codec: string

The codec of the media representation.

Inherited from

Quality.codec


frameRate

Optional frameRate: 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

Quality.id


label

Optional label: 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

Quality.label


uid

Optional uid: string

The unique id of the current segment.
Only set when requesting the video quality through getPlaybackVideoData.

Inherited from

Quality.uid


width

width: number

The width of the video representation.


AudioTrack

Interface

Definition of an audio track.

Hierarchy

Properties

id

id: string

The id of the media track that is used to identify and set the track.

Inherited from

MediaTrack.id


label

label: string

The text used to represent this track to the user (e.g. in the UI).

Inherited from

MediaTrack.label


lang

lang: string

The language of the audio track.


metadata

Optional metadata: 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

MediaTrack.metadata


role

Optional role: MediaTrackRole[]

The optional roles of the track.

Inherited from

MediaTrack.role

Methods

getQualities

getQualities(): AudioQuality[]

Returns the available audio qualities.

Returns

AudioQuality[]


VideoTrack

Interface

Definition of a video track.

Hierarchy

Properties

id

id: string

The id of the media track that is used to identify and set the track.

Inherited from

MediaTrack.id


label

label: string

The text used to represent this track to the user (e.g. in the UI).

Inherited from

MediaTrack.label


metadata

Optional metadata: 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

MediaTrack.metadata


role

Optional role: MediaTrackRole[]

The optional roles of the track.

Inherited from

MediaTrack.role

Methods

getQualities

getQualities(): VideoQuality[]

Returns the available video qualities.

Returns

VideoQuality[]


MediaTrack

Interface

Hierarchy

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

Optional metadata: 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

Optional role: 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 | undefined

Properties

id

Optional id: string


schemeIdUri

Optional schemeIdUri: string


value

Optional value: string


MediaTrackRole

Interface

Describes the role of a media track, e.g. an AudioTrack.

Indexable

▪ [key: string]: string | undefined

Properties

id

Optional id: string


schemeIdUri

schemeIdUri: string


value

Optional value: string


TrackMetadata

Interface

Properties

id

Optional id: string

Unique identifier of the track.


lang

Optional lang: string

Language of the track. Only applicable for audio and subtitles, otherwise undefined.


mimeType

Optional mimeType: 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

Optional end: number

The end time of the metadata.


payload

payload: any

the actual metadata.


start

Optional start: 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

AudioTrack[]


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

TextTrack[]


getVideoTracks

getVideoTracks(): VideoTrack[]

Returns available video tracks of the Period.

Returns

VideoTrack[]


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

Optional dash: DashAPI

Offers insight into the loaded DASH manifest.


hls

Optional hls: HlsAPI

Offers insight into the loaded HLS manifest.


DashAPI

Interface

Methods

getPeriod

getPeriod(): Period

Returns the currently playing Period.

Returns

Period


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

AudioTrack[]


getTextTracks

getTextTracks(): TextTrack[]

Returns available text tracks.

Returns

TextTrack[]


getVideoTracks

getVideoTracks(): VideoTrack[]

Returns available video tracks.

Returns

VideoTrack[]


HlsTag

Interface

Properties

attributes

Optional attributes: Attributes

The attributes of the HLS tag as key-value pairs.


name

name: string

The name of the HLS tag.


value

Optional value: 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

LowLatencySyncConfig

the catchup sync configuration.

Since: v8.3


getFallbackConfig

getFallbackConfig(): LowLatencySyncConfig

Returns the current latency sync configuration for fallback.

Returns

LowLatencySyncConfig

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

NameTypeDescription
configLowLatencySyncConfigthe sync configuration for latency catchup.

Returns

void

Since: v8.3


setFallbackConfig

setFallbackConfig(config): void

Sets the configuration specifying parameters for latency fallback.

Parameters

NameTypeDescription
configLowLatencySyncConfigthe 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

NameTypeDescription
latencynumberthe target latency in seconds.

Returns

void

Since: v8.3


Stream

Interface

Type parameters

NameType
Textends 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. getCurrentTime

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.