Skip to main content

Embeddable Player

The Embed Player is the simplest way to integrate Vindral streaming into your website. It provides a fully functional video player with controls through an iframe, requiring minimal code and automatically receiving updates.

Basic Usage

<iframe
src="https://player.vindral.com/?core.channelId=vindral_demo1_ci_099ee1fa-80f3-455e-aa23-3d184e93e04f"
frameborder="0"
allowfullscreen
></iframe>

Query Parameters

The Embed Player can be configured using URL query parameters. All parameters are optional unless otherwise noted.

Core Parameters (Prefix: core.)

Core parameters control the fundamental streaming behavior and connection settings.

ParameterTypeDescription
core.channelIdstringRequired. Channel ID to connect to.
Example: ?core.channelId=demo_channel
core.urlstringURL to use when connecting to the stream.
Example: ?core.url=https://lb.cdn.vindral.com
core.channelGroupIdstringChannel group ID for fast channel switching.
Example: ?core.channelGroupId=group_123
core.authenticationTokenstringAuthentication token for protected channels.
Example: ?core.authenticationToken=token123
core.languagestringInitial language when multiple languages are available.
Example: ?core.language=en
core.textTrackstringInitial text track/subtitle selection.
Example: ?core.textTrack=en
core.logLeveloff |
error |
warn |
info |
debug |
trace
Sets the log level for debugging.
Example: ?core.logLevel=debug

Buffer Settings

ParameterTypeDescription
core.minBufferTimenumberMinimum and initial buffer time in milliseconds.
Example: ?core.minBufferTime=1000
core.maxBufferTimenumberMaximum buffer time allowed in milliseconds.
Example: ?core.maxBufferTime=3000

Media Settings

ParameterTypeDescription
core.mediaaudio |
video |
audio+video
Type of media to play.
Example: ?core.media=video
core.videoCodecsh264 |
av1
Comma-separated list of video codecs in priority order.
Example: ?core.videoCodecs=av1,h264
core.mutedbooleanStart the player muted.
Example: ?core.muted=true
core.volumenumberInitial volume level from 0 to 1.
Example: ?core.volume=0.5

Quality and Performance

ParameterTypeDescription
core.abrEnabledbooleanEnable/disable Adaptive Bit Rate.
Example: ?core.abrEnabled=false
core.sizeBasedResolutionCapEnabledbooleanCap video resolution to video element size.
Example: ?core.sizeBasedResolutionCapEnabled=false
core.maxSize.widthnumberMaximum video width in pixels.
Example: ?core.maxSize.width=1920
core.maxSize.heightnumberMaximum video height in pixels.
Example: ?core.maxSize.height=1080
core.maxVideoBitRatenumberMaximum video bit rate allowed.
Example: ?core.maxVideoBitRate=5000000
core.maxAudioBitRatenumberMaximum audio bit rate allowed.
Example: ?core.maxAudioBitRate=128000
core.maxInitialBitRatenumberMaximum initial bitrate used by ABR selection.
Example: ?core.maxInitialBitRate=1000000
core.burstEnabledbooleanEnable bursting for faster initial connection.
Example: ?core.burstEnabled=true

Platform-Specific Settings

ParameterTypeDescription
core.mseEnabledbooleanEnable MediaSource API on supported browsers.
Example: ?core.mseEnabled=false
core.mseOpusEnabledbooleanEnable Opus codec with MediaSource API.
Example: ?core.mseOpusEnabled=false
core.iosWakeLockEnabledbooleanEnable wake lock for iOS devices.
Example: ?core.iosWakeLockEnabled=true
core.iosBackgroundPlayEnabledbooleanEnable background audio playback on iOS.
Example: ?core.iosBackgroundPlayEnabled=true
core.iosMediaElementEnabledbooleanUse media element for iOS playback.
Example: ?core.iosMediaElementEnabled=false
core.pictureInPictureEnabledbooleanEnable Picture-in-Picture support.
Example: ?core.pictureInPictureEnabled=false

DRM Settings

ParameterTypeDescription
core.drm.headersstringComma-separated key:value pairs for DRM license headers.
Example: ?core.drm.headers=X-Auth:token123
core.drm.queryparamsstringComma-separated key:value pairs for DRM license query params.
Example: ?core.drm.queryparams=token:abc123
core.drm.widevine.videoRobustnessstringComma-separated Widevine video robustness levels.
Example: ?core.drm.widevine.videoRobustness=SW_SECURE_CRYPTO
core.drm.widevine.audioRobustnessstringComma-separated Widevine audio robustness levels.
Example: ?core.drm.widevine.audioRobustness=SW_SECURE_CRYPTO

Visual Settings

ParameterTypeDescription
core.posterboolean |
string
Poster image: false (black), true (thumbnail), or URL.
Example: ?core.poster=https://example.com/poster.jpg

Advanced Settings

ParameterTypeDescription
core.telemetryEnabledbooleanEnable telemetry collection.
Example: ?core.telemetryEnabled=false
core.wasmDecodingConstraintEnabledbooleanEnable WASM decoding constraints.
Example: ?core.wasmDecodingConstraintEnabled=false
core.webtransportEnabledbooleanEnable WebTransport protocol.
Example: ?core.webtransportEnabled=true
core.edgeUrlstringCustom edge server URL.
Example: ?core.edgeUrl=wss://edge.example.com

Player UI Parameters (Prefix: player.)

Player parameters control the user interface and player controls.

ParameterTypeDescription
player.enabledbooleanEnable/disable the player UI.
Example: ?player.enabled=false
player.controlsEnabledbooleanShow/hide player controls.
Example: ?player.controlsEnabled=false
player.pausedbooleanStart player in paused state.
Example: ?player.paused=true

Player Control Buttons

ParameterTypeDescription
player.castEnabledbooleanShow/hide Cast button.
Example: ?player.castEnabled=false
player.pipButtonEnabledbooleanShow/hide Picture-in-Picture button.
Example: ?player.pipButtonEnabled=false
player.fullscreenButtonEnabledbooleanShow/hide fullscreen button.
Example: ?player.fullscreenButtonEnabled=false
player.airPlayButtonEnabledbooleanShow/hide AirPlay button.
Example: ?player.airPlayButtonEnabled=true
player.channelSelectionEnabledbooleanEnable channel selection controls.
Example: ?player.channelSelectionEnabled=true
player.renditionLevelsEnabledbooleanShow quality selection menu.
Example: ?player.renditionLevelsEnabled=false
player.languagesButtonEnabledbooleanShow language selection button.
Example: ?player.languagesButtonEnabled=true
player.textTracksButtonEnabledbooleanShow subtitle/text track button.
Example: ?player.textTracksButtonEnabled=true

Player Visual Settings

ParameterTypeDescription
player.playOverlayEnabledbooleanShow play button overlay.
Example: ?player.playOverlayEnabled=false
player.bufferingOverlayEnabledbooleanShow buffering indicator.
Example: ?player.bufferingOverlayEnabled=false
player.offlineChannelsEnabledbooleanShow offline channels in grid.
Example: ?player.offlineChannelsEnabled=true
player.vuMeterEnabledbooleanShow VU meter for audio.
Example: ?player.vuMeterEnabled=true
player.refreshPosterEnabledbooleanRefresh poster image periodically.
Example: ?player.refreshPosterEnabled=true
player.aspectRatiostringSet aspect ratio as width:height.
Example: ?player.aspectRatio=16:9
player.titleboolean |
string
Show title: false (hidden), true (channel name), or custom text.
Example: ?player.title=My%20Stream

Programmatic Control

For programmatic control and access to the SDK API, consider using the Vindral Player SDK web component or the Core SDK instead.