Video.js中m3u8视频清晰度切换

2024-03-13 04:18

本文主要是介绍Video.js中m3u8视频清晰度切换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文地址:http://blog.csdn.net/chenyongtu110/article/details/77181081

完成测试代码 

<!DOCTYPE HTML>  
<html>  
<head>  <meta http-equiv="content-type" content="text/html; charset=utf-8" />  <title>视频控制</title>  <link href="https://unpkg.com/video.js/dist/video-js.css" rel="stylesheet">  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" type="text/javascript"></script>  <script src="https://unpkg.com/video.js/dist/video.js"></script>  <script src="https://unpkg.com/videojs-contrib-hls/dist/videojs-contrib-hls.js"></script>  
</head>  <body>  <video id="my_video_1" class="video-js vjs-default-skin" controls preload="auto" width="640" height="268"   data-setup='{}'>  <source src="http://localhost/video/c/1928.m3u8" type="application/x-mpegURL">  </video>  
<br/>  </body>  <script type="text/javascript">  window.οnlοad=function(){  var videoPanelMenu = $(".vjs-fullscreen-control");  videoPanelMenu.before('<div class="vjs-subs-caps-button  vjs-menu-button vjs-menu-button-popup vjs-control vjs-button"  aria-live="polite" aria-expanded="false" aria-haspopup="true">'  + '<div class="vjs-menu" role="presentation">'  + '<ul class="vjs-menu-content" role="menu">'  + '<li class="vjs-menu-item" tabindex="-1" role="menuitemcheckbox"  οnclick="changeVideo(1)">普通</li>'  + '<li class="vjs-menu-item" tabindex="-1" role="menuitemcheckbox"  οnclick="changeVideo(2)">标清 </li>'  + '<li class="vjs-menu-item" tabindex="-1" role="menuitemcheckbox"  οnclick="changeVideo(3)">高清 </li>'  + '</ul></div>'  +'  <button class="vjs-subs-caps-button vjs-control vjs-button" type="button" aria-live="polite" title="清晰度切换" aria-disabled="false">'  +'      <span aria-hidden="true" class="vjs-icon-placeholder"></span><span class="vjs-control-text">清晰度切换</span>'  +'  </button>'  +'</div>'  );  var obj={tag:false,ctime:0};  window.obj=obj;  var myPlayer=videojs.getPlayers()['my_video_1'];  myPlayer.on("timeupdate", function(){  if(window.obj.tag){  videojs("my_video_1").currentTime(window.obj.ctime)  videojs("my_video_1").play();  window.obj.tag=false;  }  //视频打点  var ctime_=videojs("my_video_1").currentTime().currentTime();  if(ctime_==60){  videojs("my_video_1").currentTime(ctime_+1);  //do something  }  });  }  function changeVideo(type){  var ctime=videojs("my_video_1").currentTime();  if(type==1){  videojs("my_video_1").src([{type: "application/x-mpegURL", src: "http://localhost/video/LD/1928.m3u8" }]);  videojs("my_video_1").play();  }  if(type==2){  videojs("my_video_1").src([{type: "application/x-mpegURL", src: "http://localhost/video/C/1928.m3u8" }]);     videojs("my_video_1").play();  }  if(type==3){  videojs("my_video_1").src([{type: "application/x-mpegURL", src: "http://localhost/video/HD/1928.m3u8" }]);    videojs("my_video_1").play();  }  window.obj.ctime=ctime;  window.obj.tag=true;  }  </script>  
</html>  

这篇关于Video.js中m3u8视频清晰度切换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/803617

相关文章

IDEA如何切换数据库版本mysql5或mysql8

《IDEA如何切换数据库版本mysql5或mysql8》本文介绍了如何将IntelliJIDEA从MySQL5切换到MySQL8的详细步骤,包括下载MySQL8、安装、配置、停止旧服务、启动新服务以及... 目录问题描述解决方案第一步第二步第三步第四步第五步总结问题描述最近想开发一个新应用,想使用mysq

Python视频处理库VidGear使用小结

《Python视频处理库VidGear使用小结》VidGear是一个高性能的Python视频处理库,本文主要介绍了Python视频处理库VidGear使用小结,文中通过示例代码介绍的非常详细,对大家的... 目录一、VidGear的安装二、VidGear的主要功能三、VidGear的使用示例四、VidGea

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

Spring Boot实现多数据源连接和切换的解决方案

《SpringBoot实现多数据源连接和切换的解决方案》文章介绍了在SpringBoot中实现多数据源连接和切换的几种方案,并详细描述了一个使用AbstractRoutingDataSource的实... 目录前言一、多数据源配置与切换方案二、实现步骤总结前言在 Spring Boot 中实现多数据源连接

使用Vue.js报错:ReferenceError: “Vue is not defined“ 的原因与解决方案

《使用Vue.js报错:ReferenceError:“Vueisnotdefined“的原因与解决方案》在前端开发中,ReferenceError:Vueisnotdefined是一个常见... 目录一、错误描述二、错误成因分析三、解决方案1. 检查 vue.js 的引入方式2. 验证 npm 安装3.

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)