> ## Documentation Index
> Fetch the complete documentation index at: https://developer.bitmovin.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Modules

Player module system and available modules

## ModuleName

> Enum

Defines the names and describes all available modules.

## Enumeration Members

### ABR

• **ABR** = `"ABR"`

Provides the available Adaptive BitRate algorithms

**`Filename`**

`bitmovinplayer-abr.js`

**`Dependencies`**

[EngineBitmovin](https://developer.bitmovin.com/playback/reference/web-sdk-modules#enginebitmovin)

***

### AdvertisingBitmovin

• **AdvertisingBitmovin** = `"Advertising"`

Provides ad support using the Bitmovin advertising module. `EngineNative` module is required in order to play
progressive ads.

**`Filename`**

`bitmovinplayer-advertising-bitmovin.js`

**`Dependencies`**

[AdvertisingCore](https://developer.bitmovin.com/playback/reference/web-sdk-modules#advertisingcore)

***

### AdvertisingCore

• **AdvertisingCore** = `"AdvertisingCore"`

Provides general APIs for advertising support

**`Filename`**

`bitmovinplayer-advertising-core.js`

**`Dependencies`**

[XML](https://developer.bitmovin.com/playback/reference/web-sdk-modules#xml) + ([EngineBitmovin](https://developer.bitmovin.com/playback/reference/web-sdk-modules#enginebitmovin) | [EngineNative](https://developer.bitmovin.com/playback/reference/web-sdk-modules#enginenative))

***

### AdvertisingIma

• **AdvertisingIma** = `"Advertising"`

Provides ad support using the Google IMA SDK.

**`Filename`**

`bitmovinplayer-advertising-ima.js`

**`Dependencies`**

[AdvertisingCore](https://developer.bitmovin.com/playback/reference/web-sdk-modules#advertisingcore)

***

### AdvertisingOmSdk

• **AdvertisingOmSdk** = `"AdvertisingOmSdk"`

Provides ad verification capabilities using the Open Measurement SDK.

In order to make use of this module, you have to use the AdvertisingBitmovin module and include the om-sdk
javascript files before the player, namely:

* omweb-v1.js
* omid-session-client-v1.js

You then have to at least configure [partnerName](https://developer.bitmovin.com/playback/reference/web-sdk-advertising#partnername) and [partnerVersion](https://developer.bitmovin.com/playback/reference/web-sdk-advertising#partnerversion)
in the [OmSdkTracker](https://developer.bitmovin.com/playback/reference/web-sdk-advertising#omsdktracker) which can be found in the [trackers](https://developer.bitmovin.com/playback/reference/web-sdk-advertising#trackers).

For additional verification, you can also include the validation script in the
[verificationResources](https://developer.bitmovin.com/playback/reference/web-sdk-advertising#verificationresources).

**`Filename`**

'bitmovinplayer-advertising-omsdk.js'

**`Dependencies`**

`Advertising`

***

### ContainerMP4

• **ContainerMP4** = `"ContainerMP4"`

Provides support for playback of MP4 container formats in supported browsers

**`Filename`**

`bitmovinplayer-container-mp4.js`

**`Dependencies`**

[EngineBitmovin](https://developer.bitmovin.com/playback/reference/web-sdk-modules#enginebitmovin)

***

### ContainerTS

• **ContainerTS** = `"ContainerTS"`

Provides support for trans-multiplexing MPEG-2 TS to fMP4

**`Filename`**

`bitmovinplayer-container-ts.js`

**`Dependencies`**

[EngineBitmovin](https://developer.bitmovin.com/playback/reference/web-sdk-modules#enginebitmovin)

***

### ContainerWebM

• **ContainerWebM** = `"ContainerWebM"`

Provides support for playback of WebM container formats in supported browsers

**`Filename`**

`bitmovinplayer-container-webm.js`

**`Dependencies`**

[EngineBitmovin](https://developer.bitmovin.com/playback/reference/web-sdk-modules#enginebitmovin)

***

### Crypto

• **Crypto** = `"Crypto"`

Provides support for HLS AES-128 and DASH ClearKey streams

**`Filename`**

`bitmovinplayer-crypto.js`

**`Dependencies`**

[HLS](https://developer.bitmovin.com/playback/reference/web-sdk-modules#hls) | [DASH](https://developer.bitmovin.com/playback/reference/web-sdk-modules#dash)

***

### DASH

• **DASH** = `"DASH"`

Provides MPEG-DASH support

**`Filename`**

`bitmovinplayer-dash.js`

**`Dependencies`**

[EngineBitmovin](https://developer.bitmovin.com/playback/reference/web-sdk-modules#enginebitmovin) + [XML](https://developer.bitmovin.com/playback/reference/web-sdk-modules#xml)

***

### DRM

• **DRM** = `"DRM"`

Provides support for Widevine, PlayReady, PrimeTime and Fairplay DRM systems

**`Filename`**

`bitmovinplayer-drm.js`

***

### EngineBitmovin

• **EngineBitmovin** = `"EngineBitmovin"`

Provides common adaptive streaming functionality

**`Filename`**

`bitmovinplayer-engine-bitmovin.js`

***

### EngineNative

• **EngineNative** = `"EngineNative"`

Uses the plain video element for playback of progressive or HLS (if the browser supports it) sources

**`Filename`**

`bitmovinplayer-engine-native.js`

***

### EngineWebRtc

• **EngineWebRtc** = `"EngineWebRtc"`

Provides support for playback of WebRTC streams.

***

### Envivio

• **Envivio** = `"Envivio"`

Support not-to-spec streams from the Envivio packager

**`Filename`**

`bitmovinplayer-envivio.js`

***

### HLS

• **HLS** = `"HLS"`

Provides support for HLS playback

**`Filename`**

`bitmovinplayer-hls.js`

**`Dependencies`**

[EngineBitmovin](https://developer.bitmovin.com/playback/reference/web-sdk-modules#enginebitmovin)

***

### LowLatency

• **LowLatency** = `"LowLatency"`

Provides low latency live streaming support

**`Filename`**

`bitmovinplayer-lowlatency.js`

***

### Patch

• **Patch** = `"Patch"`

Provides bug fixes for certain browser versions.
Currently only on Chromecast Firmware 1.25.90308 due to a bug in the native `Array.prototype.reduce` method

**`Filename`**

`bitmovinplayer-patch.js`

***

### PlayStation4

• **PlayStation4** = `"PlayStation4"`

Provides support for PlayStation4 WebMAF applications

**`Filename`**

`bitmovinplayer-playstation4.js`

***

### PlayStation5

• **PlayStation5** = `"PlayStation5"`

Enables support for setting the `playmode` and `esvm` tweaks for MediaSDK on PlayStation 5

**`Filename`**

`bitmovinplayer-playstation5.js`

***

### Polyfill

• **Polyfill** = `"Polyfill"`

Provides polyfills for legacy browsers which don't support state-of-the-art JavaScript features
like `Promise` or `String.prototype.includes`

**`Filename`**

`bitmovinplayer-polyfill.js`

***

### RemoteControl

• **RemoteControl** = `"RemoteControl"`

Support to use the player as remote control for Chromecast or WebSockets

**`Filename`**

`bitmovinplayer-remotecontrol.js`

**`Dependencies`**

[EngineBitmovin](https://developer.bitmovin.com/playback/reference/web-sdk-modules#enginebitmovin) | [EngineNative](https://developer.bitmovin.com/playback/reference/web-sdk-modules#enginenative)

***

### RendererMse

• **RendererMse** = `"RendererMSE"`

State-of-the-art video rendering of DASH, HLS or Smooth using the browser's MediaSource Extension

**`Filename`**

`bitmovinplayer-mserenderer.js`

**`Dependencies`**

[EngineBitmovin](https://developer.bitmovin.com/playback/reference/web-sdk-modules#enginebitmovin)

***

### ServiceWorkerClient

• **ServiceWorkerClient** = `"ServiceWorkerClient"`

Provides support to communicate with a `ServiceWorker`

**`Filename`**

`bitmovinplayer-serviceworker-client.js`

***

### Smooth

• **Smooth** = `"Smooth"`

Provides Microsoft Smooth Streaming support

**`Filename`**

`bitmovinplayer-smooth.js`

**`Dependencies`**

[DASH](https://developer.bitmovin.com/playback/reference/web-sdk-modules#dash)

***

### Style

• **Style** = `"Style"`

Provides basic styling of the player

**`Filename`**

`bitmovinplayer-style.js`

***

### Subtitles

• **Subtitles** = `"Subtitles"`

Provides general subtitle support. Requires a format-specific subtitle module in addition

**`Filename`**

`bitmovinplayer-subtitles.js`

**`Dependencies`**

[EngineBitmovin](https://developer.bitmovin.com/playback/reference/web-sdk-modules#enginebitmovin) | [EngineNative](https://developer.bitmovin.com/playback/reference/web-sdk-modules#enginenative)

***

### SubtitlesCEA608

• **SubtitlesCEA608** = `"SubtitlesCEA608"`

Provides CEA-608 subtitle support

**`Filename`**

`bitmovinplayer-subtitles-cea608.js`

**`Dependencies`**

[EngineBitmovin](https://developer.bitmovin.com/playback/reference/web-sdk-modules#enginebitmovin) + [Subtitles](https://developer.bitmovin.com/playback/reference/web-sdk-modules#subtitles)

***

### SubtitlesNative

• **SubtitlesNative** = `"SubtitlesNative"`

Provides support for subtitles with [EngineNative](https://developer.bitmovin.com/playback/reference/web-sdk-modules#enginenative)

**`Filename`**

`bitmovinplayer-subtitles-native.js`

**`Dependencies`**

[EngineNative](https://developer.bitmovin.com/playback/reference/web-sdk-modules#enginenative) + [Subtitles](https://developer.bitmovin.com/playback/reference/web-sdk-modules#subtitles)

***

### SubtitlesTTML

• **SubtitlesTTML** = `"SubtitlesTTML"`

Provides TTML/DFXP/EBU-TT-D subtitle support

**`Filename`**

`bitmovinplayer-subtitles-ttml.js`

**`Dependencies`**

[EngineBitmovin](https://developer.bitmovin.com/playback/reference/web-sdk-modules#enginebitmovin) + [Subtitles](https://developer.bitmovin.com/playback/reference/web-sdk-modules#subtitles) + [XML](https://developer.bitmovin.com/playback/reference/web-sdk-modules#xml)

***

### SubtitlesWebVTT

• **SubtitlesWebVTT** = `"SubtitlesWebVTT"`

Provides WebVTT and SRT subtitle support

**`Filename`**

`bitmovinplayer-subtitles-vtt.js`

**`Dependencies`**

[EngineBitmovin](https://developer.bitmovin.com/playback/reference/web-sdk-modules#enginebitmovin) + [Subtitles](https://developer.bitmovin.com/playback/reference/web-sdk-modules#subtitles)

***

### Thumbnail

• **Thumbnail** = `"Thumbnail"`

Provides support for thumbnail preview seeking using either side-loaded WebVTT thumbnail tracks using
[thumbnailTrack](https://developer.bitmovin.com/playback/reference/web-sdk-source-config#thumbnailtrack) or thumbnail tracks defined in DASH manifests.

**`Filename`**

`bitmovinplayer-thumbnail.js`

**`Dependencies`**

[SubtitlesWebVTT](https://developer.bitmovin.com/playback/reference/web-sdk-modules#subtitleswebvtt) | [DASH](https://developer.bitmovin.com/playback/reference/web-sdk-modules#dash)

***

### ThumbnailImp

• **ThumbnailImp** = `"Thumbnail"`

Provides support for thumbnail preview seeking using
[Image Media Playlist](https://github.com/image-media-playlist/spec) tracks in HLS manifests.

**`Filename`**

`bitmovinplayer-thumbnail-imp.js`

**`Dependencies`**

[HLS](https://developer.bitmovin.com/playback/reference/web-sdk-modules#hls)

***

### Tizen

• **Tizen** = `"Tizen"`

Provides support for Tizen TVs that require special timestamp handling.

**`Filename`**

`bitmovinplayer-tizen.js`

***

### UI

• **UI** = `"UI"`

Loads the default [Bitmovin Player UI](https://github.com/bitmovin/bitmovin-player-ui)

**`Filename`**

`bitmovinplayer-ui.js`

***

### VR

• **VR** = `"VR"`

Support for rendering of 2D and 3D 360 video content

**`Filename`**

`bitmovinplayer-vr.js`

***

### Vidaa

• **Vidaa** = `"vidaa"`

Provides support for VIDAA TVs. The module is not included in the full player build and needs to be added manually.
Required for playback on VIDAA TVs.

**`Filename`**

`bitmovinplayer-vidaa.js`

***

### Webos

• **Webos** = `"webos"`

Provides support for WebOS TVs that require special handling for drm content. This module is not included in the
full player build and needs to be added manually.
Not required for playback on WebOS.

**`Filename`**

`bitmovinplayer-webos.js`

***

### Wpe

• **Wpe** = `"wpe"`

Provides support for WPE WebKit STBs.
The module is not included in the full player build and needs to be added manually.

**`Filename`**

`bitmovinplayer-wpe.js`

***

### XML

• **XML** = `"XML"`

Handling of XML files, like DASH or VAST manifests

**`Filename`**

`bitmovinplayer-xml.js`