{"id":28490980,"url":"https://github.com/videojs/videojs-contrib-quality-menu","last_synced_at":"2025-07-07T18:31:03.787Z","repository":{"id":223035186,"uuid":"758608080","full_name":"videojs/videojs-contrib-quality-menu","owner":"videojs","description":"Adds a quality selector button to the Video.js control bar for Video.js 8+","archived":false,"fork":false,"pushed_at":"2025-04-15T09:11:06.000Z","size":294,"stargazers_count":6,"open_issues_count":7,"forks_count":5,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-06-08T07:44:11.998Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/videojs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-02-16T17:23:30.000Z","updated_at":"2025-04-29T19:19:25.000Z","dependencies_parsed_at":"2024-03-25T15:04:36.366Z","dependency_job_id":"30555de3-ccce-443b-944f-72099b08cdb9","html_url":"https://github.com/videojs/videojs-contrib-quality-menu","commit_stats":null,"previous_names":["videojs/videojs-contrib-quality-menu"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/videojs/videojs-contrib-quality-menu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/videojs%2Fvideojs-contrib-quality-menu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/videojs%2Fvideojs-contrib-quality-menu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/videojs%2Fvideojs-contrib-quality-menu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/videojs%2Fvideojs-contrib-quality-menu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/videojs","download_url":"https://codeload.github.com/videojs/videojs-contrib-quality-menu/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/videojs%2Fvideojs-contrib-quality-menu/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264130494,"owners_count":23562038,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-08T07:30:59.054Z","updated_at":"2025-07-07T18:31:03.781Z","avatar_url":"https://github.com/videojs.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# videojs-contrib-quality-menu\n\nQuality Selection Menu UI\n\nvideojs-contrib-quality-menu provides a menu button the the player's control bar which allows you to manually select the playback quality in HLS or Dash sources. If resolution information is available on all renditions, the UI will display quality options by the lines of horizontal resolution (e.g. 360p, 480p, 720p, 1080p). If resolution information is not available, it will fallback to show options `SD` and `HD` for Standard Definition and High Definition respectively. The plugin will use bitrate information for each rendition to determine whether it is SD or HD, using a configurable dividing line.\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n\n- [Installation](#installation)\n- [Options](#options)\n  - [`defaultResolution`](#defaultresolution)\n  - [`sdBitrateLimit`](#sdbitratelimit)\n  - [`useResolutionLabels`](#useresolutionlabels)\n  - [`resolutionLabelBitrates`](#resolutionlabelbitrates)\n- [Usage](#usage)\n  - [`\u003cscript\u003e` Tag](#script-tag)\n  - [Browserify](#browserify)\n  - [RequireJS/AMD](#requirejsamd)\n- [License](#license)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n## Installation\n\n```sh\nnpm install --save videojs-contrib-quality-menu\n```\n\n## Options\n\n### `defaultResolution`\n\u003e Type: `String`, Default: `none`\n\nDefines the default resolution or resolution mapping to use. Pass it either the horizontal resolution or `SD`/`HD`\n\n### `sdBitrateLimit`\n\n\u003e Type: `Number`, Default: `2000000`\n\nDefines the upper bitrate limit (exclusive) for considering a rendition `SD`.\n\n### `useResolutionLabels`\n\n\u003e Type: `boolean` Default: `true`\n\nWhen `true`, the plugin will attempt to categorize renditions by lines of horizontal resolution when available. Set to `false` to always use `SD`/`HD` categorization.\n\n### `resolutionLabelBitrates`\n\n\u003e Type: `boolean` Default: `false`\n\nWhen `true`, the plugin will attach bitrate information to the resolution labels (e.g. `720p @ 13806 kbps`). This option has no effect when `useResolutionLabels` is `false` or when resolution information is unavailable.\n\n## Usage\n\nTo include videojs-contrib-quality-menu on your website or web application, use any of the following methods.\n\n### `\u003cscript\u003e` Tag\n\nThis is the simplest case. Get the script in whatever way you prefer and include the plugin _after_ you include [video.js][videojs], so that the `videojs` global is available.\n\n```html\n\u003cscript src=\"//path/to/video.min.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"//path/to/videojs-contrib-quality-menu.min.js\"\u003e\u003c/script\u003e\n\u003cscript\u003e\n  var player = videojs('my-video');\n\n  player.qualityMenu();\n\u003c/script\u003e\n```\n\n### Browserify\n\nWhen using with Browserify, install videojs-contrib-quality-menu via npm and `require` the plugin as you would any other module.\n\n```js\nvar videojs = require('video.js');\n\n// The actual plugin function is exported by this module, but it is also\n// attached to the `Player.prototype`; so, there is no need to assign it\n// to a variable.\nrequire('videojs-contrib-quality-menu');\n\nvar player = videojs('my-video');\n\nplayer.qualityMenu();\n```\n\n### RequireJS/AMD\n\nWhen using with RequireJS (or another AMD library), get the script in whatever way you prefer and `require` the plugin as you normally would:\n\n```js\nrequire(['video.js', 'videojs-contrib-quality-menu'], function(videojs) {\n  var player = videojs('my-video');\n\n  player.qualityMenu();\n});\n```\n\n## License\n\n[Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0). Copyright (c) Brightcove, Inc\n\n\n[videojs]: http://videojs.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvideojs%2Fvideojs-contrib-quality-menu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvideojs%2Fvideojs-contrib-quality-menu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvideojs%2Fvideojs-contrib-quality-menu/lists"}