一个好用的html视频播放器兼容主流浏览器

高洛峰
发布: 2017-03-10 13:20:52
原创
8217人浏览过

最近工作上的需求需要对移动客户端上发送的视频在网页上播放,and 上传视频并在网页上播放(例如上传教学视频或者动态分享等)(博主碎碎念:移动客户端上传的你不会用手机的播放器看啊,网页上上传你不会上传到youku或者youtube等各大知名网站上上传然后在自己的网站上直接引用链接啊,还不占服务器带宽,经济又实惠有木有!!!)。 

多媒体的上传和一般的文件上传也没什么区别,这边就不多加赘述了,不了解的可以到http://www.php.cn/php/php-file-upload.html这边了解一下。 

视频截图是在服务端做的,还是使用ffmpeg,目前还是很稳定。 

开始的时候想仿照下youku这种专业的视频网站,发现他们都是flash实现的,可是博主对flash七窍通了六窍--一窍不通(呵呵呵呵。。),再加上貌似youtube都开始其他尝试了,所以果断就放弃在这方面的探索。 

在投入google的怀抱半天后,终于赶脚貌似html5的video标签是个好东西,可惜就是兼容性差了点,不过html5毕竟是趋势,所以果断还是在这方面下功夫了。(博主碎碎念:播放一个视频只要一个标签就全搞定了,不用他以为我傻啊。。呵呵呵呵) 

花费了1个小时的搜索,发现在http://www.php.cn/html/html-html_videos.html这里提供了一种解决方法: 

代码如下:

<video width="320" height="240" controls="controls"> 
<source src="movie.mp4" type="video/mp4" /> 
<source src="movie.ogg" type="video/ogg" /> 
<source src="movie.webm" type="video/webm" /> 
<object data="movie.mp4" width="320" height="240"> 
<embed src="movie.swf" width="320" height="240" /> 
</object> 
</video>
登录后复制

目测这种方式应该可以兼容一大部分情况了。 

可是我们无法阻止用户上传的视频格式,也无法左右用户使用的浏览器类型,而且用户只会上传一种视频格式,但是各个浏览支持的视频的格式不一致(万恶的浏览器。。),基于此种想法,要是有一个可以兼容所有浏览器所有视频格式而又外表美观可控性强的插件该多好啊。理想是美好的现实是骨感的。不过通过长时间的google还是发现了一个可以让主流浏览器兼容vedio标签的js插件http://html5media.googlecode.com/svn/trunk/src/html5media.min.js
在web上播放视频还可以使用两种方式 内联视频(借助img标签,好奇怪只有ie支持这种模式而且一般不开启) 和 使用助手。所以我们可以借助一些助手来实现上面不支持的类型视频文件的播放(例如:quicktime) 

综合以上两点的视频播放代码如下: 

标贝AI虚拟主播
标贝AI虚拟主播

一站式虚拟主播视频生产和编辑平台

标贝AI虚拟主播 15
查看详情 标贝AI虚拟主播

代码如下:

function showVideo(o,s,w, h, t){ //t文件格式 
var _html = ''; 
if($.inArray(t, ['ogg', 'mp4', 'webm']) >= 0){ //html5 surport 
var _doc=document.getElementsByTagName('head')[0]; 
var script=document.createElement('script'); 
script.setAttribute('type','text/javascript'); 
script.setAttribute('src','http://html5media.googlecode.com/svn/trunk/src/html5media.min.js'); 
_doc.appendChild(script); 
script.onload=script.onreadystatechange=function(){ 
if(!this.readyState||this.readyState=='loaded'||this.readyState=='complete'){ 
_html = '<video src="'+s+'" width="'+w+'" height="'+h+'" controls autobuffer >'; 
_html += '</video>'; 
$(o).css({"width":w+'px', 'height':h+'px', 'cursor':'default'}); 
$(o).html(_html); 
} 
script.onload=script.onreadystatechange=null; 
} 
}else{ //other like 3gp 
_html += '<object width="'+w+'" height="'+h+'" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab">'; 
_html += '<param name="src" value="'+s+'">'; 
_html += '<param name="controller" value="true">'; 
_html += '<param name="type" value="video/quicktime">'; 
_html += '<param name="autoplay" value="false">'; 
_html += '<param name="target" value="myself">'; 
_html += '<param name="bgcolor" value="black">'; 
_html += '<param name="pluginspage" value="http://www.apple.com/quicktime/download/index.html">'; 
_html += '<embed src="'+s+'" width="'+w+'" height="'+h+'" controller="true" autoplay="false" align="middle" bgcolor="black" target="myself" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/index.html"></embed>'; 
_html += '</object>'; 
$(o).css({"width":w+'px', 'height':h+'px', 'cursor':'default'}); 
$(o).html(_html); 
} 
}
登录后复制


以上就是一个好用的html视频播放器兼容主流浏览器的详细内容,更多请关注php中文网其它相关文章!

PotPlayer播放器
PotPlayer播放器

potplayer是一款功能全面的视频播放器,支持各种格式的音频文件,内置了非常强大的解码器功能,能够非常流畅的观看,有需要的小伙伴快来保存下载体验吧!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号