All parameters listed below shall be added on Clappr.Player
object instantiation. Example:
var player = new Clappr.Player({
source: "http://your.video/here.mp4",
parameter1: "value1",
parameter2: "value2",
});
You can set the player size setting width
and height
parameters.
You can specify where the player should be attached to using either the parentId
, or parent
option. parentId
should be the id of the element you would like the player to be inserted into, or parent
should be set to a reference to a dom element.
Add autoPlay: true
if you want the video to automatically play after page load.
Add loop: true
if you want the video to automatically replay after it ends.
Add chromeless: true
if you want the player to act in chromeless mode.
You can force the player to use a specific language language
and you can also provide your own translations.
var options = {
source: 'example.com/example.mpd',
language: 'pt-BR',
strings: {
'pt-BR': {
'live': 'ao vivo',
'back_to_live': 'voltar para o ao vivo',
'disabled': 'Desativado',
'playback_not_supported': 'Seu navegador não supporta a reprodução deste video. Por favor, tente usar um navegador diferente.'
}
}
}
If you want to provide your translations, create a PR by editing the Strings plugin.
Add allowUserInteraction: true
if you want the player to handle clicks/taps when in chromeless mode. By default it's set to false
on desktop browsers, and true
on mobile browsers (due to playback start only being allowed when started through user interaction).
Add disableKeyboardShortcuts: true
if you want to disable keyboard control of the player. This is forced to true
when allowUserInteraction
is false
.
Add mute: true
if you want to start player with no sound.
Add mimeType: "mimetype-for-media"
if you need to use a media url without extension.
Add actualLiveTime: true
if you want the time in the seek bar to be according to actual time.
Add actualLiveServerTime: "2015/11/26 06:01:03"
if you want the time in the seek bar to match with a specified time.
Add persistConfig: false
if you don't want to persist player's volume through your videos, by default it saves. These configuration are being saved at user's browser (through localStorage).
Add playbackNotSupportedMessage: 'Please try on a different browser'
to define a custom message to be displayed when a playback is not supported.
In case you're loading a on demand video (mp4), it's possible to define the way the video will be preloaded according to preload attribute options. Add preload: <type>
on embed parameters. By default, Clappr will try to download only video metadata (preload: 'metadata'
).
The default behavior for the HLS playback is to keep buffering indefinitely, even on VoD. This replicates the behavior for progressive download, which continues buffering when pausing the video, thus making the video available for playback even on slow networks. To change this behavior, add maxBufferLength: <value>
to embed parameters, where value
is in seconds.
The configuration for the playback, it's still only compatible with html5_video
playback.
{
playback: {
preload: 'metadata',
controls: true,
playInline: true, // allows inline playback when running on iOS UIWebview
crossOrigin: 'use-credentials',
recycleVideo: Clappr.Browser.isMobile, // Recycle <video> element only for mobile. (default is false)
externalTracks: [ // Add external <track> (if supported by browser, see also https://www.w3.org/TR/html5/embedded-content-0.html#the-track-element)
{lang: 'en', label: 'English', src: 'http://example.com/en.vtt', kind: 'subtitles'},
{lang: 'fr', label: 'French', src: 'http://example.com/fr.vtt'} // 'kind' default value is 'subtitles'
]
}
}
Customize the labels and title:
var player = new Clappr.Player({
source: "http://your.video/here.mp4",
closedCaptionsConfig: {
title: 'Subtitles', // default is none
ariaLabel: 'Closed Captions', // Default is 'cc-button'
labelCallback: function (track) { return track.name }, // track is an object with id, name and track properties (track is TextTrack object)
},
});
Enable Google Analytics events dispatch (play/pause/stop/buffering/etc) adding your gaAccount
. Optionally, pass your favorite trackerName as gaTrackerName
. Example:
var player = new Clappr.Player({
source: "http://your.video/here.mp4",
gaAccount: 'UA-44332211-1',
gaTrackerName: 'MyPlayerInstance'
});
Customize control bar colors adding mediacontrol
hash. Example:
var player = new Clappr.Player({
source: "http://your.video/here.mp4",
mediacontrol: {seekbar: "#E113D3", buttons: "#66B2FF"}
});
Result:
I'm sure you can do better than me.
For advanced configuration, you can create an entire MediaControl
object. At its most basic,
you might consider subclassing the base MediaControl
and using your own custom HTML and CSS.
// ES6-style code shown
class MyMediaControl extends Clappr.MediaControl {
get template() {
return Clappr.template(
`<div>My HTML here based on clappr/src/components/media_control/public/media-control.html</div>`
)
}
get stylesheet () {
return Clappr.Styler.getStyleFor(
`.my-css-class { /* based on clappr/src/components/media_control/public/media-control.scss */ }`
)
}
constructor(options) {
super(options);
}
}
let player = new Clappr.Player({
source: "http://your.video/here.mp4",
mediacontrol: { external: MyMediaControl }
});
If you want to disable media control auto hide, add hideMediaControl: false
in your embed parameters.
When embedded with width less than 320, volume bars are hidden. You can force this behavior for all sizes by adding hideVolumeBar: true
.
Put watermark: http://url/img.png
on your embed parameters to automatically add watermark on your video. Choose corner position by defining position parameter. Positions can be bottom-left
, bottom-right
, top-left
and top-right
. To define an URL to open when the watermark is clicked, use watermarkLink parameter. If the watermarkLink parameter not defined, the watermark will not be clickable. Example:
var player = new Clappr.Player({
source: "http://your.video/here.mp4",
watermark: "http://url/img.png", position: 'top-right',
watermarkLink: "http://example.net/"
});
Define a poster image by adding poster: 'http://url/img.png'
on your player options. It will appear after video embed, disappear on play and go back when user stops the video. For audio broadcasts, the poster stays up while playing.
Some audio-only sources (e.g. HLS) cannot be easily detected as such; for that you can add audioOnly: true
to the options so clappr knows to treat the source as such.
Clappr has a native statistics plugin that accounts QoE metrics such playing time, rebuffering time, total rebuffers, etc. Metrics report happens periodically, learn how to access these numbers on Create your own plugin session.
By default if the URL contains a time then the media will seek to this point. E.g. example.com?t=100 would start the media at 100 seconds in.
To disable this add autoSeekFromUrl: false
.
Add disableVideoTagContextMenu: true
to disable the context menu (right click) on the HTML5 video element (in the case where a HTML5 playback is used).
By default the player will automatically exit full screen when the media ends. To disable this add exitFullscreenOnEnd: false
on your player options.