ott bb player
npm install @brandbrigade/ott-bb-playerBrandBrigade OTT Player SDK for targeted ad augmentation on live streams.
``bash`
npm install @brandbrigade/ott-bb-player
`javascript`
const bbPlayer = new BB.OTTPlayer(
videoElement,
frameRate, // e.g., 30000/1001 for 29.97 fps
{
gameId: 'game_identifier',
augmentation: { channelName: 'channel_name' }
}
);
#### onNewMetadata(event)
Forward MediaKind metadata events containing timecode information.
`javascript`
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_PLAYER_METADATA, (event) => {
bbPlayer.onNewMetadata(event);
});
#### onNewSegment(event)
Forward MediaKind segment playback events for synchronization.
`javascript`
wmcMgr.addEventListener(wmcEvents.AMC_EVENT_PLAYER_SEGMENT_PLAYBACK, (event) => {
bbPlayer.onNewSegment(event);
});
#### onAdEvent(eventType)
Notify player of ad events to pause/resume augmentation.
`javascript`
bbPlayer.onAdEvent('start'); // Pause augmentation during ad
bbPlayer.onAdEvent('end'); // Resume augmentation after ad
#### toggle(enabled)
Enable or disable augmentation rendering.
`javascript`
bbPlayer.toggle(true); // Enable
bbPlayer.toggle(false); // Disable
#### setMediaInfo(mediaInfo)
Update media stream information (fps, bitrate).
`javascript`
bbPlayer.setMediaInfo({ fps: 29.97, bitrate: 5000000 });
#### setFps(fps)
Update frame rate independently.
`javascript`
bbPlayer.setFps(29.97);
#### setAd(source, placeholder?)
Override ad creative at runtime. Accepts URL, Blob, or ImageBitmap.
`javascript`
bbPlayer.setAd('https://example.com/ad.png', 'brand_name');
bbPlayer.setAd(adBlob);
bbPlayer.setAd(imageBitmap);
#### setLED(source)
Override LED board creative. Accepts URL, Blob, or ImageBitmap.
`javascript`
bbPlayer.setLED('https://example.com/led.png');
bbPlayer.setLED(ledBlob);
bbPlayer.setLED(imageBitmap);
#### setGameParams(gameParams)
Manually override game parameters (offsets, bucket info).
`javascript`
bbPlayer.setGameParams({
bucketName: 'game-bucket',
offsets: [{ frame: 0, offset: 0, timecode: '00:00:00:00' }],
startZip: 'start.zip',
endZip: 'end.zip',
customerId: 'customer_id',
customerName: 'Customer Name'
});
#### on(eventName, listener)
Subscribe to player events.
`javascript`
bbPlayer.on('augmentationStatusChanged', (event) => {
console.log('Status:', event.detail);
});
#### off(eventName, listener)
Unsubscribe from player events.
`javascript`
bbPlayer.off('augmentationStatusChanged', listener);
#### destroy()
Cleanup and dispose of player instance. Terminates workers, removes event listeners, and frees resources.
`javascript``
bbPlayer.destroy();
- Chrome (Mac, Windows)
Version v1.0.47 - OTT Web rebuild, supports Chrome Mac
Version v1.0.49 - Fixed augmentation size bug,
Updated configurations
Version v1.0.50 - Fixed multiple instances of OTT Player,
Applied SetInterval in Adepter,
Added OTTActions support
Version v1.0.52 - Adapter, Downloader and Decoder Settings added to global player options
Version v1.0.53 - More debug metrix added,
Pixel tickers color changed to dark gray
Version v1.0.55 - Pattern tracking based renderer calls implemented
Version v1.0.57 - Added support for Windows Chrome,
Updated logging
Version v1.0.58 - Improve support for Windows Chrome
Version v1.0.59 - Logging to Datadog Enabled
Minor improvements
Version v1.0.60 -
- Game parameters are now fetched every 10 seconds.
- After seeking, if new metadata with a relevant timecode is not received, the augmentation will stop.
- Fixed an issue where the timecode exceeds 24 hours.
Version v1.0.61 - WebGL Quad rendering optimization
Added error logging in case of the missing JSON in zip
Version v1.0.62 - Minor Update
Version v1.0.63 - Added setMediaInfo(mediaInfo: { fps?: number; bitrate?: number }) for communication with MK
Added logging metrics to backend
Hardcoded BurkerKing logo to be replaced by campaigns
Dev tests of Firefox support
Version v1.0.64 - Added Beacon Evenst
Added onAdEvent
Ad campaings connected
Added internal metrics logging to cloud
Version v1.0.65 - Added global augmentation status to beacon events
Console logs cleared
Version v1.0.66 - Minor fixes
Version v1.0.67 - Killswitch status is now checked on game params headers instead of zip headers
Added metrics for zip fetch as URL parameters
Implemented a zip fetch retry mechanism while there is still time to fetch them
Added OTTPlayer off method to unsubscribe from player events
Implemented destroy method to properly dispose OTTPlayer instances
Version v1.0.68 - Zip download logic fixed
Version v1.1.00 -
- Add banchmarking
- Add Lifecicle management
- Add status overlay
- Fix toggle(flag: boolean)
- Update onAdEvent(eventType: 'start' | 'end') logic
Version v1.1.1 -
- Fix no augmentation when showAugmentationStatus: false
- Reset ads to default if no arguments provided to setAd()