2016-12-02 14:27:59 -05:00
![Video.js logo][logo]
2014-10-17 11:55:53 -07:00
2016-12-02 14:27:59 -05:00
# [Video.js - HTML5 Video Player][vjs]
2016-08-12 23:39:18 -04:00
2016-12-02 14:27:59 -05:00
[![Build Status][travis-icon]][travis-link]
[![Coverage Status][coveralls-icon]][coveralls-link]
[![Slack Status][slack-icon]][slack-link]
2016-02-24 01:25:04 -05:00
2016-12-02 14:27:59 -05:00
[![NPM][npm-icon]][npm-link]
2011-09-30 17:28:43 -07:00
2016-12-02 14:27:59 -05:00
> 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][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~~ [400,000 websites][builtwith].
2011-11-29 11:40:05 -08:00
2017-03-23 16:39:17 -04:00
## Table of Contents
* [Quick Start ](#quick-start )
* [Contributing ](#contributing )
* [Code of Conduct ](#code-of-conduct )
* [License ](#license )
2016-12-02 14:27:59 -05:00
## Quick Start
Thanks to the awesome folks over at [Fastly][fastly], there's a free, CDN hosted version of Video.js that anyone can use. Add these tags to your document's `<head>` :
2014-10-17 11:55:53 -07:00
```html
2017-05-11 14:16:12 -07:00
< link href = "//vjs.zencdn.net/5.19/video-js.min.css" rel = "stylesheet" >
< script src = "//vjs.zencdn.net/5.19/video.min.js" ></ script >
2014-10-17 11:55:53 -07:00
```
2017-05-11 14:16:12 -07:00
> For the latest version of video.js and URLs to use, check out the [Getting Started][getting-started] page on our website.
2016-12-02 14:27:59 -05:00
Next, using Video.js is as simple as creating a `<video>` element, but with an additional `data-setup` attribute. At a minimum, this attribute must have a value of `'{}'` , but it can include any Video.js [options][options] - just make sure it contains valid JSON!
2014-10-17 11:55:53 -07:00
```html
2016-12-02 14:27:59 -05:00
< video
id = "my-player"
class = "video-js"
controls
preload = "auto"
poster = "//vjs.zencdn.net/v/oceans.png"
data-setup = '{}' >
< source src = "//vjs.zencdn.net/v/oceans.mp4" type = "video/mp4" ></ source >
< source src = "//vjs.zencdn.net/v/oceans.webm" type = "video/webm" ></ source >
< source src = "//vjs.zencdn.net/v/oceans.ogv" type = "video/ogg" ></ source >
2014-10-17 11:55:53 -07:00
< p class = "vjs-no-js" >
2016-12-02 14:27:59 -05:00
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 >
2014-10-17 11:55:53 -07:00
</ p >
</ video >
```
2016-12-02 14:27:59 -05:00
When the page loads, Video.js will find this element and automatically setup a player in its place.
2014-10-17 11:55:53 -07:00
2016-12-02 14:27:59 -05:00
If you don't want to use automatic setup, you can leave off the `data-setup` attribute and initialize a `<video>` element manually using the `videojs` function:
2014-10-17 11:55:53 -07:00
2016-12-02 14:27:59 -05:00
```js
var player = videojs ( 'my-player' );
```
The `videojs` function also accepts an `options` object and a callback to be invoked
when the player is ready:
```js
var options = {};
var player = videojs ( 'my-player' , options , function onPlayerReady () {
videojs . log ( 'Your player is ready!' );
// In this context, `this` is the player that was created by Video.js.
this . play ();
2014-10-17 11:55:53 -07:00
// How about an event listener?
this . on ( 'ended' , function () {
2016-12-02 14:27:59 -05:00
videojs . log ( 'Awww...over so soon?!' );
2014-10-17 11:55:53 -07:00
});
});
```
2016-12-02 14:27:59 -05:00
If you're ready to dive in, the [Getting Started][getting-started] page and [documentation][docs] are the best places to go for more information. If you get stuck, head over to our [Slack channel][slack-link]!
2013-01-25 15:22:14 -08:00
2013-02-25 17:13:58 -05:00
## Contributing
2016-12-02 14:27:59 -05:00
Video.js is a free and open source library, and we appreciate any help you're willing to give - whether it's fixing bugs, improving documentation, or suggesting new features. Check out the [contributing guide][contributing] for more!
2013-04-28 17:35:21 -07:00
2016-12-02 14:27:59 -05:00
_Video.js uses [BrowserStack][browserstack] for compatibility testing._
2017-03-23 16:39:17 -04:00
## [Code of Conduct][coc]
Please note that this project is released with a [Contributor Code of Conduct][coc]. By participating in this project you agree to abide by its terms.
2016-12-02 14:27:59 -05:00
## [License][license]
Video.js is [licensed][license] under the Apache License, Version 2.0.
[browserstack]: https://browserstack.com
2016-12-20 16:55:59 -05:00
[builtwith]: https://trends.builtwith.com/media/VideoJS
2016-12-02 14:27:59 -05:00
[contributing]: CONTRIBUTING.md
2016-12-20 16:55:59 -05:00
2016-12-02 14:27:59 -05:00
[coveralls-icon]: https://coveralls.io/repos/github/videojs/video.js/badge.svg?branch=master
2016-12-20 16:55:59 -05:00
2016-12-02 14:27:59 -05:00
[coveralls-link]: https://coveralls.io/github/videojs/video.js?branch=master
2016-12-20 16:55:59 -05:00
2016-12-02 14:27:59 -05:00
[docs]: http://docs.videojs.com
2016-12-20 16:55:59 -05:00
2016-12-02 14:27:59 -05:00
[fastly]: http://www.fastly.com/
2016-12-20 16:55:59 -05:00
2016-12-02 14:27:59 -05:00
[getting-started]: http://videojs.com/getting-started/
2016-12-20 16:55:59 -05:00
2016-12-02 14:27:59 -05:00
[license]: LICENSE
2016-12-20 16:55:59 -05:00
2016-12-02 14:27:59 -05:00
[logo]: http://videojs.com/img/logo.png
2016-12-20 16:55:59 -05:00
2016-12-02 14:27:59 -05:00
[npm-icon]: https://nodei.co/npm/video.js.png?downloads=true&downloadRank=true
2016-12-20 16:55:59 -05:00
2016-12-02 14:27:59 -05:00
[npm-link]: https://nodei.co/npm/video.js/
2016-12-20 16:55:59 -05:00
[options]: docs/guides/options.md
2016-12-02 14:27:59 -05:00
[plugins]: http://videojs.com/plugins/
2016-12-20 16:55:59 -05:00
2016-12-02 14:27:59 -05:00
[slack-icon]: http://slack.videojs.com/badge.svg
2016-12-20 16:55:59 -05:00
2016-12-02 14:27:59 -05:00
[slack-link]: http://slack.videojs.com
2016-12-20 16:55:59 -05:00
2016-12-02 14:27:59 -05:00
[travis-icon]: https://travis-ci.org/videojs/video.js.svg?branch=master
2016-12-20 16:55:59 -05:00
2016-12-02 14:27:59 -05:00
[travis-link]: https://travis-ci.org/videojs/video.js
2016-12-20 16:55:59 -05:00
2016-12-02 14:27:59 -05:00
[vjs]: http://videojs.com
2017-03-23 16:39:17 -04:00
[coc]: CODE_OF_CONDUCT.md