Video quality switcher

Code Setup

<!--Head tag CSS-->
<link href="../videojs/skins/nuevo/videojs.min.css" rel="stylesheet" type="text/css" />

<!--Load player and Nuevo plugin-->
<script type="text/javascript" src="../videojs/video.min.js"></script>
<script type="text/javascript" src="../videojs/skins/nuevo/nuevo.min.js"></script>

<!--Multiple reslolution video on page setup-->
<video id="player_1" class="video-js vjs-fluid vjs-default-skin" controls preload playsinline poster="images/poster.jpg">
	<source src="//devnuevo.com/media/video/demo_240.mp4" res="240" label="240p" type="video/mp4">
	<source src="//devnuevo.com/media/video/demo_360.mp4" res="360" label="360p" type="video/mp4">
	<source src="//devnuevo.com/media/video/demo_480.mp4" res="480" label="480p" default type="video/mp4">
	<source src="//devnuevo.com/media/video/demo_720.mp4" res="720" label="720p" type="video/mp4">
</video>

<!--Initialize player and plugin-->
<script>
	var player = videojs('player_1');
	player.nuevo({ 
		//option1: value,
		//option2: value
	});
</script>

SD/HD Quality Switcher

Media sources Setup



<!--Setup SD/HD video tag-->
<video id="player_2" class="video-js vjs-fluid vjs-default-skin" controls preload playsinline poster="images/poster.jpg">
	<source src="//devnuevo.com/media/video/demo_720.mp4" res="HD" label="HD" type="video/mp4">
	<source src="//devnuevo.com/media/video/demo_360.mp4" res="SD" label="SD" type="video/mp4 default">
</video>
</script>

Settings Menu quality switcher

Media sources and Player Code Setup

<!--Multiple reslolution video on page setup-->
<video id="player_3" class="video-js vjs-fluid vjs-default-skin" controls preload playsinline poster="images/poster.jpg">
	<source src="//devnuevo.com/media/video/demo_240.mp4" res="240" label="240p" type="video/mp4">
	<source src="//devnuevo.com/media/video/demo_360.mp4" res="360" label="360p" type="video/mp4">
	<source src="//devnuevo.com/media/video/demo_480.mp4" res="480" label="480p" default type="video/mp4">
	<source src="//devnuevo.com/media/video/demo_720.mp4" res="720" label="720p" type="video/mp4">
</video>

<!--Initialize player and plugin with quality Settings menu-->
<script>
	var player = videojs('player_3');
	player.nuevo({ 
		qualityMenu: true
	});
</script>

For HLS and MPEG-DASH streams quality switcher appears automatically if only multiple variants of media defined in playlist file.
Android device requires to override HLS native playback. Check https://www.nuevodevel.com/nuevo/showcase/hls for details.

iOS is missing Media Source Extension, use only native HLS streaming and does not allow to manipulate stream quality manually. iOS does not support MPEG DASH type of streaming at all.