Skip to content
This repository has been archived by the owner on Dec 12, 2024. It is now read-only.

VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-select able level selection options for adaptive http streams.

License

Notifications You must be signed in to change notification settings

FreeTubeApp/videojs-http-source-selector

 
 

Repository files navigation

videojs-http-source-selector

VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-selectable level selection options for adaptive http streams.

Alt text

Test it with your stream

Fork this project, download it and then open Index.html in your browser Compatible with vjs 7 and up.

Labels:

Level labels are generated from the height and bitrate metadata parsed from the stream QualityLevels sources. If height isn't available in the stream metadata, the labels will default to bitrate.

Default settings:

You can configure a bias to lock playback to the highest or lowest resolution by default by passing one of the below plugin options into your videojs initializer.

Low:

httpSourceSelector:
{
  default: 'low'
}

High:

httpSourceSelector:
{
  default: 'high'
}

Auto:

httpSourceSelector:
{
  default: 'auto'
}

Installation

npm install --save videojs-contrib-quality-levels
npm install --save videojs-http-source-selector

Dependencies

Requires videojs-contrib-quality-levels

Usage

To include videojs-http-source-selector on your website or web application, use any of the following methods.

<script> Tag

This is the simplest case. Get the script in whatever way you prefer and include the plugin after you include video.js, so that the videojs global is available. You can configure the plugin with the options described above.

<script src="//path/to/video.min.js"></script>
<script src="//path/to/videojs-http-source-selector.min.js"></script>
<script src="//path/to/videojs-contrib-quality-levels.min.js"></script>
<script>
  var options = 
  {
    plugins: {
      httpSourceSelector:
      {
        default: 'auto'
      }
    }
  };
  var player = videojs('my-video', options);
  player.httpSourceSelector();
</script>

Browserify/CommonJS

When using with Browserify, install videojs-http-source-selector via npm and require the plugin as you would any other module.

var videojs = require('video.js');
require('videojs-contrib-quality-levels');

// The actual plugin function is exported by this module, but it is also
// attached to the `Player.prototype`; so, there is no need to assign it
// to a variable.
require('videojs-http-source-selector');

var player = videojs('my-video');

player.httpSourceSelector();

RequireJS/AMD

When using with RequireJS (or another AMD library), get the script in whatever way you prefer and require the plugin as you normally would:

require(['video.js', 'videojs-contrib-quality-levels', 'videojs-http-source-selector'], function(videojs) {
  var player = videojs('my-video');

  player.httpSourceSelector();
});

License

MIT. Copyright (c) Justin Fujita;

About

VideoJS plugin that leverages videojs-contrib-quality-levels plugin to offer manual user-select able level selection options for adaptive http streams.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 62.3%
  • HTML 36.5%
  • SCSS 1.2%