HTML 5 video 标签跨浏览器兼容
<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4" poster="img/封面.jpg">
<source src="movie.ogg" type="video/ogg" poster="img/封面.jpg">
</video>
<video width="320" height="240" autoplay>
<source src="movie.mp4" type="video/mp4" poster="img/封面.jpg">
<source src="movie.ogg" type="video/ogg" poster="img/封面.jpg">
</video>
参数解释
src 视频指向地址
poster 在加载视频内容前显示的图片
controls 视频控件,方便用户自己操作媒体
autoplay 视频自动播放
source 不同浏览器支持的视频格式不一样,因此要使用多个source上传不同格式的视频
width 播放器宽度
height 播放器高度
让主流浏览器都支持video标签,可以在html中引入一个js文件:
官方网站:https://html5media.info
<script src="http://html5media.googlecode.com/svn/trunk/src/html5media.min.js"></script>
HTML5 video标签嵌入视频各个浏览器下通用:http://www.zhangxinxu.com/study/201003/html5-video-mp4.html
以下内容摘自网络:
浏览器能播放哪种格式的视频?各个浏览器不同,有专利格式的,有开源格式的。
具体支持情况如下:
专利格式mp4:Safari(iPad、Windows、Mac OS)、Chrome、IE9
开源格式webm:Firefox、Chrome、Opera
开源格式ogg:Firefox、Chrome、Opera
MP4
- Safari 3+
- Internet Explorer 9+
- Chrome (wasn’t meant to be but it certainly is!)
OGG
- Firefox 3.5+
- Chrome 3+
- Opera 10.5+
WebM
- Firefox 4+
- Chrome 6+
- Opera 10.6+
如何让视频在所有浏览器上都能播放?如何支持iPad和IE876?
HTML5 的兼容性问题是个硬伤,我们可以在网页中使用 video 来播放视频,但使用早期浏览器的访问者可能无法正常观看这个视频。此外,由于视频编码器的历史渊源导致各种浏览器支持的视频格式不同。应对这些问题,想在网页中使用 HTML5 video 功能,可以按照下面三个步骤操作。
第一步:提前准备好多格式视频文件
目前没有一个视频格式兼容所有浏览器,唯一的解决方法就是把视频转换成多种格式。
- mp4 格式的视频,可以在苹果设备中使用;
- ogv 格式的视频,用在火狐浏览器中;
- webm 格式的视频,这个可以用在谷歌浏览器;
视频转换工具国内的功能比较少,转换格式可能没有上面后两个,而且质量良莠不齐,往往需要注册才能使用。推荐一个国外的工具(需要翻墙)http://www.online-convert.com 。甚至不用安装软件,直接选择相应的目标格式,然后上传视频,配置一下参数就可以转换出来了。没有合适工具的朋友,可以尝试一下。
第二步:使用多个source上传不同格式的视频
第三步:为老旧浏览器做兼容
- 我们可以把视频上传到优酷、土豆或者爱奇艺等国内著名视频服务商,直接调用视频代码
- 在老旧版本的浏览器上使用flash视频文件
- head部分引用 <script src="http://html5media.googlecode.com/svn/trunk/src/html5media.min.js"></script>
- html5media是一个让video、audio标签在旧版IE中全面兼容的JavaScript类库,它不依赖于任何JavaScript框架。页面使用了html5media之后,当老版本的浏览器不支持HTML5时,它将会自动切换成Flash模式的flowplayer播放器尝试播放。。
- 使用VideoJS插件实现兼容 http://videojs.com
head部分:
<link href="http://vjs.zencdn.net/c/video-js.css" rel="stylesheet">
<script src="http://vjs.zencdn.net/c/video.js"></script> <!–[if lt IE 9]>
<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]–>
关于HTML 5 video 标签跨浏览器兼容问题,还需要不断的实践。
HTML 5 video 标签跨浏览器兼容的更多相关文章
- 原生js解决跨浏览器兼容问题
//跨浏览器兼容问题 Util = { //添加类名 add : function(ele,type,hand){ if(ele.addEventListener){ ele.addEventList ...
- html5\CSS3有哪些新特性、移除了哪些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分HTML和HTML5?
(1)HTML5现在已经不是SGML的子集,主要是关于图像,位置,存储,地理定位等功能的增加. 绘画canvas元素: 用于媒介回放的video和audio元素: 本地离线存储localStorage ...
- Zero Clipboard - 跨浏览器兼容的“复制到剪贴板”功能
开发中经常会用到复制的功能,在 IE 下实现比较简单,但要想做到跨浏览器比较困难了. 本文将介绍一个跨浏览器的库类 Zero Clipboard ,它利用 Flash 进行复制,所以只要浏览器装有 F ...
- 转载于山边小溪的博客--编写跨浏览器兼容的 CSS 代码的金科玉律
http://www.cnblogs.com/lhb25/archive/2010/06/19/1760786.html 原始网页 作为 Web 设计师,你的网站在各种浏览器中有完全一样的表现是很 ...
- 跨浏览器兼容的HTML5视频音频播放器
HTML5的video和audio标签是用来在网页中加入视频和音频的标签,在支持html5的浏览器中不需要预先加载Adobe Flash浏览器插件就能轻松快速的播放视频和音频文件.而html5medi ...
- 【HTML5】如何处理HTML5新标签的浏览器兼容版问题
HTML5规范毕竟是刚刚才定义完成的规范,还有一些浏览器并不能支持其中的新标签和新属性,尤其是IE8及以下版本浏览器.以下介绍一些在页面中使用HTML5新标签的实践方法,目的是让HTML5中的新标签在 ...
- html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?
* HTML5 现在已经不是 SGML(标准通用标记语言,是一种定义电子文档结构和描述其内容的国际标准语言) 的子集,主要是关于图像,位置,存储,多任务等功能的增加. * 拖拽释放(Drag an ...
- HTML5 的新特性以及新标签的浏览器兼容问题
新特性: HTML5 现在已经不是 SGML 的子集,主要是关于图像,位置,存储,多任务等功能的增加. 1) 拖拽释放(Drag and drop) API 2) 语义化更好的内容标签(heade ...
- 通过JS加载XML文件,跨浏览器兼容
引言 通过JS加载XML文件,跨多种浏览器兼容. 在Chrome中,没有load方法,需要特殊处理! 解决方案 部分代码 try //Internet Explorer { xmlDoc=new Ac ...
随机推荐
- 翻译《Writing Idiomatic Python》(三):变量、字符串、列表
原书参考:http://www.jeffknupp.com/blog/2012/10/04/writing-idiomatic-python/ 上一篇:翻译<Writing Idiomatic ...
- 北理工c语言期末考试
1 给定一个区间,输出其中前半部分数字之和等于后半部分数字之和的数,没有则输出No output.(15分) 题目内容: 给定一个区间,输出其中前半部分数字之和等于后半部分数字之和的数,没有则输出No ...
- AC日记——配对碱基链 openjudge 1.7 07
07:配对碱基链 总时间限制: 1000ms 内存限制: 65536kB 描述 脱氧核糖核酸(DNA)由两条互补的碱基链以双螺旋的方式结合而成.而构成DNA的碱基共有4种,分别为腺瞟呤(A).鸟嘌 ...
- Unity自动构建
Jenkins/Hudson Jenkins的前身是Hudson(Sun开发),2010年从Hudson分支出来.由于Sun被Oracle收购,Oracle声称拥有Hudson的商标所有权,Hudso ...
- u3d_shader_surface_shader_4
Rim Lighting 轮廓自发光 一:疑问:1.总感觉在编辑器Scene状态下,脚本计算的ViewDir是我漫游的Cam,而不是项目中的MainCam啊! 然后就会造成Scene状态下轮廓自发光 ...
- 如何配置QuickFIX/N
Acceptor或者Initiator能够为您维护尽可能多的FIX会话,因而FIX会话标识的唯一性非常重要.在QuickFIX/N中,一个FIX会话的唯一标识是由:BeginString(FIX版本号 ...
- 使用exp进行SQL报错注入
0x01 前言概述 好消息好消息-作者又在MySQL中发现了一个Double型数据溢出.如果你想了解利用溢出来注出数据,你可以读一下作者之前发的博文:BIGINT Overflow Error bas ...
- iOS多线程之NSOperation详解
使用NSOperation和NSOperationQueue进行多线程开发,只要将一个NSOperation(实际开发中需要使用其子类 NSInvocationOperation,NSBlockOpe ...
- Net中HttpClient 重试
/// <summary> /// 重试 /// </summary> public class RetryHandler : ...
- python执行linux shell管道输出内容
干净不留痕,用过都说好. echo "print 1+1" |python