Hierarchy (view full)

Constructors

Properties

Event: {
    Ads: {
        AdEnd: "adEnd";
        AdSkip: "adskip";
        AdStart: "adStart";
        AdTimeout: "adTimeout";
        Cancelled: "adscancelled";
        ContentChanged: "contentchanged";
        ContentResumed: "contentresumed";
        ContentUpdate: "contentUpdate";
        NoPostroll: "adsNoPostroll";
        NoPreroll: "adsNoPreroll";
        Ready: "adsready";
        ReadyForPostroll: "adsReadyForPostroll";
        ReadyForPreroll: "adsReadyForPreroll";
    };
    BandwidthUpdate: "bandwidthupdate";
    BufferedRangesChanged: "bufferedrangeschanged";
    CodecsChange: "codecschange";
    ContentSteeringLoadComplete: "contentsteeringloadcomplete";
    ContentSteeringLoadStart: "contentSteeringloadstart";
    ContentSteeringParsed: "contentsteeringparsed";
    EMEKeyMessage: "emeKeyMessage";
    EMEKeySessionClosed: "emeKeySessionClosed";
    EMEKeySessionCreated: "emeKeySessionCreated";
    EMEKeySessionRemoved: "emeKeySessionRemoved";
    EMEKeySessionUpdated: "emeKeySessionUpdated";
    EMEKeyStatusesChanged: "emeKeyStatusesChanged";
    EMEKeySystemAccessCompleted: "emeKeySystemAccessCompleted";
    EMELicenseRequestAttempted: "emeLicenseRequestAttempted";
    GapJumped: "gapjumped";
    Integrations: {
        ImaClientSide: {
            ImaClientSideAdClick: "imaClientSideAdClick";
            ImaClientSideAdComplete: "imaClientSideAdComplete";
            ImaClientSideAdError: "imaClientSideAdError";
            ImaClientSideAdStarted: "imaClientSideAdStarted";
            ImaClientSideAdsLoad: "imaClientSideAdsLoad";
            ImaClientSideAdsPodEnded: "imaClientSideAdsPodEnded";
            ImaClientSideAdsPodStarted: "imaClientSideAdsPodStarted";
            ImaClientSideAdsRequest: "imaClientSideAdsRequest";
            ImaClientSideAllAdsCompleted: "imaClientSideAllAdsCompleted";
            ImaClientSideFirstQuartile: "imaClientSideFirstQuartile";
            ImaClientSideMidPoint: "imaClientSideMidPoint";
            ImaClientSidePaused: "imaClientSidePaused";
            ImaClientSideResumed: "imaClientSideResumed";
            ImaClientSideSdkLoaded: "imaClientSideSdkLoaded";
            ImaClientSideSkipped: "imaClientSideSkipped";
            ImaClientSideThirdQuartile: "imaClientSideThirdQuartile";
            ImaClientSideVolumeChanged: "imaClientSideVolumeChanged";
        };
        ImaDai: {
            ImaDaiSdkLoaded: "imaDaiSdkLoaded";
        };
        Pinning: {
            BeforePin: "beforepin";
            BeforePinClose: "beforepinclose";
            BeforePinningDisabled: "beforepindisabled";
            BeforePinningEnabled: "beforepinenabled";
            BeforeUnpin: "beforeunpin";
            Pin: "pin";
            PinClose: "pinclose";
            PinningDisabled: "pindisabled";
            PinningEnabled: "pinenabled";
            Unpin: "unpin";
        };
        Ssai: {
            ClickThrough: "ssaiClickThrough";
        };
    };
    ManifestParseComplete: "manifestparsecomplete";
    ManifestParseStart: "manifestparsestart";
    ManifestRequestComplete: "manifestrequestcomplete";
    ManifestRequestStart: "manifestrequeststart";
    PlayedRangesChanged: "playedrangeschanged";
    PlayerAbort: "playerAbort";
    PlayerAudioTracksChanged: "playerAudioTracksChanged";
    PlayerCanPlay: "playerCanPlay";
    PlayerCanPlayThrough: "playerCanplayThrough";
    PlayerDisablePictureInPicture: "playerDisablePictureInPictureChanged";
    PlayerDisposed: "playerDisposed";
    PlayerDurationChanged: "playerDurationChanged";
    PlayerEmptied: "playerEmptied";
    PlayerEnablePictureInPicture: "playerEnablePictureInPicture";
    PlayerEnded: "playerEnded";
    PlayerEnterPictureInPicture: "playerEnterPictureInPicture";
    PlayerError: "playerError";
    PlayerExitPictureInPicture: "playerExitPictureInPicture";
    PlayerLoadStart: "playerLoadStart";
    PlayerLoadedData: "playerLoadedData";
    PlayerLoadedMetadata: "playerLoadedMetadata";
    PlayerMutedStatusChanged: "playerMutedStatusChanged";
    PlayerPause: "playerPause";
    PlayerPlay: "playerPlay";
    PlayerPlaying: "playerPlaying";
    PlayerProgress: "playerProgress";
    PlayerQualityLevelsChanged: "playerQualityLevelsChanged";
    PlayerRateChanged: "playerRateChanged";
    PlayerResize: "playerResize";
    PlayerSeeked: "playerSeeked";
    PlayerSeeking: "playerSeeking";
    PlayerStalled: "playerStalled";
    PlayerStateChanged: "playerStateChanged";
    PlayerSuspend: "playerSuspend";
    PlayerTextTracksChanged: "playerTextTracksChanged";
    PlayerThumbnailTracksChanged: "playerThumbnailTracksChanged";
    PlayerTimeChanged: "playerTimeChanged";
    PlayerVideoElementChanged: "playerVideoElementChanged";
    PlayerVolumeChanged: "playerVolumeChanged";
    PlayerWaiting: "playerWaiting";
    PlaylistParseComplete: "playlistparsecomplete";
    PlaylistParseStart: "playlistparsestart";
    PlaylistRequestComplete: "playlistrequestcomplete";
    PlaylistRequestStart: "playlistrequeststart";
    RenditionDisabled: "renditiondisabled";
    RenditionEnabled: "renditionenabled";
    RenditionSelected: "renditionselected";
    SeekableRangesChanged: "seekablerangeschanged";
    SegmentAppendComplete: "segmentappendcomplete";
    SegmentAppendStart: "segmentappendstart";
    SegmentDecryptionComplete: "segmentdecryptioncomplete";
    SegmentDecryptionStart: "segmentdecryptionstart";
    SegmentKeyLoadComplete: "segmentkeyloadcomplete";
    SegmentKeyLoadStart: "segmentkeyloadstart";
    SegmentLoadStart: "segmentloadstart";
    SegmentLoaded: "segmentloaded";
    SegmentSelected: "segmentselected";
    SegmentTransmuxingComplete: "segmenttransmuxingcomplete";
    SegmentTransmuxingStart: "segmenttransmuxingstart";
    SegmentTransmuxingTimingInfoAvailable: "segmenttransmuxingtiminginfoavailable";
    SegmentTransmuxingTrackInfoAvailable: "segmenttransmuxingtrackinfoavailable";
    SpatialNavigation: {
        EndOfFocusableComponents: "endOfFocusableComponents";
        FocusableComponentsChanged: "focusableComponentsChanged";
    };
    TimelineChange: "timelinechange";
} = Events

Type declaration

  • Readonly Ads: {
        AdEnd: "adEnd";
        AdSkip: "adskip";
        AdStart: "adStart";
        AdTimeout: "adTimeout";
        Cancelled: "adscancelled";
        ContentChanged: "contentchanged";
        ContentResumed: "contentresumed";
        ContentUpdate: "contentUpdate";
        NoPostroll: "adsNoPostroll";
        NoPreroll: "adsNoPreroll";
        Ready: "adsready";
        ReadyForPostroll: "adsReadyForPostroll";
        ReadyForPreroll: "adsReadyForPreroll";
    }
    • Readonly AdEnd: "adEnd"
    • Readonly AdSkip: "adskip"
    • Readonly AdStart: "adStart"
    • Readonly AdTimeout: "adTimeout"
    • Readonly Cancelled: "adscancelled"
    • Readonly ContentChanged: "contentchanged"
    • Readonly ContentResumed: "contentresumed"
    • Readonly ContentUpdate: "contentUpdate"
    • Readonly NoPostroll: "adsNoPostroll"
    • Readonly NoPreroll: "adsNoPreroll"
    • Readonly Ready: "adsready"
    • Readonly ReadyForPostroll: "adsReadyForPostroll"
    • Readonly ReadyForPreroll: "adsReadyForPreroll"
  • Readonly BandwidthUpdate: "bandwidthupdate"
  • Readonly BufferedRangesChanged: "bufferedrangeschanged"
  • Readonly CodecsChange: "codecschange"
  • Readonly ContentSteeringLoadComplete: "contentsteeringloadcomplete"
  • Readonly ContentSteeringLoadStart: "contentSteeringloadstart"
  • Readonly ContentSteeringParsed: "contentsteeringparsed"
  • Readonly EMEKeyMessage: "emeKeyMessage"
  • Readonly EMEKeySessionClosed: "emeKeySessionClosed"
  • Readonly EMEKeySessionCreated: "emeKeySessionCreated"
  • Readonly EMEKeySessionRemoved: "emeKeySessionRemoved"
  • Readonly EMEKeySessionUpdated: "emeKeySessionUpdated"
  • Readonly EMEKeyStatusesChanged: "emeKeyStatusesChanged"
  • Readonly EMEKeySystemAccessCompleted: "emeKeySystemAccessCompleted"
  • Readonly EMELicenseRequestAttempted: "emeLicenseRequestAttempted"
  • Readonly GapJumped: "gapjumped"
  • Readonly Integrations: {
        ImaClientSide: {
            ImaClientSideAdClick: "imaClientSideAdClick";
            ImaClientSideAdComplete: "imaClientSideAdComplete";
            ImaClientSideAdError: "imaClientSideAdError";
            ImaClientSideAdStarted: "imaClientSideAdStarted";
            ImaClientSideAdsLoad: "imaClientSideAdsLoad";
            ImaClientSideAdsPodEnded: "imaClientSideAdsPodEnded";
            ImaClientSideAdsPodStarted: "imaClientSideAdsPodStarted";
            ImaClientSideAdsRequest: "imaClientSideAdsRequest";
            ImaClientSideAllAdsCompleted: "imaClientSideAllAdsCompleted";
            ImaClientSideFirstQuartile: "imaClientSideFirstQuartile";
            ImaClientSideMidPoint: "imaClientSideMidPoint";
            ImaClientSidePaused: "imaClientSidePaused";
            ImaClientSideResumed: "imaClientSideResumed";
            ImaClientSideSdkLoaded: "imaClientSideSdkLoaded";
            ImaClientSideSkipped: "imaClientSideSkipped";
            ImaClientSideThirdQuartile: "imaClientSideThirdQuartile";
            ImaClientSideVolumeChanged: "imaClientSideVolumeChanged";
        };
        ImaDai: {
            ImaDaiSdkLoaded: "imaDaiSdkLoaded";
        };
        Pinning: {
            BeforePin: "beforepin";
            BeforePinClose: "beforepinclose";
            BeforePinningDisabled: "beforepindisabled";
            BeforePinningEnabled: "beforepinenabled";
            BeforeUnpin: "beforeunpin";
            Pin: "pin";
            PinClose: "pinclose";
            PinningDisabled: "pindisabled";
            PinningEnabled: "pinenabled";
            Unpin: "unpin";
        };
        Ssai: {
            ClickThrough: "ssaiClickThrough";
        };
    }
    • Readonly ImaClientSide: {
          ImaClientSideAdClick: "imaClientSideAdClick";
          ImaClientSideAdComplete: "imaClientSideAdComplete";
          ImaClientSideAdError: "imaClientSideAdError";
          ImaClientSideAdStarted: "imaClientSideAdStarted";
          ImaClientSideAdsLoad: "imaClientSideAdsLoad";
          ImaClientSideAdsPodEnded: "imaClientSideAdsPodEnded";
          ImaClientSideAdsPodStarted: "imaClientSideAdsPodStarted";
          ImaClientSideAdsRequest: "imaClientSideAdsRequest";
          ImaClientSideAllAdsCompleted: "imaClientSideAllAdsCompleted";
          ImaClientSideFirstQuartile: "imaClientSideFirstQuartile";
          ImaClientSideMidPoint: "imaClientSideMidPoint";
          ImaClientSidePaused: "imaClientSidePaused";
          ImaClientSideResumed: "imaClientSideResumed";
          ImaClientSideSdkLoaded: "imaClientSideSdkLoaded";
          ImaClientSideSkipped: "imaClientSideSkipped";
          ImaClientSideThirdQuartile: "imaClientSideThirdQuartile";
          ImaClientSideVolumeChanged: "imaClientSideVolumeChanged";
      }
      • Readonly ImaClientSideAdClick: "imaClientSideAdClick"
      • Readonly ImaClientSideAdComplete: "imaClientSideAdComplete"
      • Readonly ImaClientSideAdError: "imaClientSideAdError"
      • Readonly ImaClientSideAdStarted: "imaClientSideAdStarted"
      • Readonly ImaClientSideAdsLoad: "imaClientSideAdsLoad"
      • Readonly ImaClientSideAdsPodEnded: "imaClientSideAdsPodEnded"
      • Readonly ImaClientSideAdsPodStarted: "imaClientSideAdsPodStarted"
      • Readonly ImaClientSideAdsRequest: "imaClientSideAdsRequest"
      • Readonly ImaClientSideAllAdsCompleted: "imaClientSideAllAdsCompleted"
      • Readonly ImaClientSideFirstQuartile: "imaClientSideFirstQuartile"
      • Readonly ImaClientSideMidPoint: "imaClientSideMidPoint"
      • Readonly ImaClientSidePaused: "imaClientSidePaused"
      • Readonly ImaClientSideResumed: "imaClientSideResumed"
      • Readonly ImaClientSideSdkLoaded: "imaClientSideSdkLoaded"
      • Readonly ImaClientSideSkipped: "imaClientSideSkipped"
      • Readonly ImaClientSideThirdQuartile: "imaClientSideThirdQuartile"
      • Readonly ImaClientSideVolumeChanged: "imaClientSideVolumeChanged"
    • Readonly ImaDai: {
          ImaDaiSdkLoaded: "imaDaiSdkLoaded";
      }
      • Readonly ImaDaiSdkLoaded: "imaDaiSdkLoaded"
    • Readonly Pinning: {
          BeforePin: "beforepin";
          BeforePinClose: "beforepinclose";
          BeforePinningDisabled: "beforepindisabled";
          BeforePinningEnabled: "beforepinenabled";
          BeforeUnpin: "beforeunpin";
          Pin: "pin";
          PinClose: "pinclose";
          PinningDisabled: "pindisabled";
          PinningEnabled: "pinenabled";
          Unpin: "unpin";
      }
      • Readonly BeforePin: "beforepin"
      • Readonly BeforePinClose: "beforepinclose"
      • Readonly BeforePinningDisabled: "beforepindisabled"
      • Readonly BeforePinningEnabled: "beforepinenabled"
      • Readonly BeforeUnpin: "beforeunpin"
      • Readonly Pin: "pin"
      • Readonly PinClose: "pinclose"
      • Readonly PinningDisabled: "pindisabled"
      • Readonly PinningEnabled: "pinenabled"
      • Readonly Unpin: "unpin"
    • Readonly Ssai: {
          ClickThrough: "ssaiClickThrough";
      }
      • Readonly ClickThrough: "ssaiClickThrough"
  • Readonly ManifestParseComplete: "manifestparsecomplete"
  • Readonly ManifestParseStart: "manifestparsestart"
  • Readonly ManifestRequestComplete: "manifestrequestcomplete"
  • Readonly ManifestRequestStart: "manifestrequeststart"
  • Readonly PlayedRangesChanged: "playedrangeschanged"
  • Readonly PlayerAbort: "playerAbort"
  • Readonly PlayerAudioTracksChanged: "playerAudioTracksChanged"
  • Readonly PlayerCanPlay: "playerCanPlay"
  • Readonly PlayerCanPlayThrough: "playerCanplayThrough"
  • Readonly PlayerDisablePictureInPicture: "playerDisablePictureInPictureChanged"
  • Readonly PlayerDisposed: "playerDisposed"
  • Readonly PlayerDurationChanged: "playerDurationChanged"
  • Readonly PlayerEmptied: "playerEmptied"
  • Readonly PlayerEnablePictureInPicture: "playerEnablePictureInPicture"
  • Readonly PlayerEnded: "playerEnded"
  • Readonly PlayerEnterPictureInPicture: "playerEnterPictureInPicture"
  • Readonly PlayerError: "playerError"
  • Readonly PlayerExitPictureInPicture: "playerExitPictureInPicture"
  • Readonly PlayerLoadStart: "playerLoadStart"
  • Readonly PlayerLoadedData: "playerLoadedData"
  • Readonly PlayerLoadedMetadata: "playerLoadedMetadata"
  • Readonly PlayerMutedStatusChanged: "playerMutedStatusChanged"
  • Readonly PlayerPause: "playerPause"
  • Readonly PlayerPlay: "playerPlay"
  • Readonly PlayerPlaying: "playerPlaying"
  • Readonly PlayerProgress: "playerProgress"
  • Readonly PlayerQualityLevelsChanged: "playerQualityLevelsChanged"
  • Readonly PlayerRateChanged: "playerRateChanged"
  • Readonly PlayerResize: "playerResize"
  • Readonly PlayerSeeked: "playerSeeked"
  • Readonly PlayerSeeking: "playerSeeking"
  • Readonly PlayerStalled: "playerStalled"
  • Readonly PlayerStateChanged: "playerStateChanged"
  • Readonly PlayerSuspend: "playerSuspend"
  • Readonly PlayerTextTracksChanged: "playerTextTracksChanged"
  • Readonly PlayerThumbnailTracksChanged: "playerThumbnailTracksChanged"
  • Readonly PlayerTimeChanged: "playerTimeChanged"
  • Readonly PlayerVideoElementChanged: "playerVideoElementChanged"
  • Readonly PlayerVolumeChanged: "playerVolumeChanged"
  • Readonly PlayerWaiting: "playerWaiting"
  • Readonly PlaylistParseComplete: "playlistparsecomplete"
  • Readonly PlaylistParseStart: "playlistparsestart"
  • Readonly PlaylistRequestComplete: "playlistrequestcomplete"
  • Readonly PlaylistRequestStart: "playlistrequeststart"
  • Readonly RenditionDisabled: "renditiondisabled"
  • Readonly RenditionEnabled: "renditionenabled"
  • Readonly RenditionSelected: "renditionselected"
  • Readonly SeekableRangesChanged: "seekablerangeschanged"
  • Readonly SegmentAppendComplete: "segmentappendcomplete"
  • Readonly SegmentAppendStart: "segmentappendstart"
  • Readonly SegmentDecryptionComplete: "segmentdecryptioncomplete"
  • Readonly SegmentDecryptionStart: "segmentdecryptionstart"
  • Readonly SegmentKeyLoadComplete: "segmentkeyloadcomplete"
  • Readonly SegmentKeyLoadStart: "segmentkeyloadstart"
  • Readonly SegmentLoadStart: "segmentloadstart"
  • Readonly SegmentLoaded: "segmentloaded"
  • Readonly SegmentSelected: "segmentselected"
  • Readonly SegmentTransmuxingComplete: "segmenttransmuxingcomplete"
  • Readonly SegmentTransmuxingStart: "segmenttransmuxingstart"
  • Readonly SegmentTransmuxingTimingInfoAvailable: "segmenttransmuxingtiminginfoavailable"
  • Readonly SegmentTransmuxingTrackInfoAvailable: "segmenttransmuxingtrackinfoavailable"
  • Readonly SpatialNavigation: {
        EndOfFocusableComponents: "endOfFocusableComponents";
        FocusableComponentsChanged: "focusableComponentsChanged";
    }
    • Readonly EndOfFocusableComponents: "endOfFocusableComponents"
    • Readonly FocusableComponentsChanged: "focusableComponentsChanged"
  • Readonly TimelineChange: "timelinechange"
LoggerLevel: typeof LoggerLevel = LoggerLevel
RequestType: typeof RequestType = RequestType

Methods

  • Attach the player to a root <div> element on the page

    Parameters

    • root: HTMLDivElement

    Returns void

  • Disable all player behavior and remove it from the page

    Returns void

  • Dispose the player and all UI

    Returns void

  • Get the percentage of the current video that is currently buffered.

    Returns number

  • Get text track containing cuepoint metadata

    Returns null | TextTrack

  • Get the current time of a video in seconds

    Returns number

  • Get the duration of the currently loaded video in seconds

    Returns number

  • Get text track containing in-band ID3 metadata

    Returns null | TextTrack

  • Get whether the current video has ended

    Returns boolean

  • Get whether the player is currently in picture-in-picture mode

    Returns boolean

  • Get whether the current video is muted

    Returns boolean

  • Get the current playback rate of the video

    Returns number

  • Get an array of all available text tracks

    Returns TextTrack[]

  • Get the active UiManager instance

    Returns Omit<UiManager, "dispose" | "updateConfiguration">

  • Get the SDK version

    Returns string

  • Returns null | HTMLVideoElement

  • Get the current volume level between 0 and 1

    Returns number

  • Mute the current video

    Returns void

  • Pause a video

    Returns void

  • Initiate playback of a video

    Returns void

  • Remove a text track

    Parameters

    • textTrack: TextTrack

    Returns void

  • Reset the player configuration to its default state

    Returns void

  • Seek to a specific time in a video

    Parameters

    • seekTarget: number

    Returns void

  • Enable adaptive bitrate switching to all quality levels

    Returns void

  • Enable a specific quality level and disable adaptive bitrate switching to all other quality levels

    Parameters

    Returns void

  • Set the current playback rate of the video

    Parameters

    • rate: number

    Returns void

  • Set the current volume level to a number between 0 and 1

    Parameters

    • level: number

    Returns void

  • Unload the current source without disposing the player

    Parameters

    Returns void

  • Unmute the current video

    Returns void

  • Update the Brightcove Account ID associated with the current player

    Parameters

    • accountId: string

    Returns void

  • Update the player's configuration

    Parameters

    • chunk: {
          abr?: {
              customPixelRatio?: null | number;
              initialBandwidth?: null | number;
              limitRenditionByPlayerDimensions?: boolean;
              useDevicePixelRatio?: boolean;
          };
          brightcove?: {
              adConfigId?: null | string;
              applicationId?: null | string;
              authToken?: null | string;
              deliveryConfigId?: null | string;
              livePlaybackToken?: null | string;
              playbackApiBaseUrl?: null | string;
              playerName?: null | string;
              policyKey?: null | string;
              streamConcurrency?: boolean;
              tveToken?: null | string;
              viewerId?: null | string;
              watermarkingToken?: null | string;
          };
          integrations?: {
              endScreen?: {
                  custom?: {
                      content?: string;
                  };
                  social?: {
                      deeplinking?: boolean;
                      description?: string;
                      embedCode?: string;
                      embedDimensions?: boolean;
                      embedDomain?: string;
                      label?: string;
                      offset?: string;
                      removeDirect?: boolean;
                      removeEmbed?: boolean;
                      services?: {
                          facebook?: boolean;
                          linkedin?: boolean;
                          pinterest?: boolean;
                          tumblr?: boolean;
                          twitter?: boolean;
                      };
                      title?: string;
                      url?: string;
                  };
              };
              imaClientSide?: {
                  clickTrackingElement?: {};
                  hardTimeouts?: boolean;
                  postRollTimeout?: number;
                  preRollTimeout?: number;
                  requestMode?: "onload" | "onplay" | "ondemand" | "oncue";
                  sdkUrl?: string;
                  serverUrl?: string;
                  showVpaidControls?: boolean;
                  useMediaCuePoints?: boolean;
                  vpaidMode?: string;
              };
              imaDai?: {
                  hideOverlays?: boolean;
                  sdkUrl?: string;
                  skipPlayedAds?: boolean;
              };
              pinning?: {
                  allowOnMobile?: boolean;
                  closeable?: boolean;
                  height?: null | number;
                  manualContainerSize?: boolean;
                  posX?: "right" | "left";
                  posY?: "top" | "bottom";
                  scale?: number;
                  viewable?: number;
                  width?: null | number;
              };
              playlistUi?: {
                  hideOnStart?: boolean;
                  horizontal?: boolean;
                  nextButton?: boolean;
                  nextOverlay?: boolean;
                  playOnSelect?: boolean;
                  playlistPicker?: boolean;
                  repeat?: boolean;
              };
              socialSharing?: {
                  deeplinking?: boolean;
                  description?: string;
                  embedCode?: string;
                  embedDimensions?: boolean;
                  embedDomain?: string;
                  label?: string;
                  offset?: string;
                  removeDirect?: boolean;
                  removeEmbed?: boolean;
                  services?: {
                      facebook?: boolean;
                      linkedin?: boolean;
                      pinterest?: boolean;
                      tumblr?: boolean;
                      twitter?: boolean;
                  };
                  title?: string;
                  url?: string;
              };
              ssai?: {
                  enableDiscontinuities?: boolean;
                  enableOM?: boolean;
                  hideOverlays?: boolean;
                  omParams?: {
                      accessMode?: "limited" | "domain" | "creative" | "full";
                      partnerName?: null | string;
                      partnerVersion?: null | string;
                  };
                  timeout?: number;
                  vmapURLParams?: object;
              };
              thumbnails?: {};
          };
          network?: {
              license?: {
                  delayFactor?: number;
                  fuzzFactor?: number;
                  initialDelay?: number;
                  maxAttempts?: number;
                  timeout?: number;
              };
              manifest?: {
                  delayFactor?: number;
                  fuzzFactor?: number;
                  initialDelay?: number;
                  maxAttempts?: number;
                  timeout?: number;
              };
              segment?: {
                  delayFactor?: number;
                  fuzzFactor?: number;
                  initialDelay?: number;
                  maxAttempts?: number;
                  timeout?: number;
              };
          };
          playback?: {
              autoplay?: boolean;
              maxBufferingTime?: number;
              maxBufferingTimeInBackground?: number;
              overrideNative?: boolean;
              preload?: "auto" | "metadata" | "none";
          };
          playlist?: {
              autoAdvanceDelay?: null | number;
              repeat?: boolean;
          };
          ui?: {
              aspectRatio?: string;
              audioOnlyMode?: boolean;
              audioPosterMode?: boolean;
              defaultControlBarComponents?: (undefined | DefaultControlBarComponents)[];
              defaultSmartTvControlBarComponents?: (undefined | DefaultSmartTvControlBarComponents)[];
              defaultUiComponents?: (undefined | DefaultPlayerComponents)[];
              fluid?: boolean;
              fullscreen?: null | "auto" | "show" | "hide";
              height?: number;
              language?: null | LanguageKey;
              nativeControlsForTouch?: boolean;
              noUITitleAttributes?: boolean;
              playsinline?: boolean;
              poster?: null | string;
              preferFullWindow?: boolean;
              skipBackward?: null | 5 | 10 | 30;
              skipForward?: null | 5 | 10 | 30;
              spatialNavigation?: {
                  enabled?: boolean;
                  horizontalSeek?: boolean;
              };
              width?: number;
          };
      }
      • Optional abr?: {
            customPixelRatio?: null | number;
            initialBandwidth?: null | number;
            limitRenditionByPlayerDimensions?: boolean;
            useDevicePixelRatio?: boolean;
        }
        • Optional customPixelRatio?: null | number

          If set, this will take the initial player dimensions and multiply it by a custom ratio when the player automatically selects renditions. This means that if you have a player where the dimension is 540p, with a custom pixel ratio of 2, a rendition of 1080p or a lower rendition closest to this value will be chosen. Additionally, if you have a player where the dimension is 540p, with a custom pixel ratio of 0.5, a rendition of 270p or a lower rendition closest to this value will be chosen. When the custom pixel ratio is 0, the lowest available rendition will be selected. It is worth noting that if the player dimension multiplied by the custom pixel ratio is greater than any available rendition resolution, a rendition will be selected based on bandwidth, and the player dimension will be disregarded. limitRenditionByPlayerDimensions must be true in order for this feature to be enabled. If useDevicePixelRatio is set to true, the custom pixel ratio will be prioritized and overwrite any previous pixel ratio. Defaults to null

        • Optional initialBandwidth?: null | number

          The bandwidth value to be used in the calculation for initial playlist selection, before more bandwidth information is seen by the player. Defaults to null

        • Optional limitRenditionByPlayerDimensions?: boolean

          When this is set to true, rendition selection logic will take into account the player size and rendition resolutions when making a decision. This setting is true by default.

        • Optional useDevicePixelRatio?: boolean

          If true, this will take the device pixel ratio into account when doing rendition switching. This means that if you have a player with the width of 540px in a high density display with a device pixel ratio of 2, a rendition of 1080p will be allowed. Defaults to false

      • Optional brightcove?: {
            adConfigId?: null | string;
            applicationId?: null | string;
            authToken?: null | string;
            deliveryConfigId?: null | string;
            livePlaybackToken?: null | string;
            playbackApiBaseUrl?: null | string;
            playerName?: null | string;
            policyKey?: null | string;
            streamConcurrency?: boolean;
            tveToken?: null | string;
            viewerId?: null | string;
            watermarkingToken?: null | string;
        }
        • Optional adConfigId?: null | string

          SSAI Config ID. Defaults to null

        • Optional applicationId?: null | string

          Brightcove Application ID. Defaults to null

        • Optional authToken?: null | string

          Brightcove JWT used to enforce different restrictions on the account level. Defaults to null

        • Optional deliveryConfigId?: null | string

          Dynamic Delivery rules configuration ID. Defaults to null

        • Optional livePlaybackToken?: null | string

          Token used by BLive for DVR and low-latency streams Defaults to null

        • Optional playbackApiBaseUrl?: null | string

          Changes the Video Cloud base url. Should only be changed if IP restrictions are used with Brightcove Players outside of North America. Defaults to null

        • Optional playerName?: null | string

          Video Cloud player name associated with a player. Defaults to 'Brightcove Web & Smart TV SDK'

        • Optional policyKey?: null | string

          Video Cloud API policy key. Defaults to null

        • Optional streamConcurrency?: boolean

          Enable Stream Concurrency. Defaults to false

        • Optional tveToken?: null | string

          TVE token. defaults to null

        • Optional viewerId?: null | string

          User identifier for Cross-Device Resume / Viewer Analytics. Used by Data Collection API. Defaults to null

        • Optional watermarkingToken?: null | string

          Watermarking token. Defaults to null

      • Optional integrations?: {
            endScreen?: {
                custom?: {
                    content?: string;
                };
                social?: {
                    deeplinking?: boolean;
                    description?: string;
                    embedCode?: string;
                    embedDimensions?: boolean;
                    embedDomain?: string;
                    label?: string;
                    offset?: string;
                    removeDirect?: boolean;
                    removeEmbed?: boolean;
                    services?: {
                        facebook?: boolean;
                        linkedin?: boolean;
                        pinterest?: boolean;
                        tumblr?: boolean;
                        twitter?: boolean;
                    };
                    title?: string;
                    url?: string;
                };
            };
            imaClientSide?: {
                clickTrackingElement?: {};
                hardTimeouts?: boolean;
                postRollTimeout?: number;
                preRollTimeout?: number;
                requestMode?: "onload" | "onplay" | "ondemand" | "oncue";
                sdkUrl?: string;
                serverUrl?: string;
                showVpaidControls?: boolean;
                useMediaCuePoints?: boolean;
                vpaidMode?: string;
            };
            imaDai?: {
                hideOverlays?: boolean;
                sdkUrl?: string;
                skipPlayedAds?: boolean;
            };
            pinning?: {
                allowOnMobile?: boolean;
                closeable?: boolean;
                height?: null | number;
                manualContainerSize?: boolean;
                posX?: "right" | "left";
                posY?: "top" | "bottom";
                scale?: number;
                viewable?: number;
                width?: null | number;
            };
            playlistUi?: {
                hideOnStart?: boolean;
                horizontal?: boolean;
                nextButton?: boolean;
                nextOverlay?: boolean;
                playOnSelect?: boolean;
                playlistPicker?: boolean;
                repeat?: boolean;
            };
            socialSharing?: {
                deeplinking?: boolean;
                description?: string;
                embedCode?: string;
                embedDimensions?: boolean;
                embedDomain?: string;
                label?: string;
                offset?: string;
                removeDirect?: boolean;
                removeEmbed?: boolean;
                services?: {
                    facebook?: boolean;
                    linkedin?: boolean;
                    pinterest?: boolean;
                    tumblr?: boolean;
                    twitter?: boolean;
                };
                title?: string;
                url?: string;
            };
            ssai?: {
                enableDiscontinuities?: boolean;
                enableOM?: boolean;
                hideOverlays?: boolean;
                omParams?: {
                    accessMode?: "limited" | "domain" | "creative" | "full";
                    partnerName?: null | string;
                    partnerVersion?: null | string;
                };
                timeout?: number;
                vmapURLParams?: object;
            };
            thumbnails?: {};
        }
        • Optional endScreen?: {
              custom?: {
                  content?: string;
              };
              social?: {
                  deeplinking?: boolean;
                  description?: string;
                  embedCode?: string;
                  embedDimensions?: boolean;
                  embedDomain?: string;
                  label?: string;
                  offset?: string;
                  removeDirect?: boolean;
                  removeEmbed?: boolean;
                  services?: {
                      facebook?: boolean;
                      linkedin?: boolean;
                      pinterest?: boolean;
                      tumblr?: boolean;
                      twitter?: boolean;
                  };
                  title?: string;
                  url?: string;
              };
          }
          • Optional custom?: {
                content?: string;
            }
            • Optional content?: string

              Any string literal or HTML that is rendered on the custom endscreen. Defaults to an empty string.

          • Optional social?: {
                deeplinking?: boolean;
                description?: string;
                embedCode?: string;
                embedDimensions?: boolean;
                embedDomain?: string;
                label?: string;
                offset?: string;
                removeDirect?: boolean;
                removeEmbed?: boolean;
                services?: {
                    facebook?: boolean;
                    linkedin?: boolean;
                    pinterest?: boolean;
                    tumblr?: boolean;
                    twitter?: boolean;
                };
                title?: string;
                url?: string;
            }
            • Optional deeplinking?: boolean

              If true, direct links will include a start offset. Can be updated dynamically. Defaults to false.

            • Optional description?: string

              Used to provide a description for use in the social overlay. Can be updated dynamically. Defaults to an empty string.

            • Optional embedCode?: string

              Used to provide a custom embed code that replaces the generated one. Can be updated dynamically. Defaults to an empty string.

            • Optional embedDimensions?: boolean

              If true, the current dimensions of the player will be provided in default embed code. Can be updated dynamically. Defaults to false.

            • Optional embedDomain?: string

              This value is only used when the embed code is not set. Used to provide a custom domain if proxy is being used. Can be updated dynamically. Defaults to 'players.brightcove.net'.

            • Optional label?: string

              Used to provide a label for the social overlay. Can only be updated on initialization of the plugin. Defaults to an empty string.

            • Optional offset?: string

              An offset in "hh:mm:ss" format to use for sharing URLs. Can be updated dynamically. Defaults to '00:00:00'.

            • Optional removeDirect?: boolean

              If true, turns off the direct link. Can be updated dynamically. Defaults to false.

            • Optional removeEmbed?: boolean

              If true, turns off the embed code. Can be updated dynamically. Defaults to false.

            • Optional services?: {
                  facebook?: boolean;
                  linkedin?: boolean;
                  pinterest?: boolean;
                  tumblr?: boolean;
                  twitter?: boolean;
              }

              Can be updated dynamically. See SocialSharingConfigurationServices for defaults.

              • Optional facebook?: boolean

                Whether or not to include Facebook. Defaults to true

              • Optional linkedin?: boolean

                Whether or not to include LinkedIn. Defaults to true

              • Optional pinterest?: boolean

                Whether or not to include Pinterest. Defaults to true

              • Optional tumblr?: boolean

                Whether or not to include Tumblr. Defaults to true

              • Optional twitter?: boolean

                Whether or not to include Twitter. Defaults to true

            • Optional title?: string

              Used to provide a title for use in the social overlay. Can be updated dynamically. Defaults to an empty string.

            • Optional url?: string

              Used to provide a custom URL that replaces the generated one. Can be updated dynamically. Defaults to an empty string.

        • Optional imaClientSide?: {
              clickTrackingElement?: {};
              hardTimeouts?: boolean;
              postRollTimeout?: number;
              preRollTimeout?: number;
              requestMode?: "onload" | "onplay" | "ondemand" | "oncue";
              sdkUrl?: string;
              serverUrl?: string;
              showVpaidControls?: boolean;
              useMediaCuePoints?: boolean;
              vpaidMode?: string;
          }
          • Optional clickTrackingElement?: {}

            Specifies the alternative video ad click element. Leave this undefined to let the IMA SDK handle clicks. More details are available in the parameter documentation for the IMA SDK AdDisplayContainer. Defaults to undefined.

            • Optional hardTimeouts?: boolean

              Abandon ads that finish loading after they have timed out. Defaults to true.

            • Optional postRollTimeout?: number

              Controls postrollTimeout setting in videojs-contrib-ads. If provided, overrides any value set for timeout. Default Value: same as timeout.

            • Optional preRollTimeout?: number

              Controls prerollTimeout setting in videojs-contrib-ads. If provided, overrides any value set for timeout. Default Value: same as timeout.

            • Optional requestMode?: "onload" | "onplay" | "ondemand" | "oncue"

              When to request ads: during player load ('onload'), during playback ('onplay'), ondemand ('ondemand'), cuechange ('oncue'). Defaults to 'onload'.

            • Optional sdkUrl?: string

              The URL of the IMA3 SDK. Defaults to '${protocol}//imasdk.googleapis.com/js/sdkloader/ima3.js'.

            • Optional serverUrl?: string

              The URL of the ad server to make requests to during playback. Defaults to '${protocol}//pubads.g.doubleclick.net/gampad/ads?sz=400x300&iu=%2F6062%2Fiab_vast_samples&ciu_szs=300x250%2C728x90&gdfp_req=1&env=vp&output=xml_vast2&unviewed_position_start=1&url=[referrer_url]&correlator=[timestamp]&cust_params=iab_vast_samples%3Dlinear'.

            • Optional showVpaidControls?: boolean

              Show Brightcove player custom controls for VPAID ads. They may or may not work. Defaults to false.

            • Optional useMediaCuePoints?: boolean

              Enables Video Cloud ad cue points being used to trigger ads. Default Value: false.

            • Optional vpaidMode?: string

              Specify VPAID 2 mode in the IMA HTML5 SDK. If none is provided, uses the SDK's default, which is currently ENABLED. Default Value: undefined.

          • Optional imaDai?: {
                hideOverlays?: boolean;
                sdkUrl?: string;
                skipPlayedAds?: boolean;
            }
            • Optional hideOverlays?: boolean

              If true, it hides overlays while ads are playing. Defaults to false

            • Optional sdkUrl?: string

              The URL of your self-hosted IMA DAI SDK. Defaults to '//imasdk.googleapis.com/js/sdkloader/ima3_dai.js'

            • Optional skipPlayedAds?: boolean

              Whether to skip over ads that have already played when seeking. Defaults to true

          • Optional pinning?: {
                allowOnMobile?: boolean;
                closeable?: boolean;
                height?: null | number;
                manualContainerSize?: boolean;
                posX?: "right" | "left";
                posY?: "top" | "bottom";
                scale?: number;
                viewable?: number;
                width?: null | number;
            }
            • Optional allowOnMobile?: boolean

              By default, pinning mode will not work on Android or iOS mobile devices. Defaults to false.

            • Optional closeable?: boolean

              By default, pinning mode will include a close button, which the user can click to disable pinning mode. Defaults to true.

            • Optional height?: null | number

              By default, the plugin will scale down the player's dimensions by a factor determined by the scale option. However, providing a height (or width) will override the default scaling and set the size of the scaled-down player explicitly. If only one dimension is provided, the other will be scaled down to maintain the aspect ratio. If both dimensions are provided, the player will be set to the exact, specified size. Defaults to null.

            • Optional manualContainerSize?: boolean

              By default, a player with this plugin enabled will keep the physical dimensions of the special container element in sync with the player's dimensions. However, this doesn't work for all cases, so it can be disabled by setting this option to false. When doing so, the container element will behave like a normal block element. This means that users of the plugin will need to manage its size on their own. Defaults to false.

            • Optional posX?: "right" | "left"

              The horizontal alignment of the player when it is in pinning mode. Defaults to 'right'.

            • Optional posY?: "top" | "bottom"

              The vertical alignment of the player when it is in pinning mode. Defaults to 'bottom'.

            • Optional scale?: number

              The scaling factor applied to the player when it is in pinning mode. Must be a number greater than zero and less than or equal to 1. Defaults to 2/3.

            • Optional viewable?: number

              The threshold at which the player is considered viewable. In other words, when this percentage of the player is visible in the browser's viewport, it is considered viewable. For example, with the default of 0.8, the player is not considered viewable unless 80% of it is visible in the viewport. Must be a number greater than or equal to 0 or less than or equal to 1. Defaults to 0.8.

            • Optional width?: null | number

              By default, the plugin will scale down the player's dimensions by a factor determined by the scale option. However, providing a width (or height) will override the default scaling and set the size of the scaled-down player explicitly. Defaults to null.

          • Optional playlistUi?: {
                hideOnStart?: boolean;
                horizontal?: boolean;
                nextButton?: boolean;
                nextOverlay?: boolean;
                playOnSelect?: boolean;
                playlistPicker?: boolean;
                repeat?: boolean;
            }
            • Optional hideOnStart?: boolean

              Defaults to false.

            • Optional horizontal?: boolean

              Defaults to false.

            • Optional nextButton?: boolean

              Defaults to true.

            • Optional nextOverlay?: boolean

              Defaults to true.

            • Optional playOnSelect?: boolean

              Defaults to false.

            • Optional playlistPicker?: boolean

              Defaults to true.

            • Optional repeat?: boolean

              Defaults to false.

          • Optional socialSharing?: {
                deeplinking?: boolean;
                description?: string;
                embedCode?: string;
                embedDimensions?: boolean;
                embedDomain?: string;
                label?: string;
                offset?: string;
                removeDirect?: boolean;
                removeEmbed?: boolean;
                services?: {
                    facebook?: boolean;
                    linkedin?: boolean;
                    pinterest?: boolean;
                    tumblr?: boolean;
                    twitter?: boolean;
                };
                title?: string;
                url?: string;
            }
            • Optional deeplinking?: boolean

              If true, direct links will include a start offset. Can be updated dynamically. Defaults to false.

            • Optional description?: string

              Used to provide a description for use in the social overlay. Can be updated dynamically. Defaults to an empty string.

            • Optional embedCode?: string

              Used to provide a custom embed code that replaces the generated one. Can be updated dynamically. Defaults to an empty string.

            • Optional embedDimensions?: boolean

              If true, the current dimensions of the player will be provided in default embed code. Can be updated dynamically. Defaults to false.

            • Optional embedDomain?: string

              This value is only used when the embed code is not set. Used to provide a custom domain if proxy is being used. Can be updated dynamically. Defaults to 'players.brightcove.net'.

            • Optional label?: string

              Used to provide a label for the social overlay. Can only be updated on initialization of the plugin. Defaults to an empty string.

            • Optional offset?: string

              An offset in "hh:mm:ss" format to use for sharing URLs. Can be updated dynamically. Defaults to '00:00:00'.

            • Optional removeDirect?: boolean

              If true, turns off the direct link. Can be updated dynamically. Defaults to false.

            • Optional removeEmbed?: boolean

              If true, turns off the embed code. Can be updated dynamically. Defaults to false.

            • Optional services?: {
                  facebook?: boolean;
                  linkedin?: boolean;
                  pinterest?: boolean;
                  tumblr?: boolean;
                  twitter?: boolean;
              }

              Can be updated dynamically. See SocialSharingConfigurationServices for defaults.

              • Optional facebook?: boolean

                Whether or not to include Facebook. Defaults to true

              • Optional linkedin?: boolean

                Whether or not to include LinkedIn. Defaults to true

              • Optional pinterest?: boolean

                Whether or not to include Pinterest. Defaults to true

              • Optional tumblr?: boolean

                Whether or not to include Tumblr. Defaults to true

              • Optional twitter?: boolean

                Whether or not to include Twitter. Defaults to true

            • Optional title?: string

              Used to provide a title for use in the social overlay. Can be updated dynamically. Defaults to an empty string.

            • Optional url?: string

              Used to provide a custom URL that replaces the generated one. Can be updated dynamically. Defaults to an empty string.

          • Optional ssai?: {
                enableDiscontinuities?: boolean;
                enableOM?: boolean;
                hideOverlays?: boolean;
                omParams?: {
                    accessMode?: "limited" | "domain" | "creative" | "full";
                    partnerName?: null | string;
                    partnerVersion?: null | string;
                };
                timeout?: number;
                vmapURLParams?: object;
            }
            • Optional enableDiscontinuities?: boolean

              If true, request the video source with HLS discontinuities or DASH multiperiod. Only valid for VOD SSAI. Defaults to true

            • Optional enableOM?: boolean

              If true (and the necessary Open Measurement SDK scripts are embedded), the plugin will use values from the omParams object to start an OM manager and create a new OM session client. Defaults to false

            • Optional hideOverlays?: boolean

              If true, the countdown timer and Learn More click through overlays will not be shown while ads are playing. Defaults to false

            • Optional omParams?: {
                  accessMode?: "limited" | "domain" | "creative" | "full";
                  partnerName?: null | string;
                  partnerVersion?: null | string;
              }

              An object describing the required parameters for starting an Open Measurement session client and OM ad features.

              • Optional accessMode?: "limited" | "domain" | "creative" | "full"

                Preferred access mode string. As of October 2021, the creative access mode is translated to full by the OM manager, per session client requirements, and will appear as full in the OM ad session call data. Defaults to 'limited'

              • Optional partnerName?: null | string

                Partner name string. Defaults to null

              • Optional partnerVersion?: null | string

                Partner version string in a semver format. Defaults to null

            • Optional timeout?: number

              The number of milliseconds after which an XHR to fetch a VMAP will time out. Defaults to 45000

            • Optional vmapURLParams?: object

              An object containing the parameters for replacing arbitrary values in the VMAP source URL. See: https://apis.support.brightcove.com/ssai/getting-started/video-cloud-ssai-ad-config-api.html#URL_variables Object keys can have any name. The name of this variable must match the VMAP source URL param string or else it will not be replaced. Defaults to an empty object

          • Optional thumbnails?: {}
          • Optional network?: {
                license?: {
                    delayFactor?: number;
                    fuzzFactor?: number;
                    initialDelay?: number;
                    maxAttempts?: number;
                    timeout?: number;
                };
                manifest?: {
                    delayFactor?: number;
                    fuzzFactor?: number;
                    initialDelay?: number;
                    maxAttempts?: number;
                    timeout?: number;
                };
                segment?: {
                    delayFactor?: number;
                    fuzzFactor?: number;
                    initialDelay?: number;
                    maxAttempts?: number;
                    timeout?: number;
                };
            }
            • Optional license?: {
                  delayFactor?: number;
                  fuzzFactor?: number;
                  initialDelay?: number;
                  maxAttempts?: number;
                  timeout?: number;
              }
              • Optional delayFactor?: number

                Increase delay for each retry: delay += (delay * delayFactor). Defaults to 0.2

              • Optional fuzzFactor?: number

                Do not send retry requests in the exact same timing, but rather fuzz it by some range, eg: if the delay = 3000, and fuzz factor is 0.1, then the requests will be made somewhere in the following time range range: [2700, 3300]. Defaults to 0.2

              • Optional initialDelay?: number

                The base delay in ms between retries. Defaults to 1_000

              • Optional maxAttempts?: number

                The maximum number of requests before we fail. Defaults to 1

              • Optional timeout?: number

                The timeout in ms, after which we abort. Defaults to 20_000

            • Optional manifest?: {
                  delayFactor?: number;
                  fuzzFactor?: number;
                  initialDelay?: number;
                  maxAttempts?: number;
                  timeout?: number;
              }
              • Optional delayFactor?: number

                Increase delay for each retry: delay += (delay * delayFactor). Defaults to 0.2

              • Optional fuzzFactor?: number

                Do not send retry requests in the exact same timing, but rather fuzz it by some range, eg: if the delay = 3000, and fuzz factor is 0.1, then the requests will be made somewhere in the following time range range: [2700, 3300]. Defaults to 0.2

              • Optional initialDelay?: number

                The base delay in ms between retries. Defaults to 1_000

              • Optional maxAttempts?: number

                The maximum number of requests before we fail. Defaults to 1

              • Optional timeout?: number

                The timeout in ms, after which we abort. Defaults to 20_000

            • Optional segment?: {
                  delayFactor?: number;
                  fuzzFactor?: number;
                  initialDelay?: number;
                  maxAttempts?: number;
                  timeout?: number;
              }
              • Optional delayFactor?: number

                Increase delay for each retry: delay += (delay * delayFactor). Defaults to 0.2

              • Optional fuzzFactor?: number

                Do not send retry requests in the exact same timing, but rather fuzz it by some range, eg: if the delay = 3000, and fuzz factor is 0.1, then the requests will be made somewhere in the following time range range: [2700, 3300]. Defaults to 0.2

              • Optional initialDelay?: number

                The base delay in ms between retries. Defaults to 1_000

              • Optional maxAttempts?: number

                The maximum number of requests before we fail. Defaults to 1

              • Optional timeout?: number

                The timeout in ms, after which we abort. Defaults to 20_000

          • Optional playback?: {
                autoplay?: boolean;
                maxBufferingTime?: number;
                maxBufferingTimeInBackground?: number;
                overrideNative?: boolean;
                preload?: "auto" | "metadata" | "none";
            }
            • Optional autoplay?: boolean

              Whether or not the player should attempt to autoplay. If true, the player will do all it can to achieve successful autoplay, including muting the player if necessary. Defaults to false.

            • Optional maxBufferingTime?: number

              The number of milliseconds the player should wait before triggering a visible timeout error on the player. Defaults to 45 seconds

            • Optional maxBufferingTimeInBackground?: number

              The same as maxBufferingTime, but applies only when the player is in the background. Defaults to 5 minutes.

            • Optional overrideNative?: boolean

              When overrideNative is true, if the platform supports Media Source Extensions videojs-http-streaming will take over HLS playback to provide a more consistent experience. When unset (undefined): for any safari browser OR any browser on iOS/iPadOS: overrideNative: false otherwise: overrideNative: true

              Defaults to undefined.

            • Optional preload?: "auto" | "metadata" | "none"

              Whether any metadata and/or media should be preloaded before playback. Values are the same as the HTMLMediaElement preload property. Defaults to 'auto'

          • Optional playlist?: {
                autoAdvanceDelay?: null | number;
                repeat?: boolean;
            }
            • Optional autoAdvanceDelay?: null | number

              A number in ms indicating the delay after a playlist item finishes before automatically advancing to the next item. If the value is 0 or null, then the playlist will not auto-advance. Defaults to null.

            • Optional repeat?: boolean

              Determines if playlists will repeat from the beginning when it reaches the end. Defaults to true

          • Optional ui?: {
                aspectRatio?: string;
                audioOnlyMode?: boolean;
                audioPosterMode?: boolean;
                defaultControlBarComponents?: (undefined | DefaultControlBarComponents)[];
                defaultSmartTvControlBarComponents?: (undefined | DefaultSmartTvControlBarComponents)[];
                defaultUiComponents?: (undefined | DefaultPlayerComponents)[];
                fluid?: boolean;
                fullscreen?: null | "auto" | "show" | "hide";
                height?: number;
                language?: null | LanguageKey;
                nativeControlsForTouch?: boolean;
                noUITitleAttributes?: boolean;
                playsinline?: boolean;
                poster?: null | string;
                preferFullWindow?: boolean;
                skipBackward?: null | 5 | 10 | 30;
                skipForward?: null | 5 | 10 | 30;
                spatialNavigation?: {
                    enabled?: boolean;
                    horizontalSeek?: boolean;
                };
                width?: number;
            }
            • Optional aspectRatio?: string

              Puts the player in fluid mode and the value is used when calculating the dynamic size of the player. The value should represent a ratio - two numbers separated by a colon (e.g. "16:9" or "4:3"). Defaults to '16:9'. Can be updated dynamically.

            • Optional audioOnlyMode?: boolean

              If set to true, it asynchronously hides all player components except the control bar, as well as any specific controls that are needed only for video. Can be updated dynamically.

            • Optional audioPosterMode?: boolean

              If set to true, it enables the poster viewer experience by hiding the video element and displaying the poster image persistently. Can be updated dynamically.

            • Optional defaultControlBarComponents?: (undefined | DefaultControlBarComponents)[]
            • Optional defaultSmartTvControlBarComponents?: (undefined | DefaultSmartTvControlBarComponents)[]
            • Optional defaultUiComponents?: (undefined | DefaultPlayerComponents)[]

              This is used to determine which default UI Components will be attached to the player. This should have a value of an array of strings of the default player component names. Defaults to the list of DefaultPlayerComponents.

            • Optional fluid?: boolean

              When true, the player will have a fluid size. In other words, it will scale to fit its container at the video's intrinsic aspect ratio, or at a specified aspectRatio. Can be updated dynamically.

            • Optional fullscreen?: null | "auto" | "show" | "hide"

              This can be set to pass in the fullscreen navigationUi options. For more info, see: https://fullscreen.spec.whatwg.org/#dictdef-fullscreenoptions

            • Optional height?: number

              Sets the display height of the video player in pixels. Can be updated dynamically. Defaults to 360

            • Optional language?: null | LanguageKey

              Select a specific language for localization. Defaults to null The player language is set to one of the following in descending priority:

              • The language specified in setup options as above.
              • The language specified by the closet element with a lang attribute, usually in the html tag.
              • Browser language preference (the first language if more than one is configured)
              • LanguageKey.En Can be updated dynamically.
            • Optional nativeControlsForTouch?: boolean

              Determines if native controls should be used for touch devices.

            • Optional noUITitleAttributes?: boolean

              Control whether UI elements have a title attribute. A title attribute is shown on mouse hover, which can be helpful for usability, but has drawbacks for accessibility.

            • Optional playsinline?: boolean

              Indicates to the browser that non-fullscreen playback is preferred when fullscreen playback is the native default, such as in iOS Safari. See: https://html.spec.whatwg.org/#attr-video-playsinline Can be updated dynamically.

            • Optional poster?: null | string

              A URL to an image that displays before the video begins playing. This is often a frame of the video or a custom title screen. Can be updated dynamically.

            • Optional preferFullWindow?: boolean

              Setting this to true will change fullscreen behaviour on devices which do not support the HTML5 fullscreen API but do support fullscreen on the video element, i.e. iPhone. Instead of making the video fullscreen, the player will be stretched to fill the browser window.

            • Optional skipBackward?: null | 5 | 10 | 30

              If specified, the player displays a control allowing the user to jump back in a video by the specified number of seconds. Valid values are 5 | 10 | 30 Defaults to null

            • Optional skipForward?: null | 5 | 10 | 30

              If specified, the player displays a control allowing the user to jump forward in a video by the specified number of seconds. Valid values are 5 | 10 | 30 Defaults to null

            • Optional spatialNavigation?: {
                  enabled?: boolean;
                  horizontalSeek?: boolean;
              }

              Configuration for enabling and managing spatial navigation within the player.

              • Optional enabled?: boolean

                Whether spatial navigation functionality should be enabled. Defaults to false

              • Optional horizontalSeek?: boolean

                Whether horizontal seeking should be enabled. Defaults to false

            • Optional width?: number

              Sets the display width of the video player in pixels. Can be updated dynamically. Defaults to 640

        Returns PlayerConfiguration