UNPKG

silvermine-videojs-quality-selector

Version:

video.js plugin for selecting a video quality or resolution

144 lines (104 loc) 4.31 kB
# Silvermine VideoJS Quality/Resolution Selector [![Build Status](https://travis-ci.org/silvermine/videojs-quality-selector.svg?branch=master)](https://travis-ci.org/silvermine/videojs-quality-selector) [![Coverage Status](https://coveralls.io/repos/github/silvermine/videojs-quality-selector/badge.svg?branch=master)](https://coveralls.io/github/silvermine/videojs-quality-selector?branch=master) [![Dependency Status](https://david-dm.org/silvermine/videojs-quality-selector.svg)](https://david-dm.org/silvermine/videojs-quality-selector) [![Dev Dependency Status](https://david-dm.org/silvermine/videojs-quality-selector/dev-status.svg)](https://david-dm.org/silvermine/videojs-quality-selector?type=dev) ## What is it? A plugin for [videojs](http://videojs.com/) versions 6+ that adds a button to the control bar which will allow the user to choose from available video qualities or resolutions. ## How do I use it? There are three primary steps to use this plug-in: [(1) including](#includingrequiring), [(2) providing sources](#providing-video-sources), and [(3) adding the component the to `controlBar`](#adding-to-the-player). Please see the following for information on each step. ### Including/Requiring #### Using `<script>` tag The minified JS file can come from a downloaded copy or a CDN. When including it, make sure that the `<script>` tag for the plugin appears _after_ the include for [video.js](http://videojs.com/) (note that this plugin will look for `videojs` at `window.videojs`). There is an example of this in [`docs/demo/index.html`](./docs/demo/index.html). ##### From local file: ```js <script src="./path/to/video.min.js"></script> <script src="./path/to/silvermine-videojs-quality-selector.min.js"></script> ``` ##### From [`unpkg`](https://unpkg.com/silvermine-videojs-quality-selector/): ```js <script src="./path/to/video.min.js"></script> <script src="https://unpkg.com/silvermine-videojs-quality-selector/dist/js/silvermine-videojs-quality-selector.min.js"></script> ``` #### Using `require` When using NPM/Browserify, first install the plugin. ``` npm install --save silvermine-videojs-quality-selector ``` For `videojs` to use the plug-in, the plugin needs to register itself with the instance of `videojs`. This can be accomplished by: ```js var videojs = require('videojs'); // The following registers the plugin with `videojs` require('silvermine-videojs-quality-selector')(videojs); ``` ### Providing video sources Sources can be provided with either the `<source>` tag or via the `src` function on the instance of a `video.js` player. #### Using `<source>` ```html <video id="video_1" class="video-js vjs-default-skin" controls preload="auto" width="640" height="268" data-setup='{}'> <source src="https://example.com/video_720.mp4" type="video/mp4" label="720P"> <source src="https://example.com/video_480.mp4" type="video/mp4" label="480P" selected="true"> <source src="https://example.com/video_360.mp4" type="video/mp4" label="360P"> </video> ``` #### Using `player.src()` ```js player.src([ { src: 'https://example.com/video_720.mp4', type: 'video/mp4', label: '720P', }, { src: 'https://example.com/video_480.mp4', type: 'video/mp4', label: '480P', selected: true, }, { src: 'https://example.com/video_360.mp4', type: 'video/mp4', label: '360P', }, ]); ``` ### Adding to the player There are at least two ways to add the quality selector control to the player's control bar. The first is directly adding it via `addChild`. For example: ``` player.controlBar.addChild('QualitySelector'); ``` The second option is to add the control via the player's options, for instance: ``` var options, player; options = { controlBar: { children: [ 'playToggle', 'progressControl', 'volumePanel', 'qualitySelector', 'fullscreenToggle', ], }, }; player = videojs('video_1', options); ``` ## How do I contribute? We genuinely appreciate external contributions. See [our extensive documentation](https://github.com/silvermine/silvermine-info#contributing) on how to contribute. ## License This software is released under the MIT license. See [the license file](LICENSE) for more details.