vpPlayer("vp-config").setup({
projectId: 'string',
videoProjectId: 'string',
biskoId: 'string',
logging: {
level: 'silent',
channels: {
core: 'warn',
lifecycle: 'warn',
hls: 'warn',
manifest: 'warn',
ads: 'warn',
analytics: 'warn',
casting: 'inherit',
drm: 'warn',
subtitle: 'inherit',
controls: 'inherit',
floating: 'inherit',
multistream: 'inherit',
network: 'warn',
},
ringBufferSize: 0,
readUrlParam: true,
readStorageKey: true,
},
multiStream: {
LiveVideoId: '',
LiveChannelId: '',
type: 1,
maxAttempts: 22,
backoff: 5000,
backoffMultiplier: 2,
backoffMax: 30000,
bufferStallTimeout: 8000,
switchOnNetworkError: true,
switchOnBufferStallError: true,
switchOnMediaError: false,
switchToPriorityTimeout: 120000,
castUrl: '',
playbackUrls: [],
dvrPlaybackUrls: [],
},
levelDiscovery: {
enabled: true,
interval: 30000,
maxStableTicks: 5,
},
video: {
videoId: 'string',
mediaId: 'string',
assetId: 'string',
videoIdFromSource: 'string',
fpsCertificateUrl: 'string',
fairPlayLicenseUrl: 'string',
widevineLicenseUrl: 'string',
drmLicenseUrl: 'string',
flags: [],
geo: {
state: false,
type: 'DENY',
countries: [],
},
videoLocking: {
isEnabled: false,
type: 'seconds',
value: 0,
},
ageRestriction: {
isEnabled: false,
value: 18,
},
showEngagementHeatmap: true,
adBlockDetect: false,
protected: false,
private: false,
publishDate: 'string',
publishEndDate: '',
hasGeoRestriction: false,
geoRestrictionLink: '',
related: 'string',
file: 'string',
hlsUrl: '',
title: 'string',
description: 'string',
duration: 0,
live: false,
liveType: 'string',
thumbnail: 'string',
thumbnailUrl: '',
filmstrip: 'string',
filmstripVtt: 'string',
chapterState: true,
chapterPath: '',
chapters: [],
author: '',
source: '',
shareUrl: '',
tags: [],
tracks: [],
audioTracks: [],
startTime: 0,
skipIntro: {
state: false,
skipFrom: 0,
skipTo: 0,
},
playlist: {
state: false,
playlistId: 'string',
algorithm: 'string',
displayType: 'carousel',
title: 'string',
videos: [],
fromRecommended: false,
},
keywords: [],
advertising: false,
adId: 'string',
ads: {
vastManager: 'ima',
enableDemandManager: false,
demandManager: {
prebidUrl: '',
bidderTimeOut: 3000,
serverTimeOut: 20000,
coppaInventory: true,
cache: true,
adUnitSize: [[640, 480]],
adUnits: [
{
currency: '',
bidOption: 'SendAllBids',
auctionDelay: 0,
adUnitCode: '',
networkCode: '',
bidders: [],
priceGranularities: [
{
max: 10,
increment: 0.5,
},
],
},
],
},
type: 'STATIC',
skipAd: {
state: true,
skipFrom: 5,
},
vmap: 'string',
VPAIDmode: 'string',
enableProgrammability: false,
skipAllAds: false,
prerollUrl: '',
midrollUrl: '',
postrollUrl: '',
contents: [],
hasUserConsent: '',
biddingPlayerSize: [[640, 480]],
bidderAliasses: [],
refreshControl: {
types: [],
cooldownMs: 0,
},
functions: [
{
isDynamicKey: false,
isDynamicValue: false,
key: 'string',
order: 1,
value: 'string',
},
],
overrides: {
state: false,
cuepoints: [],
prerollCount: -1,
postrollCount: -1,
},
bidding: false,
adBreaks: [
{
adTagUrl: [],
breakType: 'midroll',
breakTimingType: 'time',
breakTimingValue: 10,
},
],
bidders: [
{
name: 'bidderName',
params: {
propertyId: '123123',
placementId: '123123',
},
},
],
},
customOverlays: {
state: false,
colorTheme: 'dark',
overlays: [],
},
},
config: {
configId: 'string',
recommendedId: '',
recommended: false,
highlightCurrentVideo: false,
midrollSentenceAlignment: false,
adSnapback: true,
onHoverPlay: false,
soundSubtitleInversion: false,
showContinueWatching: false,
ambientMode: false,
lightStreamingMode: false,
showEngagementHeatmap: true,
handle403AsGeoBlocked: false,
font: {
family: 'Roboto',
url: 'https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap',
},
afterMidrollBacktrack: {
state: false,
seconds: 0,
},
size: {
sizeType: 'RESPONSIVE',
aspectRatio: '16:9',
width: 800,
height: 450,
},
adAnnouncement: {
state: false,
timeBeforeAd: 3,
},
autoplay: false,
autostartOnLoad: {
state: false,
onMobile: false,
onData: false,
},
autostartOnViewable: {
state: false,
onMobile: false,
onData: false,
percentageViewable: 0.5,
},
autopauseOnViewable: {
state: false,
percentageViewable: 0.5,
},
autopauseOnCuepoint: {
state: false,
timeToPause: 0,
continueUnmuted: false,
svgFile: '',
onDesktop: false,
onMobile: false,
},
ignorePlayOutOfView: false,
subtitleOptions: {
sizes: ['small', 'medium', 'large'],
styles: ['dropShadow', 'dark', 'light', 'contrast'],
},
pauseOtherVideos: false,
pauseOnRelatedShown: false,
focusOnAutostart: false,
showRelatedOnPause: {
state: true,
onMobile: false,
from: 0.9,
},
showContentTitle: false,
showContentDescription: false,
allowSeekOnLive: true,
seekLiveAfterPause: false,
playbackRates: [0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2],
volume: 0.6,
muted: false,
loop: false,
casting: false,
debug: false,
skipAmount: 10,
hls: {
appendQueryParams: true,
queryParams: '',
overwriteParams: false,
},
useDevicePixelRatio: false,
float: {
state: false,
onMobile: false,
position: 'BOTTOM_RIGHT',
dismissible: true,
requiresInteraction: false,
toVideoThreshold: 0.35,
toFloatThreshold: 0.2,
style: {
width: 300,
border: '#fff',
},
},
controls: {
theaterButton: false,
settingsButton: true,
chromecastButton: false,
nextButton: true,
fullscreenButton: true,
airplayButton: true,
autoplayButton: false,
bigPlayButton: true,
pictureInPictureButton: false,
relatedButton: true,
volumeButton: true,
shareButton: true,
audioOnlyButton: false,
showAutoPlay: false,
rewindButton: false,
forwardButton: false,
subtitlesButton: false,
chaptersButton: true,
},
logo: {
state: false,
file: 'string',
position: 'TOP_RIGHT',
defaultOpacity: 1,
inactiveOpacity: 0.5,
onClickURL: 'string',
},
socialMedia: [],
lang: {
locale: 'en',
controls: {
play: 'Play',
pause: 'Pause',
rewind: 'Rewind',
forward: 'Forward',
next: 'Next',
replay: 'Replay',
volume: 'Volume',
mute: 'Mute',
unmute: 'Unmute',
settings: 'Settings',
theater: 'Theater',
fullscreen: 'Full screen',
chromecast: 'Chromecast',
airplay: 'Airplay',
pictureInPicture: 'Picture-in-Picture',
related: 'Related',
skipIntro: 'Skip intro',
continueWatching: 'Continue watching',
watched: 'Watched',
playlistTitle: 'Continue watching',
upNext: 'Up next...',
live: 'Live',
continueAfterPause: '',
nextVideoCancel: 'Cancel',
playNow: 'Play Now',
enter: 'Enter',
exit: 'Exit',
switchingStream: 'Switching stream...',
switch: 'Switch stream',
},
settings: {
quality: 'Quality',
language: 'Language',
subtitles: 'Subtitles',
options: 'Options',
chapters: 'Chapters',
subtitleOptions: {
reset: 'Reset',
size: 'Size',
style: 'Style',
sizeOptions: {
small: 'Small',
medium: 'Medium',
large: 'Large',
},
styleOptions: {
dropShadow: 'Drop Shadow',
dark: 'Dark',
light: 'Light',
contrast: 'Contrast',
},
},
refresh: 'Refresh',
autoplay: 'Autoplay',
audioOnly: 'Audio-Only Mode',
videoMode: 'Video Mode',
playbackRate: 'Speed',
auto: 'Auto',
off: 'Off',
on: 'On',
normal: 'Normal',
share: 'Share video',
autoGeneratedSubtitles: '',
copy: 'Copy',
copied: 'Copied',
},
ads: {
skipAd: 'Skip ad',
skipAds: 'Skip ads',
visit: 'Visit us',
info: 'Read more',
simultaneousAds: 'Playing {current} out of {total} ads',
adAnnouncement: 'Ad in {t} seconds',
},
messages: {
playbackErrorTitle: 'There was a problem playing this video',
playbackErrorDescription: 'Unfortunately, this video could not be played at this moment. Please try refreshing your browser.',
geoBlockedTitle: 'Video not available in your country',
geoBlockedDescription: 'Unfortunately, the publisher has not made this video available in your country.',
streamInterruptedTitle: 'Stream ended or interrupted',
streamInterruptedDescription: 'Please be patient while we find the issue or check back for future updates.',
streamStartingTitle: 'Thank you for joining!',
streamStartingDescription: 'The live stream is either about to start soon, is currently interrupted, or has just ended.',
streamEndedTitle: 'Stream ended or interrupted',
streamEndedDescription: 'Please be patient while we find the issue or check back for future updates.',
unpublishedTitle: '',
unpublishedDescription: 'The publish date of this video is set in the future.',
privateTitle: '',
privateDescription: 'This video cannot be played because it is set as private.',
passwordProtectedTitle: 'This video is password protected',
passwordProtectedDescription: 'Please provide a password to unlock the video.',
adBlockedTitle: 'Looks like you may be using ad blocker',
adBlockedDescription: 'Please disable the ad blocker to continue watching.',
ageRestrictedTitle: 'Sorry, this content is age-restricted',
ageRestrictedDescription: 'We require the users to be {{age}} years old or over, please confirm your age.',
ageRestrictedButton: 'Confirm',
paywallRestrictedTitle: 'This video includes paid content',
paywallRestrictedDescription: 'Please Subscribe to our site to unlock this content.',
paywallRestrictedButton: 'Subscribe',
paywallRestrictedHover: '',
},
},
skin: {
controlBar: {
background: '',
spread: 'solid',
gradientMidPoint: 50,
text: '#FFFFFF',
icons: {
default: '#FFFFFF',
hover: '#FFFFFF',
},
timeslider: {
progress: '#FFFFFF',
rail: '#D9D9D9',
buffer: '#D9D9D9',
dragger: '#FFFFFF',
},
volume: {
dragger: '#FFFFFF',
progress: '#FFFFFF',
rail: '#CCCBCB',
notifier: 'oklch(0.2 0 264 / 0.7)',
},
timesliderOnAd: {
progress: '#F5C338',
rail: '#D9D9D9',
buffer: null,
dragger: '#FFFFFF',
},
},
menus: {
background: {
default: 'oklch(0.2 0 264 / 0.7)',
},
links: {
default: '#FFFFFF',
hover: '#F26822',
},
autoplay: {
autoplayOn: '#F26822',
autoplayOff: '#A7A7A7',
},
},
nextVideo: {
background: 'rgba(0, 0, 0, 0.3)',
text: '#FFFFFF',
timeslider: {
rail: 'rgba(0, 0, 0, 0.3)',
progress: '#FFFFFF',
},
icons: {
play: {
default: '#FFFFFF',
hover: '#e1e1e1',
},
close: '#FFFFFF',
},
},
playlist: {
background: 'rgba(28, 28, 28, 0.7)',
text: '#FFFFFF',
icons: {
arrows: {
active: '#FFFFFF',
inactive: '#FFFFFF80',
},
close: '#FFFFFF',
},
card: {
background: 'rgba(0, 0, 0, 0.35)',
title: '#FFFFFF',
duration: {
text: '#FFFFFF',
background: 'rgba(26, 26, 26, 0.5)',
},
icons: {
play: {
default: '#FFFFFF',
hover: '#FFFFFF',
},
},
},
},
},
},
});