Use VideoJS HTML5 video player components in your Ember project.
- Ember.js v2.18 or above
- Ember CLI v2.13 or above
- Node.js v8 or above
ember install ember-videojs
this.set("sources", [
{
type: "video/mp4",
src="https://vjs.zencdn.net/v/oceans.mp4"
},
{
type: "video/webm",
src="https://vjs.zencdn.net/v/oceans.webm"
},
]);
autoplay
: true|false
controls
: true|false
Plays inline for mobile Safari.
playsinline
: true|false
// app/components/player.js
actions: {
togglePlay: function(player) {
if (player.paused()) {
player.play();
} else {
player.pause();
}
}
}
width
: an integer in pixels (VideoJS doesn't support CSS style sizing)height
: an integer in pixels (VideoJS doesn't support CSS style sizing)fluid
: adds the .vjs-fluid class and will scale to fit the container and content.
aspectRatio
: This option is in the form of two integers separated by a colon: for example16:9
or4:3
.
Use new Live UI for live streams.
liveui
: This option is a boolean
For more details please read official documentation https://docs.videojs.com/tutorial-live.html
Install the videojs-vr plugin
npm install --save videojs-vr
Add the import statement to your ember-cli-build.js file.
app.import('node_modules/videojs-vr/dist/videojs-vr.min.js');
app.import('node_modules/videojs-vr/dist/videojs-vr.min.js');
Add the vr-projection attribute to your component
vr-projection
: '360', 'Sphere', or 'equirectangular'
VideoJS doesn't provide a way to interact with it's styles. Just override them in your styles.css
.
.video-js .vjs-big-play-button {};
.video-js .vjs-big-vr-play-button {};
.video-js .vjs-control-bar {};
.vjs-has-started .vjs-control-bar {};
.video-js .vjs-control {};
.vjs-icon-play:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before, .video-js .vjs-play-control .vjs-icon-placeholder:before {};
.vjs-icon-play:before, .video-js .vjs-big-play-button .vjs-icon-placeholder:before, .video-js .vjs-play-control .vjs-icon-placeholder:before {};
.video-js .vjs-volume-panel {};
.video-js .vjs-mute-control {};
.vjs-icon-volume-high:before, .video-js .vjs-mute-control .vjs-icon-placeholder:before {};
.video-js .vjs-progress-control {};
.video-js .vjs-progress-holder .vjs-play-progress, .video-js .vjs-progress-holder .vjs-load-progress, .video-js .vjs-progress-holder .vjs-load-progress div {};
.video-js .vjs-time-control {};
.video-js .vjs-fullscreen-control {};
.vjs-icon-fullscreen-enter:before, .video-js .vjs-fullscreen-control .vjs-icon-placeholder:before {};
.vjs-icon-subtitles, .video-js .vjs-subtitles-button .vjs-icon-placeholder, .video-js .vjs-subs-caps-button .vjs-icon-placeholder, .video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder, .video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder {};
.vjs-icon-subtitles:before, .video-js .vjs-subtitles-button .vjs-icon-placeholder:before, .video-js .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before, .video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before {};
/* Uses inline styles on the grandchild */
.vjs-text-track-display {};
Add a text track to your video in the WebVTT
format.
textTrack
: [track URL]
Add multiple tracks or configure the text track options in your component.
this.set("textTracks", [
{
kind: "captions",
label: "Maori",
language: "mi",
src="captions-mi.vtt",
type="text/vtt"
},
{
kind: "captions",
label: "English",
language: "en",
src="captions-en.vtt",
type="text/vtt"
}
]);
See the Contributing guide for details.
This project is licensed under the MIT License.