SDK of embeddable and customizable JS player for web
autoPlay: true
. Don’t forget to combine it with mute: true
to comply with most browser policies.
loop: true
config option to repeat the video continuously.
mute: true
to start playback without audio. This helps meet autoplay restrictions.
Poster
plugin and define an image using the poster.url
setting. This image appears before playback starts and is helpful for branding, showing a preview, or providing visual context.
Theme eleme | Description |
---|---|
Background color | Background of bottom play panel |
Foreground color | Color of icons, play button, and timeline |
Text color | Color of text |
Hover color | Color of buttons under mouse pointer |
Media controls
plugin handles the core of the UI — if it’s not selected, most visible components won’t appear. Each UI-related plugin can be toggled dynamically at runtime. Some plugins also act as containers and unlock access to additional components.
Category | Feature | Description |
---|---|---|
Playback | Audio tracks | Allows selection of different audio tracks |
Click to pause | Enables pausing by clicking on the player | |
Clips | Enables clipping segments from the video | |
DVR controls | Enables Digital Video Recorder (DVR) functionality | |
Picture in picture | Enables floating mini-player mode | |
Playback rate | Adjusts playback speed | |
Quality levels | Allows manual or automatic video quality selection | |
Seek time | Shows timestamp preview when hovering over the timeline | |
Skip time | Allows skipping forward 30s or backward 10s by tapping screen edges on mobile | |
Source controller | Manages the auto-selection of playback sources | |
Subtitles | Enables closed captions or subtitles | |
Volume fade | Smoothly fades volume up when hovering on the player, and down when leaving | |
UI | Big mute button | Adds a larger mute button on top of the player |
Context menu | Provides a right-click menu with options | |
Error screen | Displays an error message if playback fails | |
Example UI | Loads an example user interface | |
Favicon | Displays a favicon for branding in the browser tab | |
Gear button | Adds a settings button to the interface | |
Media controls | Displays basic controls (play, pause, seek, etc.) | |
Poster | Displays a cover image before playback starts | |
Spinner | Displays a loading animation while buffering | |
Thumbnails | Shows preview images when hovering over the timeline | |
Analytics | CMCD | Adds Common Media Client Data support for analytics |
Stats for nerds | Displays detailed performance stats for debugging |
PlayerConfig
. This object defines the player’s behavior, including video sources, playback type, preferred streaming protocol, autoplay and mute settings, poster image, and enabled plugins.
Category | Method | Description |
---|---|---|
Playback control | player.play() | Start playback |
player.pause() | Pause playback | |
player.stop() | Stop playback and clear the current stream | |
Mute & volume | player.mute() | Mute audio |
player.unmute() | Unmute audio | |
player.setVolume(0.5) | Set volume (0.0 – 1.0) | |
player.isMuted() | Check if player is muted | |
player.getVolume() | Get current volume value | |
Seek & timing | player.getCurrentTime() | Get current playback position (in seconds) |
player.getDuration() | Get total media duration (in seconds) | |
player.seek(120) | Jump to a specific time (e.g. 120 seconds = 2 min) | |
Cleanup | player.destroy() | Release resources and disconnect player before removing DOM container |
Category | Event | Description |
---|---|---|
Playback | pause | Triggered when playback is paused |
Seek & time | seek | Fired when the current time changes (programmatically or by user action) |
Audio | volumeupdate | Fired when volume or mute state changes |
Errors | error | Fired when playback fails or media cannot be loaded |
PlaybackError
object containing details such as error code, message, severity, and source: