videojs
<link href="http://vjs.zencdn.net/5.5.3/video-js.css" rel="stylesheet">
<script src="http://vjs.zencdn.net/5.5.3/video.js"></script>
<!-- If you'd like to support IE8 -->
<script src="http://vjs.zencdn.net/ie8/1.1.1/videojs-ie8.min.js"></script> <video id="roomVideo" class="video-js" controls preload="auto" width="100%" height="100%" class="vjs-big-play-centered">
<source src="${RTMPUrl }" type="rtmp/flv">
<p class="vjs-no-js">播放视频需要启用 JavaScript,推荐使用支持HTML5的浏览器访问。</p>
</video> <script type="text/javascript">
document.getElementById("roomVideo").style.height= window.innerHeight +"px";
document.getElementById("roomVideo").style.width= window.innerWidth +"px"; var options = {
techOrder : ["html5","flash"],
//autoplay:true, //是否自动播放
bigPlayButton:false, //是否显示播放按钮
controls:true, //是否用显示控制条
textTrackDisplay:false,
posterImage:false,
errorDisplay:false,
control:{
captionsButton:false,
chaptersButton:false,
subtitlesButton:false,
liveDisplay:false,
playbackRateMenuButton:false
},
controlBar: {
muteToggle:false,
ProgressControl:false
}
};
var player = videojs('roomVideo', options, function onPlayerReady() {
videojs.log('播放器已经准备好了!');
player.play();
startVideo(); this.on('ended', function() {
console.log('播放结束了!');
}); }); var isVideoBreak;
function startVideo() {
//判断开始播放视频,移除高斯模糊等待层
/*var isVideoPlaying = setInterval(function(){
var currentTime = player.currentTime();
if(currentTime > 0){
$('.vjs-poster').remove();
clearInterval(isVideoPlaying);
}
},200)*/ //判断视频是否卡住,卡主3s重新load视频
var lastTime = -1,
tryTimes = 0; clearInterval(isVideoBreak);
isVideoBreak = setInterval(function(){
var currentTime = player.currentTime();
if(currentTime == lastTime){
//此时视频已卡主3s
//设置当前播放时间为超时时间,此时videojs会在play()后把currentTime设置为0
player.currentTime(currentTime+10000);
player.play(); //尝试5次播放后,如仍未播放成功提示刷新
if(++tryTimes > 5){
//dialog('提示',"您的网速有点慢,刷新下试试",1);
window.location.reload();
tryTimes = 0;
}
}else{
lastTime = currentTime;
tryTimes = 0;
}
},3000)
} </script> ${HLSUrl } <br/>
${RTMPUrl } <br/>
${HDLUrl } <br/>
videojs的更多相关文章
- 一款开源免费跨浏览器的视频播放器--videojs使用介绍
最近项目中的视频功能,需要做到浏览器全兼容,所以之前用html5实现的视频功能就需要进行改造了.在网上翻了个遍,试来试去,在所有的视频播放器中,就数它最实际了.首先我们来看看它的优点: 1.它是开源免 ...
- 一款全兼容的播放器 videojs
[官网]http://www.videojs.com/ videojs就提供了这样一套解决方案,他是一个兼容HTML5的视频播放工具,早期版本兼容所有浏览器,方法是:提供三个后缀名的视频,并在不支持h ...
- 如何使用videojs兼容IE8浏览器
需要在服务器下运行 首先我们需要下载videojs包 https://github.com/videojs/video.js/releases 这里简单写了一个小栗子 <!DOCTYPE htm ...
- videojs 动态加载视频
VideoJS dynamic source change via RESTful API 'Undefined' issue with changing RTMP source on compres ...
- 基于Html5的兼容所有主流浏览器的在线视频播放器videoJs
在一个新的项目上需要实现在线视频播放,原本打算借助优酷的视频存储和播放,但是发现这个需要用户注册优酷账户,严重影响用户体验,于是这个方案被毙掉了.于是开始了自己开发一个在线播放器的想法,当然尽量使用已 ...
- 一个非常给力的播放器video-js
video-js采用的是html5播放器. 在不支持html5的浏览器会自动切换成flash. video-js的官网http://www.videojs.com/ 看看下载的demo就知道个大概了. ...
- videojs 视频开发API
videojs就提供了这样一套解决方案,他是一个兼容html5的视频播放工具,早期版本兼容所有浏览器,方法是:提供三个后缀名的视频,并在不支持html5的浏览器下生成一个flash的版本. 最新的3. ...
- videojs设置播放点
videojs提供了currentTime的函数可以设置当前的播放时间,但是在实际运用当中出现了问题 var vid1 = videojs('vid1'); vid1.src('http://vide ...
- Videojs视频插件在React中的应用
1.介绍video.js视频插件 1.1 简单介绍 Video.js是一个通用的在网页上嵌入视频播放器的JS库,支持电脑端和移动端.Video.js自动检测浏览器对Html5的支持情况,如果不支持Ht ...
- 免费视频播放器videojs中文教程
Video.js是一款web视频播放器,支持html5和flash两种播放方式.更多关于video.js的介绍,可以访问官方网站介绍,我之前也写过一篇关于video.js的使用心得,有兴趣的可以点这里 ...
随机推荐
- 如何配置MYSQL的MASTER---SLAVE复制备份?
如何配置MYSQL的MASTER---SLAVE复制备份? 一.配置一个mysql服务器做master: 在配置文件my.ini中添加如下内容: log-bin=matster-binlog- ...
- Semaphore and SemaphoreSlim
https://msdn.microsoft.com/en-us/library/z6zx288a(v=vs.110).aspx The System.Threading.Semaphore clas ...
- YTU 2506: 切面条
2506: 切面条 时间限制: 1 Sec 内存限制: 128 MB 提交: 382 解决: 223 题目描述 一根高筋拉面,中间切一刀,可以得到2根面条. 如果先对折1次,中间切一刀, ...
- leetcode 784. Letter Case Permutation——所有BFS和DFS的题目本质上都可以抽象为tree,这样方便你写代码
Given a string S, we can transform every letter individually to be lowercase or uppercase to create ...
- MySQL 基础 —— 数据类型、各种变量
1. 基本数据类型 char:prod_id char(10),括号内的内容表示字符的长度 decimal:十进制,不带参数为整数(四舍五入) text:文本类型,长度不限 2. 日期和时间处理函数 ...
- RDA Kconfig介绍 ***
安装显示库: sudo apt-get install libncurses5-dev libncursesw5-dev 执行相关文件: 1.radisson.Kconfig 2.gen_radiss ...
- jQuery——表单应用(2)
多行文本框应用之高度变化 HTML: <!--表单-多行文本框应用-高度变化--> <!DOCTYPE html> <html> <head> < ...
- python2 'str' object has no attribute 'decode'
'.decode('hex') 上述代码,报错: 'str' object has no attribute 'decode' 查找原因: https://stackoverflow.com/ques ...
- RabbitMQ二:AMQP协议
参考这个:http://kb.cnblogs.com/page/73759/ 参考这个:http://www.cnblogs.com/charlesblc/p/6286875.html 写的挺好 Ra ...
- 构建一个.net的干货类库,以便于快速的开发 - 工具类
相信每一个开发的框架都会有一个工具类,工具类的作用有很多,通常我会将最常用的方法放在工具类里 取得用户IP 取得网站根目录的物理路径 枚举相关 非法关键字检查 绝对路径改为相对路径 获取小数位(四舍五 ...