<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. 2014 UESTC暑前集训搜索专题解题报告

    A.解救小Q BFS.每次到达一个状态时看是否是在传送阵的一点上,是则传送到另一点即可. 代码: #include <iostream> #include <cstdio> # ...

  2. POJ1523 SPF[无向图割点]

    SPF Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 8139   Accepted: 3723 Description C ...

  3. 实例变量和静态变量(或类变量static)

    一个类通过使用运算符new可以创建多个不同的对象,这些对象将被分配不同的内存空间,准确的说法是:不同对象的实例变量将被分配不同的内存空间,如果类中有类变量,那么所有对象的这个类变量都被分配到同一处内存 ...

  4. Concurrency::task(C++)

    先看一个例子 #include <ppltasks.h> #include <iostream> using namespace Concurrency; using name ...

  5. 使用mxmlc在命令行编译.as代码

    在cmd命令行环境下,敲mxmlc出现 提示Error: could not find JRE和"Error: could not find Java 2 Runtime Envi 解决办法 ...

  6. [No000039]操作系统Operating Systems用户级线程User Threads

    多进程是操作系统的基本图像 是否可以资源不动而切换指令序列? 进程 = 资源 + 指令执行序列 线程: 保留了并发的优点,避免了进程切换代价 实质就是映射表不变而PC 指针变 多个执行序列+ 一个地址 ...

  7. 如何自学Android

    看到很多人提问非科班该如何学习编程,其实科班也基本靠自学.有句话叫"师傅领进门修行靠个人",再厉害的老师能教你的东西都是很有限的,真正的修行还是要靠自己.博主本科是数学专业,虽研究 ...

  8. nginx应用总结(1)--基础认识和应用配置

    在linux系统下使用nginx作为web应用服务,用来提升网站访问速度的经验已五年多了,今天在此对nginx的使用做一简单总结. 一.nginx服务简介Nginx是一个高性能的HTTP和反向代理服务 ...

  9. Python的高级特性12:类的继承

    在面向对象的程序设计中,继承(Inheritance)允许子类从父类那里获得属性和方法,同时子类可以添加或者重载其父类中的任何方法.在C++和Java的对象模型中,子类的构造函数会自动调用父类的构造函 ...

  10. 产品经理技能之MRD的笔记之一

    原文:http://www.woshipm.com/pmd/131946.html/comment-page-1 产品经理技能之MRD 一.MRD与BRD的不同之处 BRD:这么做有什么好处,并说明好 ...