Static
EventReadonly
Ads: { Readonly
AdReadonly
AdReadonly
AdReadonly
AdReadonly
Cancelled: "adscancelled"Readonly
ContentReadonly
ContentReadonly
ContentReadonly
NoReadonly
NoReadonly
Ready: "adsready"Readonly
ReadyReadonly
ReadyReadonly
BandwidthReadonly
BufferedReadonly
CodecsReadonly
ContentReadonly
ContentReadonly
ContentReadonly
EMEKeyReadonly
EMEKeyReadonly
EMEKeyReadonly
EMEKeyReadonly
EMEKeyReadonly
EMEKeyReadonly
EMEKeyReadonly
EMELicenseReadonly
GapReadonly
Integrations: { Readonly
ImaReadonly
ImaReadonly
ImaReadonly
ImaReadonly
ImaReadonly
ImaReadonly
ImaReadonly
ImaReadonly
ImaReadonly
ImaReadonly
ImaReadonly
ImaReadonly
ImaReadonly
ImaReadonly
ImaReadonly
ImaReadonly
ImaReadonly
ImaReadonly
ImaReadonly
ImaReadonly
Pinning: { Readonly
BeforeReadonly
BeforeReadonly
BeforeReadonly
BeforeReadonly
BeforeReadonly
Pin: "pin"Readonly
PinReadonly
PinningReadonly
PinningReadonly
Unpin: "unpin"Readonly
Ssai: { Readonly
ClickReadonly
ManifestReadonly
ManifestReadonly
ManifestReadonly
ManifestReadonly
PlayedReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlayerReadonly
PlaylistReadonly
PlaylistReadonly
PlaylistReadonly
PlaylistReadonly
RenditionReadonly
RenditionReadonly
RenditionReadonly
SeekableReadonly
SegmentReadonly
SegmentReadonly
SegmentReadonly
SegmentReadonly
SegmentReadonly
SegmentReadonly
SegmentReadonly
SegmentReadonly
SegmentReadonly
SegmentReadonly
SegmentReadonly
SegmentReadonly
SegmentReadonly
SpatialReadonly
EndReadonly
FocusableReadonly
TimelineStatic
LoggerStatic
RequestAdd a text track
Add a new thumbnail preview track
Get an array of currently available audio tracks
Get an array of time ranges representing the parts of the media that are already downloaded and available for playback.
Get the player configuration object
Get the current playback state of the player
Get the Integrations Manager instance
Get the current logger level
Get the NetworkingManager instance
Get an array of time ranges representing points in the media timeline that have been played.
Fetch a specific video playlist model from the Playback API by ID
Get the Playlist Manager instance
Get an array of currently available quality levels
Fetch a list of related video models from the Playback API by ID
Get an array of time ranges representing parts of the media that are currently seekable
Get the active SpationalNavigationManager instance
Get an array of available thumbnail preview tracks
Fetch a specific video model from the Playback API by ID
Get available media playback quality metrics as specified by the W3C's Media Playback Quality API.
Fetch a list of video models from the Playback API by search params See Playback API Search Syntax
Load a video source from a Brightcove video model returned by the Playback API
Load a remote video source
Add a player event listener that will execute a handler on only one occurence of the event
Get information about the technical capabilities of the current environment
Remove all event listeners for a specific event
Remove a specific event listener
Remove a specific thumbnail preview track
Enable a specific audio track
Enable a specific quality level and disable adaptive bitrate switching to all other quality levels
Enable a specific thumbnail preview track
Set the current logger level
Unload the current source without disposing the player
Optional
reason: string | BasePlayerErrorUpdate the player's configuration
Optional
abr?: { Optional
customIf 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
initialThe 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
limitWhen 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
useIf 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?: { Optional
adSSAI Config ID.
Defaults to null
Optional
applicationBrightcove Application ID.
Defaults to null
Optional
authBrightcove JWT used to enforce different restrictions on the account level.
Defaults to null
Optional
deliveryDynamic Delivery rules configuration ID.
Defaults to null
Optional
liveToken used by BLive for DVR and low-latency streams
Defaults to null
Optional
playbackChanges 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
playerVideo Cloud player name associated with a player.
Defaults to 'Brightcove Web & Smart TV SDK'
Optional
policyVideo Cloud API policy key.
Defaults to null
Optional
streamEnable Stream Concurrency.
Defaults to false
Optional
tveTVE token.
defaults to null
Optional
viewerUser identifier for Cross-Device Resume / Viewer Analytics. Used by Data Collection API.
Defaults to null
Optional
watermarkingWatermarking token.
Defaults to null
Optional
integrations?: { Optional
endOptional
custom?: { Optional
content?: stringAny string literal or HTML that is rendered on the custom endscreen. Defaults to an empty string.
Optional
social?: { Optional
deeplinking?: booleanIf true, direct links will include a start offset.
Can be updated dynamically.
Defaults to false
.
Optional
description?: stringUsed to provide a description for use in the social overlay. Can be updated dynamically. Defaults to an empty string.
Optional
embedUsed to provide a custom embed code that replaces the generated one. Can be updated dynamically. Defaults to an empty string.
Optional
embedIf true, the current dimensions of the player will be provided in default embed code.
Can be updated dynamically.
Defaults to false
.
Optional
embedThis 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?: stringUsed to provide a label for the social overlay. Can only be updated on initialization of the plugin. Defaults to an empty string.
Optional
offset?: stringAn offset in "hh:mm:ss" format to use for sharing URLs.
Can be updated dynamically.
Defaults to '00:00:00'
.
Optional
removeIf true, turns off the direct link.
Can be updated dynamically.
Defaults to false
.
Optional
removeIf true, turns off the embed code.
Can be updated dynamically.
Defaults to false
.
Optional
services?: { Can be updated dynamically. See SocialSharingConfigurationServices for defaults.
Optional
facebook?: booleanWhether or not to include Facebook.
Defaults to true
Optional
linkedin?: booleanWhether or not to include LinkedIn.
Defaults to true
Optional
pinterest?: booleanWhether or not to include Pinterest.
Defaults to true
Optional
tumblr?: booleanWhether or not to include Tumblr.
Defaults to true
Optional
twitter?: booleanWhether or not to include Twitter.
Defaults to true
Optional
title?: stringUsed to provide a title for use in the social overlay. Can be updated dynamically. Defaults to an empty string.
Optional
url?: stringUsed to provide a custom URL that replaces the generated one. Can be updated dynamically. Defaults to an empty string.
Optional
imaOptional
clickSpecifies 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
hardAbandon ads that finish loading after they have timed out.
Defaults to true
.
Optional
postControls postrollTimeout setting in videojs-contrib-ads. If provided, overrides any value set for timeout. Default Value: same as timeout.
Optional
preControls prerollTimeout setting in videojs-contrib-ads. If provided, overrides any value set for timeout. Default Value: same as timeout.
Optional
requestWhen to request ads: during player load ('onload'), during playback ('onplay'),
ondemand ('ondemand'), cuechange ('oncue').
Defaults to 'onload'
.
Optional
sdkThe URL of the IMA3 SDK.
Defaults to '${protocol}//imasdk.googleapis.com/js/sdkloader/ima3.js'
.
Optional
serverThe 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
showShow Brightcove player custom controls for VPAID ads. They may or may not work.
Defaults to false
.
Optional
useEnables Video Cloud ad cue points being used to trigger ads.
Default Value: false
.
Optional
vpaidSpecify 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
imaOptional
hideIf true, it hides overlays while ads are playing.
Defaults to false
Optional
sdkThe URL of your self-hosted IMA DAI SDK.
Defaults to '//imasdk.googleapis.com/js/sdkloader/ima3_dai.js'
Optional
skipWhether to skip over ads that have already played when seeking.
Defaults to true
Optional
pinning?: { Optional
allowBy default, pinning mode will not work on Android or iOS mobile devices.
Defaults to false
.
Optional
closeable?: booleanBy default, pinning mode will include a close button,
which the user can click to disable pinning mode.
Defaults to true
.
Optional
height?: null | numberBy 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
manualBy 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?: numberThe 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?: numberThe 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 | numberBy 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
playlistOptional
hideDefaults to false
.
Optional
horizontal?: booleanDefaults to false
.
Optional
nextDefaults to true
.
Optional
nextDefaults to true
.
Optional
playDefaults to false
.
Optional
playlistDefaults to true
.
Optional
repeat?: booleanDefaults to false
.
Optional
socialOptional
deeplinking?: booleanIf true, direct links will include a start offset.
Can be updated dynamically.
Defaults to false
.
Optional
description?: stringUsed to provide a description for use in the social overlay. Can be updated dynamically. Defaults to an empty string.
Optional
embedUsed to provide a custom embed code that replaces the generated one. Can be updated dynamically. Defaults to an empty string.
Optional
embedIf true, the current dimensions of the player will be provided in default embed code.
Can be updated dynamically.
Defaults to false
.
Optional
embedThis 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?: stringUsed to provide a label for the social overlay. Can only be updated on initialization of the plugin. Defaults to an empty string.
Optional
offset?: stringAn offset in "hh:mm:ss" format to use for sharing URLs.
Can be updated dynamically.
Defaults to '00:00:00'
.
Optional
removeIf true, turns off the direct link.
Can be updated dynamically.
Defaults to false
.
Optional
removeIf true, turns off the embed code.
Can be updated dynamically.
Defaults to false
.
Optional
services?: { Can be updated dynamically. See SocialSharingConfigurationServices for defaults.
Optional
facebook?: booleanWhether or not to include Facebook.
Defaults to true
Optional
linkedin?: booleanWhether or not to include LinkedIn.
Defaults to true
Optional
pinterest?: booleanWhether or not to include Pinterest.
Defaults to true
Optional
tumblr?: booleanWhether or not to include Tumblr.
Defaults to true
Optional
twitter?: booleanWhether or not to include Twitter.
Defaults to true
Optional
title?: stringUsed to provide a title for use in the social overlay. Can be updated dynamically. Defaults to an empty string.
Optional
url?: stringUsed to provide a custom URL that replaces the generated one. Can be updated dynamically. Defaults to an empty string.
Optional
ssai?: { Optional
enableIf true, request the video source with HLS discontinuities or DASH multiperiod.
Only valid for VOD SSAI.
Defaults to true
Optional
enableOM?: booleanIf 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
hideIf true, the countdown timer and Learn More click through overlays will not be shown while ads are playing.
Defaults to false
Optional
omAn object describing the required parameters for starting an Open Measurement session client and OM ad features.
Optional
accessPreferred 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
partnerPartner name string. Defaults to null
Optional
partnerPartner version string in a semver format. Defaults to null
Optional
timeout?: numberThe number of milliseconds after which an XHR to fetch a VMAP will time out.
Defaults to 45000
Optional
vmapURLParams?: objectAn 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?: { Optional
license?: { Optional
delayIncrease delay for each retry: delay += (delay * delayFactor).
Defaults to 0.2
Optional
fuzzDo 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
initialThe base delay in ms between retries.
Defaults to 1_000
Optional
maxThe maximum number of requests before we fail.
Defaults to 1
Optional
timeout?: numberThe timeout in ms, after which we abort.
Defaults to 20_000
Optional
manifest?: { Optional
delayIncrease delay for each retry: delay += (delay * delayFactor).
Defaults to 0.2
Optional
fuzzDo 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
initialThe base delay in ms between retries.
Defaults to 1_000
Optional
maxThe maximum number of requests before we fail.
Defaults to 1
Optional
timeout?: numberThe timeout in ms, after which we abort.
Defaults to 20_000
Optional
segment?: { Optional
delayIncrease delay for each retry: delay += (delay * delayFactor).
Defaults to 0.2
Optional
fuzzDo 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
initialThe base delay in ms between retries.
Defaults to 1_000
Optional
maxThe maximum number of requests before we fail.
Defaults to 1
Optional
timeout?: numberThe timeout in ms, after which we abort.
Defaults to 20_000
Optional
playback?: { Optional
autoplay?: booleanWhether 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
maxThe number of milliseconds the player should wait before triggering a visible timeout error on the player. Defaults to 45 seconds
Optional
maxThe same as maxBufferingTime, but applies only when the player is in the background. Defaults to 5 minutes.
Optional
overrideWhen 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?: { Optional
autoA 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?: booleanDetermines if playlists will repeat from the beginning when it reaches the end.
Defaults to true
Optional
ui?: { Optional
aspectPuts 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
audioIf 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
audioIf 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
defaultOptional
defaultOptional
defaultThis 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?: booleanWhen 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?: numberSets the display height of the video player in pixels.
Can be updated dynamically.
Defaults to 360
Optional
language?: null | LanguageKeySelect a specific language for localization. Defaults to null The player language is set to one of the following in descending priority:
Optional
nativeDetermines if native controls should be used for touch devices.
Optional
noUITitleControl 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?: booleanIndicates 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 | stringA 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
preferSetting 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
skipIf 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
skipIf 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
spatialConfiguration for enabling and managing spatial navigation within the player.
Optional
enabled?: booleanWhether spatial navigation functionality should be enabled.
Defaults to false
Optional
horizontalWhether horizontal seeking should be enabled.
Defaults to false
Optional
width?: numberSets the display width of the video player in pixels.
Can be updated dynamically.
Defaults to 640
Add a player event listener