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

metadataType

CAST

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

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

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

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

mode?

TimeMode

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

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

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

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[]>

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?

SupportedTechnologyMode

the 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

time

number

the 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

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

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

SourceConfig

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

PlayerEventCallback<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

T

T extends PlayerEvent

Parameters

eventType

T

The type of event to subscribe to.

callback

PlayerEventCallback<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

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

LogLevel

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

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

ViewMode

the view mode to switch the player into

options?

ViewModeOptions

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

PlayerConfig

the 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

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

ModuleName[]

the list of added modules


removeModule()

removeModule(name): void

Removes a module from the player.

Parameters

name

ModuleName

the 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.

Extended by

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.

See

Extends

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.

See

Extends

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.

Extends

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.

Extends

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

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?

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

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

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

config

LowLatencySyncConfig

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

LowLatencySyncConfig

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

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.