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 ...
随机推荐
- AC日记——字符串最大跨距 openjudge 1.7 26
26:字符串最大跨距 总时间限制: 1000ms 内存限制: 65536kB 描述 有三个字符串S,S1,S2,其中,S长度不超过300,S1和S2的长度不超过10.想检测S1和S2是否同时在S中 ...
- 搞netty
开始搞netty了 查了下资料 在使用NIO 的时候,最好不要配置 SO_LINGER,假设设置了该參数,在 close的时候如缓冲区有数据待写出,会抛出 IOException. // 在netty ...
- [No00005D]如何高效利用GitHub
原文地址:http://www.yangzhiping.com/tech/github.html 正是Github,让社会化编程成为现实.本文尝试谈谈GitHub的文化.技巧与影响. Q1:GitHu ...
- 十种MySQL报错注入
1.floor() select * from test where id=1 and (select 1 from (select count(*),concat(user(),floor(rand ...
- iOS多线程之GCD详解
GCD(Grand Central Dispatch)是基于C语言开发的一套多线程开发机制.也是目前苹果官方推荐的多线程开发方法.iOS三种多线程开发中GCD是抽象层次最高的.当然用起来也是最简单的. ...
- mac系统使用内置的 PHP
从 OS X 10.0.0 版本开始,PHP 作为 Mac 机的标准配置被提供.在默认的 web 服务器中启用 PHP,只需将 Apache 配置文件 httpd.conf 中的几行配置指令最前面的注 ...
- swift中第三方网络请求库Alamofire的安装与使用
swift中第三方网络请求库Alamofire的安装与使用 Alamofire是swift中一个比较流行的网络请求库:https://github.com/Alamofire/Alamofire.下面 ...
- Hilbert-Huang Transform: matlab 希尔伯特-黄变换: matlab实现
关于Hilbert-Huang的matlab实现,材料汇总,比较杂...感谢所有网络上的贡献者们:) 核心:以下代码计算HHT边际谱及其对应频率 工具包要求:G-Rilling EMD Toolbox ...
- MVC3.0 上传图片并生成缩略图
转自:http://mikelai.blog.163.com/blog/static/18411126620118771732675/ Controller: public ActionResult ...
- Cocos2d-x 3.4在AndroidStudio上编译配置
转载请标明出处:http://www.cnblogs.com/studweijun/p/4320778.html 1.准备好以下文件 1) AndroidStudio: https://dl.goo ...