<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 功能,可以按照下面三个步骤操作。

第一步:提前准备好多格式视频文件

目前没有一个视频格式兼容所有浏览器,唯一的解决方法就是把视频转换成多种格式。

  1. mp4 格式的视频,可以在苹果设备中使用;
  2. ogv 格式的视频,用在火狐浏览器中;
  3. webm 格式的视频,这个可以用在谷歌浏览器;

视频转换工具国内的功能比较少,转换格式可能没有上面后两个,而且质量良莠不齐,往往需要注册才能使用。推荐一个国外的工具(需要翻墙)http://www.online-convert.com 。甚至不用安装软件,直接选择相应的目标格式,然后上传视频,配置一下参数就可以转换出来了。没有合适工具的朋友,可以尝试一下。

第二步:使用多个source上传不同格式的视频

第三步:为老旧浏览器做兼容

  1. 我们可以把视频上传到优酷、土豆或者爱奇艺等国内著名视频服务商,直接调用视频代码
  2. 在老旧版本的浏览器上使用flash视频文件
  3. head部分引用 <script src="http://html5media.googlecode.com/svn/trunk/src/html5media.min.js"></script>
    1. html5media是一个让video、audio标签在旧版IE中全面兼容的JavaScript类库,它不依赖于任何JavaScript框架。页面使用了html5media之后,当老版本的浏览器不支持HTML5时,它将会自动切换成Flash模式的flowplayer播放器尝试播放。。
  4. 使用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 标签跨浏览器兼容的更多相关文章

  1. 原生js解决跨浏览器兼容问题

    //跨浏览器兼容问题 Util = { //添加类名 add : function(ele,type,hand){ if(ele.addEventListener){ ele.addEventList ...

  2. html5\CSS3有哪些新特性、移除了哪些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分HTML和HTML5?

    (1)HTML5现在已经不是SGML的子集,主要是关于图像,位置,存储,地理定位等功能的增加. 绘画canvas元素: 用于媒介回放的video和audio元素: 本地离线存储localStorage ...

  3. Zero Clipboard - 跨浏览器兼容的“复制到剪贴板”功能

    开发中经常会用到复制的功能,在 IE 下实现比较简单,但要想做到跨浏览器比较困难了. 本文将介绍一个跨浏览器的库类 Zero Clipboard ,它利用 Flash 进行复制,所以只要浏览器装有 F ...

  4. 转载于山边小溪的博客--编写跨浏览器兼容的 CSS 代码的金科玉律

    http://www.cnblogs.com/lhb25/archive/2010/06/19/1760786.html   原始网页 作为 Web 设计师,你的网站在各种浏览器中有完全一样的表现是很 ...

  5. 跨浏览器兼容的HTML5视频音频播放器

    HTML5的video和audio标签是用来在网页中加入视频和音频的标签,在支持html5的浏览器中不需要预先加载Adobe Flash浏览器插件就能轻松快速的播放视频和音频文件.而html5medi ...

  6. 【HTML5】如何处理HTML5新标签的浏览器兼容版问题

    HTML5规范毕竟是刚刚才定义完成的规范,还有一些浏览器并不能支持其中的新标签和新属性,尤其是IE8及以下版本浏览器.以下介绍一些在页面中使用HTML5新标签的实践方法,目的是让HTML5中的新标签在 ...

  7. html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?

    * HTML5 现在已经不是 SGML(标准通用标记语言,是一种定义电子文档结构和描述其内容的国际标准语言) 的子集,主要是关于图像,位置,存储,多任务等功能的增加.   * 拖拽释放(Drag an ...

  8. HTML5 的新特性以及新标签的浏览器兼容问题

    新特性: HTML5 现在已经不是 SGML 的子集,主要是关于图像,位置,存储,多任务等功能的增加. 1)  拖拽释放(Drag and drop) API 2)  语义化更好的内容标签(heade ...

  9. 通过JS加载XML文件,跨浏览器兼容

    引言 通过JS加载XML文件,跨多种浏览器兼容. 在Chrome中,没有load方法,需要特殊处理! 解决方案 部分代码 try //Internet Explorer { xmlDoc=new Ac ...

随机推荐

  1. 【转】ACM搜索算法总结 --By GreenHand

    搜索是ACM竞赛中的常见算法,本文的主要内容就是分析它的 特点,以及在实际问题中如何合理的选择搜索方法,提高效率.文章的第一部分首先分析了各种基本的搜索及其各自的特点.第二部分在基本搜索方法的基础上提 ...

  2. Codeforces水题集合[14/未完待续]

    Codeforces Round #371 (Div. 2) A. Meeting of Old Friends |B. Filya and Homework A. Meeting of Old Fr ...

  3. REST架构

    网络上的所有事物都被抽象为资源(resource): 每个资源对应一个唯一的资源标识符(resource identifier): 通过通用的连接器接口(generic connector inter ...

  4. [No000056]你无法真正占有一个人,包括你的爱人,先生或太太、小孩,以及你自己....

    从一出生,我们的双手就握的紧紧的,好像深知自己会失去什么 很多人迷信多子多孙才是福,老来才有依靠,但太多新闻告诉我们,很多人老了,子孙为了分家产,反而让他生不如死,死了还无法入土为安. 现实也告诉我们 ...

  5. java list

    List:元素是有序的(怎么存的就怎么取出来,顺序不会乱),元素可以重复(角标1上有个3,角标2上也可以有个3)因为该集合体系有索引 ArrayList:底层的数据结构使用的是数组结构(数组长度是可变 ...

  6. iOS根据Url 获取图片尺寸

    iOS根据Url 获取图片尺寸 // 根据图片url获取图片尺寸 +(CGSize)getImageSizeWithURL:(id)imageURL { NSURL* URL = nil; if([i ...

  7. Centos6.5 设置nfs

    安装 rpcbind 和 nfs-utils yum install rpcbind yum install nfs-utils 设置共享目录 [root@bogon ~]# vim /etc/exp ...

  8. KeyBord事件从Activtiy层往下分发详细过程代码示例

    step1:调用Activity成员函数dispatchKeyEvent public boolean dispatchKeyEvent(KeyEvent event) { // Let action ...

  9. Java调用C/C++编写的第三方dll动态链接库(zz)

    这里主要用的方法是JNI.在网上查资料时看到很多人说用JNI非常的复杂,不仅要看很多的文档,而且要非常熟悉C/C++编程.恐怕有很多人在看到诸如此类的评论时已经决定绕道用其他方法了.本文将做详细的介绍 ...

  10. Expression Blend4经验分享:自适应布局浅析

    今天分享一下Blend制作自适应分辨率布局的经验,大家先看下效果图: 这是一个标准的三分天下的布局,两侧的红色区域是背景区域,是用来干吗的呢,下面简单的分析一下,大家就明白了. 1.拿到一个项目,进行 ...