The source object is passed into load to load a new source.


dash: 'http://path/to/mpd/file.mpd',
hls: 'http://path/to/hls/playlist/file.m3u8',
progressive: [{
url: 'http://path/to/mp4',
type: 'video/mp4',
bitrate: 500000,
label: 'Low'
}, {
url: 'http://path/to/another-mp4',
type: 'video/mp4',
bitrate: 1000000,
label: 'Mid'
preferred: true
}, {
url: 'http://path/to/another-mp4',
type: 'video/mp4',
bitrate: 2500000,
label: 'High'
poster: 'images/poster.jpg',
subtitleTracks: [{
url: 'http://path/to/subtitles/vtt/file.vtt',
id: 'track-0',
lang: 'en'
thumbnailTrack: {
url: 'http://path/to/thumbnail/vtt/file.vtt',
drm: {
widevine: {
LA_URL: ''
playready: {
LA_URL: ''
labeling: {
hls: {
qualities: (quality) => {
return quality.height + 'p';
dash: {
qualities: (quality) => {
return quality.height + 'p';
interface SourceConfig {
    analytics?: AnalyticsConfig;
    dash?: string;
    description?: string;
    drm?: DRMConfig;
    hls?: string;
    labeling?: SourceLabelingStreamTypeConfig;
    metadata?: {
        [key: string]: string;
    options?: SourceConfigOptions;
    poster?: string;
    progressive?: string | ProgressiveSourceConfig[];
    smooth?: string;
    subtitleTracks?: SubtitleTrack[];
    thumbnailTrack?: ThumbnailTrack;
    title?: string;
    vr?: VRConfig;
    whep?: string;


analytics?: AnalyticsConfig

Bitmovin Analytics Configuration used to specify per-stream metadata and other settings.

dash?: string

The URL to the MPEG-DASH manifest file (MPD, Media Presentation Description) for the video to play. The file has to be a valid MPD.

description?: string

The description of the video source.

drm?: DRMConfig

The DRM object should be included into the source object.

hls?: string

An URL to an HLS playlist file (M3U8). The file has to be a valid M3U8 playlist.

Labeling config for the different stream types.

metadata?: {
    [key: string]: string;

Optional custom metadata. Also sent to a cast receiver on the load call.

Type declaration

  • [key: string]: string

An object specifying advanced source specific options.

poster?: string

The URL to a preview image displayed until the video starts. Make sure JavaScript is allowed to access it, i.e. CORS (for the HTML5/JavaScript player) must be enabled and a crossdomain.xml has to be there if it’s not the same server as the website.

progressive?: string | ProgressiveSourceConfig[]

An Array of objects to video files, used for progressive download as fallback. Is only used when all other methods fail. Multiple progressive files can be used, e.g. .mp4 and .webm files to support as many browsers as possible.

smooth?: string

An URL to a SmoothStreaming manifest file (xml or ismc). The file has to be a valid smooth streaming manifest file.

subtitleTracks?: SubtitleTrack[]

An array of external subtitle tracks.

thumbnailTrack?: ThumbnailTrack

A thumbnail track. Note: An externally set thumbnail track has precedence over thumbnail tracks found in the stream itself.

title?: string

The title of the video source.

Configuration for VR and omnidirectional (360°) video.

whep?: string

An URL pointing to a WHEP endpoint.