Universal video embed.
JavaScript CSS Other
Pull request Compare This branch is 1 commit behind videojs:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
build
docs
lang
sandbox
src
test
.editorconfig
.gitignore
.jshintrc
.npmignore
.travis.yml
CHANGELOG.md
CONTRIBUTING.md
Gruntfile.js
ISSUE_TEMPLATE.md
LICENSE
PULL_REQUEST_TEMPLATE.md
README.md
bower.json
component.json
composer.json
contrib.json
package.json

README.md

Video.js logo

Video.js - HTML5 Video Player

Build Status Coverage Status

NPM

Video.js is a web video player built from the ground up for an HTML5 world. It supports HTML5 and Flash video, as well as YouTube and Vimeo (through plugins). It supports video playback on desktops and mobile devices. This project was started mid 2010, and the player is now used on over 50,000 100,000 200,000 websites.

Quick start

Thanks to the awesome folks over at Fastly, there's a free, CDN hosted version of Video.js that anyone can use. Also, check out the Getting Started page on our website which has the latest urls as well. Simply add these includes to your document's <head>:

<link href="//vjs.zencdn.net/5.8/video-js.min.css" rel="stylesheet">
<script src="//vjs.zencdn.net/5.8/video.min.js"></script>

Then, whenever you want to use Video.js you can simply use the <video> element as your normally would, but with an additional data-setup attribute containing any Video.js options. These options can include any Video.js option plus potential plugin options, just make sure they're valid JSON!

<video id="really-cool-video" class="video-js vjs-default-skin" controls
 preload="auto" width="640" height="264" poster="really-cool-video-poster.jpg"
 data-setup='{}'>
  <source src="really-cool-video.mp4" type="video/mp4">
  <source src="really-cool-video.webm" type="video/webm">
  <p class="vjs-no-js">
    To view this video please enable JavaScript, and consider upgrading to a web browser
    that <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a>
  </p>
</video>

If you don't want to use auto-setup, you can leave off the data-setup attribute and initialize a video element manually.

var player = videojs('really-cool-video', { /* Options */ }, function() {
  console.log('Good to go!');

  this.play(); // if you don't trust autoplay for some reason

  // How about an event listener?
  this.on('ended', function() {
    console.log('awww...over so soon?');
  });
});

If you're ready to dive in, the documentation is the first place to go for more information.

Contributing

Video.js is a free and open source library, and we appreciate any help you're willing to give. Check out the contributing guide.

Video.js uses BrowserStack for compatibility testing

Building your own Video.js from source

To build your own custom version read the section on contributing code and "Building your own copy" in the contributing guide.

License

Video.js is licensed under the Apache License, Version 2.0. View the license file