浏览器兼容video视频播放的多种方法

前言:

在 HTML 中播放视频并不容易!因为直到现在,仍然不存在一项旨在网页上显示视频的标准。今天,大多数视频是通过插件(比如 Flash)来显示的。然而,并非所有浏览器都拥有同样的插件。 比如windows平台的IE浏览器利用Activex控件来播放flash而其它的浏览器则使用Netscape插件技术来播放flash。而在HTML5 中规定了一种通过 video 元素来包含视频的标准方法,但<video> 元素只支持三种视频格式:MP4、WebM、Ogg

开发中我们希望视频文件在所有浏览器中(Internet Explorer, Chrome, Firefox, Safari, Opera)和所有硬件上(PC, Mac , iPad, iPhone)都能够播放。有时候甚至需要保证在不同的浏览器上视频播放界面效果保持一致

在html内联视频中常用的多媒体视频文件格式是flash和mp4文件。flash视频内容可以使用<embed>或<object>标签,mp4视频内容可以使用<embed> 、<object> 、<video>。但目前,<video> 元素只支持三种视频格式:MP4、WebM、Ogg<object>标签是用于windows平台的IE浏览器的,而<embed> 是用于windows和Macintosh平台下的Netscape Navigator浏览器以及Macintosh平台下的IE浏览器。

 

 

下面依次介绍<embed> 、<object> 、<video>各个标签的使用及视频播放的局限性,

1、<embed> 标签

概述:<embed> 标签是HTML5中新增的标签定义一个容器,可以在页面中嵌入任何类型的文档。用户的机器上必须已经安装了能够正确显示文档内容的程序,一般常用于在网页中插入多媒体格式可以是 Midi、Wav、AIFF、AU、MP3等,IE、Firefox等最新浏览器都能支持。url为音频或视频文件及其路径,可以是相对路径和绝对路径。

使用如下:

<embed src="test.mp4" type="video/mp4" width="400px" height="300px">

注意事项:

  • HTML4 无法识别 <embed> 标签。
  • 如果浏览器不支持 Flash(如未安装),那么视频将无法播放。
  • iPad 和 iPhone 苹果设备不支持Flash 视频。(ipad的浏览器属于HTML5技术构架,可以不依赖Flash播放视频。)

补充:安卓系统从Android 2.1版本就开始部分支持flash,可下载安装flash插件播放视频。Adobe Flash Player 10.1.92.8已经支持所有android 2.2智能手机。目前主流的安卓智能机系统都在版本2.3以上,android4.0已大行其道。因此无须对安卓设备采用单独的视频处理方案,安卓系统和windows系统采用同样的方案,使用flash播放器即可实现。

 

2、 <object> 标签

概述:定义一个嵌入的对象。请使用此元素向您的 XHTML 页面添加多媒体此元素允许您规定插入 HTML 文档中的对象的数据和参数以及可用来显示和操作数据的代码

<object> 标签用于包含对象,比如图像、音频、视频、Java applets、ActiveX、PDF 以及 Flash。

object 的初衷是取代 img 和 applet 元素。不过由于漏洞以及缺乏浏览器支持,这一点并未实现。

object 对象提供了解决方案如果不支持 object 元素,就会执行位于 <object> 和 </object> 之间的代码通过这种方式,我们能够嵌套多个 object 元素(每个对应一个浏览器)。object是H4元素

 

使用:

<!--位于 form 表单外的 <object> 元素(但仍然属于 form 表单的一部分) -->
<object width="400" height="400" data="helloworld.swf" form="form1" name="obj1"></object>

注意事项:

如果浏览器不支持 Flash,将无法播放视频。iPad 和 iPhone 不支持Flash 视频播放。不要对图像使用 <object> 标签,请使用 <img>标签 代替。

 

embed和object标签综合使用

两者都是用来播放多媒体文件的对象,object元素用于IE浏览器,embed元素用于非IE浏览器,为了保证兼容性,通常我们同时使用两个元素,浏览器会自动忽略它不支持的标签。同时使用两个元素时,应该把<embed>标签放在<object>标签的内部。

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="700" height="400"><param name="movie" value="flvplayer.swf" /><param name="quality" value="high" /><param name="allowFullScreen" value="true" /><param name="FlashVars" value="vcastr_file=12.flv&LogoText=description&BufferTime=3&IsAutoPlay=1"><embed src="flvplayer.swf" allowfullscreen="true" flashvars="vcastr_file=12.flv&IsAutoPlay=1&LogoUrl=images/logo.jpg" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="700" height="400"></embed>
</object>

上述代码详解: OBJECT标签是用于windows IE3.0及以后浏览器或者其它支持Activex控件的浏览器。“classid”和“codebase”属性必须要精确地按上例所示的写法写,它们告诉浏览器自动下载flash player的地址。如果你没有安装过flash player 那么IE3.0以后的浏览器会跳出一个提示框访问是否要自动安装flash player。当然,如果你不想让那些没有安装flash player的用户自动下载播放器,或许你可以省略掉这些代码。 
  EMBED标签是用于Netscape Navigator2.0及以后的浏览器或其它支持Netscape插件的浏览器。“pluginspage”属性告诉浏览器下载flash player的地址,如果还没有安装flash player的话,用户安装完后需要重启浏览器才能正常使用。

 

 

 

3、HTML5 <video> 标签

概述:<video> 标签定义视频,比如电影片段或其他视频流。

使用:

<video width="320" height="240" controls><source src="movie.mp4" type="video/mp4"><source src="movie.ogg" type="video/ogg"><source src="movie.webm" type="video/webm">
您的浏览器不支持 video 标签。
source标签提供多个媒体资源供不同的浏览器根据它对媒体类型或者编解码器的支持进行选择
</video>

属性如下:

 

注意事项: 

当前, <video> 元素支持三种视频格式: MP4, WebM, 和 Ogg:。

须把视频转换为很多不同的格式。

但是video、audio标签只在IE 9+、Safari 3+、FireFox 4+、Opera 10+、Chrome 3+的浏览器版本得到了支持,并且各浏览器对于视频编码格式的支持不一致,这就需要我们考虑一个综合的实现方案,使得视频在不同浏览器中都能顺利播放,而且在老版本的浏览器中也能得到支持。

 

 

 

 

 

上述<embed> 、<object> 、<video>各个标签有各自的局限性,下面列出一些兼容各个浏览器视频播放的解决方式

 

4.1、video+object+embed

以下实例中使用了 4 种不同的视频格式。HTML 5 <video> 元素会尝试播放以 mp4、ogg 或 webm 格式中的一种来播放视频。如果均失败,则回退到 <embed> 元素。这样多种标签结合使用需要将视频转换为很多不同的格式。webm格式是针对FF浏览器的视频播放格式。

由于目前大多数设备的浏览器对flash支持的很好,所以考虑在不支持video标签时页面还是使用object/embed传统标签嵌入视频,用Adobe Flash Player播放。而对于不支持flash的苹果设备,可以制作另一个页面二。然后根据通过js程序对User-Agent的判断给不同的设备浏览器用户显示不同的页面

使用如下:

<video width="320" height="240" 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>

页面二针对mac设备代码:

<script type="text/javascript">if ((/iPhone|iPad|iPod/i).test(navigator.userAgent) || (/Mac68K|MacPPC|Macintosh|MacIntel/i).test(navigator.platform)){window.location.href = "####page2.html"}
</script> 

 

 

4.2、使用超链接启动“辅助应用程序”播放

如果网页包含指向媒体文件的超链接,大多数浏览器会使用"辅助应用程序"来播放文件。

以下代码片段显示指向 AVI 文件的链接。如果用户点击该链接,浏览器会启动"辅助应用程序",比如 Windows Media Player 来播放这个 AVI 文件:

<a href="test.mp4">Play a video file</a>

 

关于内联视频的说明

当视频被包含在网页中时,它被称为内联视频。

如果您打算在 web 应用程序中使用内联视频,您需要意识到很多人都觉得内联视频令人恼火。

同时请注意,用户可能已经关闭了浏览器中的内联视频选项。

我们最好的建议是只在用户希望看到内联视频的地方包含它们。一个正面的例子是,在用户需要看到视频并点击某个链接时,会打开页面然后播放视频

可以将视频上传到视频网站或服务器,获取视频资源分享链接,然后进行src引用

 

 

4.4、html5media.js插件:  

是一个让video、audio标签在旧版IE中全面兼容的JavaScript类库。实现的原理大致是使用了flash技术,使用flash播放器嵌入视频的方式,使得老版本IE及Firefox支持video标签。这个播放器称为flowplayer。。。

使用步骤:


<script src="html5media.min.js"></script><video src="test.mp4" width="352" height="264" controls autobuffer></video>

 

下载网址:链接:https://pan.baidu.com/s/1vRgCnY-wWNJ9BcfiMgOeXQ    提取码:ynw4 

注意事项:目前,这种多浏览器支持方法所支持的视频格式有限,为mp4和ogv格式,否则视频可能不会播放。使用video标签实现视频播放在不同浏览器下video样式各不相同

 

 

 

4.5、 hivideo.js :

是一款基于html5的视频播放器,摒弃video原有的播放控制条样式,自己重写了一次,让播放器在各个浏览器下样式统一。支持暂停、播放进度控制、声音控制、全屏播放。如果是要在手机端使用hivideo,全屏播放时还支持横屏播放几乎兼容所有的浏览器,并且优先使用html5,在不支持的浏览器中,会自动使用flash进行播放。

使用步骤:

<link rel="stylesheet" href="assets/hivideo.css" />
<script src="assets/hivideo.js"></script>
    <div class="main-wrap"><video ishivideo="true" autoplay isrotate="false" autoHide="true"><source src="assets/test.mp4" type="video/mp4"></video></div>

 如果是后期动态添加的video元素,也可以通过hivideo动态加载。例如页面动态添加了一个id为”player”的video元素,可通过如下方式把video转换为hivideo播放器:

hivideo(document.getElementById("player"));

下载网址:https://github.com/heavis/hivideo

 

 

 

 

4.6、video.js:

Video.js 是一个通用的在网页上嵌入视频播放器的 JS 库,它支持HTML5和Flash视频,Video.js 自动检测浏览器对 HTML5 的支持情况,如果不支持 HTML5 则自动使用 Flash 播放器。支持在桌面和移动设备上播放视频。

详细使用可以参考 https://www.awaimai.com/2053.html

<head><link href="https://vjs.zencdn.net/7.6.0/video-js.css" rel="stylesheet"><!-- If you'd like to support IE8 (for Video.js versions prior to v7) --><script src="https://vjs.zencdn.net/ie8/1.1.2/videojs-ie8.min.js"></script>
</head><body><video id='my-video' class='video-js' controls preload='auto' width='640' height='264'poster='MY_VIDEO_POSTER.jpg' data-setup='{}'><source src='MY_VIDEO.mp4' type='video/mp4'><source src='MY_VIDEO.webm' type='video/webm'><p class='vjs-no-js'>To view this video please enable JavaScript, and consider upgrading to a web browser that<a href='https://videojs.com/html5-video-support/' target='_blank'>supports HTML5 video</a></p></video><script src='https://vjs.zencdn.net/7.6.0/video.js'></script>
</body>

注意事项:要支持IE低版本就需要下载video.js低版本

 

 

 

 

 

知识拓展:

 

1.1、常见视频格式有哪些??

.AVI, .wma, .rmvb,.rm, .flash,.mp4,.mid, 3GP等视频格式是比较常见的。其中AVI一般比较大, 也是最清晰的一种,rmvb,wma中等清晰, rm格式小且清晰度稍微差些. .flash,.mp4,.mid, 3GP都是格式比较小的适合网络播放与移动媒体设备播放用的.

 

 

1.2、flash视频和 mp4 视频有什么区别??


Flash是动画文件,是基于矢量图形的,是通过Flash软件制作的,使用 .swf的文件后缀Mp4是视频文件,是采用mpeg编码的一类多媒体影音混合文件,文件后缀为.mp4,是通过某些介质录制或者制作的,以储存数码音讯及数码视频为主。

注意:Flash 成为嵌入网页中的小游戏、动画以及图形用户界面常用的格式flash的播放需要使用flash player插件,有插件版和IE专用版本,就是浏览器的一种插件。

 

1.3、htnl5shiv.js概述

对于老版本的IE可以通过HTML5shiv来使不支持HTML5的浏览器支持HTML新标签video和audio标签。主要解决HTML5提出的新的元素不被IE6/IE7/IE8识别,这些新元素不能作为父节点包裹子元素,且不能应用CSS样式。让CSS 样式应用在未知元素只需执行 document.createElement(elementName) 即可实现。html5shiv的工作原理也就是基于此。html5shiv.js的网盘地址是:链接:https://pan.baidu.com/s/1Db9Gzqz66eYEz01BWhwAIQ    提取码:5vzk 

<!–[if lt IE 9]> <script type="text/javascript" src="html5shiv.js"></script> 
<![endif]–>

 

 

 

参考学习网址:

https://www.runoob.com/html/html-videos.html

https://www.zhangxinxu.com/wordpress/2010/03/every-browser-support-html5-video/

https://www.jianshu.com/p/16fa00a1ca8e

https://blog.csdn.net/enweitech/article/details/80802677

https://blog.csdn.net/freshlover/article/details/7535785#

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/553995.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win7系统如何取消自动开机

最近有位win7系统用户在使用电脑的过程中&#xff0c;发现电脑总是半夜自动开机&#xff0c;用户不知道怎么解决这个问题&#xff0c;为此非常苦恼&#xff0c;那么win7系统如何取消自动开机呢?今天小编为大家介绍win7系统取消自动开的操作教程。 win7系统如何取消自动开机 …

px、em、rem区别介绍

PX px像素&#xff08;Pixel&#xff09;。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。 PX特点 1. IE无法调整那些使用px作为单位的字体大小&#xff1b;2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位&#xff1b;3. Firefox能够调整px和em…

win7系统如何清理系统日志

相信很多电脑用户都知道&#xff0c;电脑系统在运行的时候会产生系统日志&#xff0c;它可以记录系统中的硬件、软件和系统的各种问题信息&#xff0c;可以通过它检索错误发生的原因&#xff0c;不过时间长了&#xff0c;这类日志文件就会积压&#xff0c;导致系统存储变小&…

pdf文件加密解密,pdf忘记密码解密的办法

1、pdf文件加密 步骤&#xff1a;wps》菜单“保护”》文档加密&#xff0c;设置编辑及页面密码&#xff0c;如下 2、pdf解密 在解密窗口取消选择“设置编辑及页面密码”&#xff0c;如下 注意&#xff1a;当忘记pdf密码时&#xff0c;可以使用pdf解密软件解密&#xff0c;如下…

2021-06-07

如何解决360浏览器卡死的问题 我们在上网的时候&#xff0c;不可缺少的就是浏览器了&#xff0c;有一大部分人还是喜欢用360浏览器的。刚开始用360浏览器的时候感觉很不错&#xff0c;都都不知什么情况&#xff0c;老是无故崩溃&#xff0c;或者时常卡死&#xff0c;上网慢&am…

伪类::selection自定义文本选中时的样式(CSS3样式),CSS3的word-break单次换行

1、::selection CSS3伪类自定义文本选中时的样式 有的人在浏览网页时&#xff0c;喜欢一边选中文本一边阅读。在windows环境下&#xff0c;正常的文本选中应该是深蓝色背景白色文本的样式。那么想要修改文本选中样式&#xff0c;可以通过css中有这样的一个伪类::selection用于自…

如何打造高大上的微信朋友圈 打造微信高逼格朋友圈教程

1、注意发朋友圈的频率&#xff0c;单次动态不要超过两条 学会给自己的朋友圈排期看起来简单&#xff0c;其实真的做起来非常难&#xff0c;这就和每天坚持做十个俯卧撑和写文章一样难&#xff0c;很少有人能够坚持下来&#xff0c;但是坚持下来的人&#xff0c;往往都收获了惊…

修改elementUI组件样式无效的多种解决方式

前言&#xff1a;vueelementUI项目开发中&#xff0c;经常遇到修改elementUI组件样式无效的问题&#xff0c; 原因&#xff1a;在vue组件中我们经常需要给style添加scoped来使得当前样式只作用于当前组件的节点。添加scoped之后&#xff0c;工作原理是将当前组件的节点添加一个…

火狐浏览器怎么样 火狐浏览器都有哪些优缺点

火狐浏览器是一个自由及开放源代码的网页浏览器&#xff0c;支持主流的全部系统&#xff0c;最近不少朋友问我火狐浏览器怎么样?作为一名火狐浏览器的用户&#xff0c;在这边给大家介绍火狐浏览器的各种优缺点&#xff0c;赶紧搬好小椅子&#xff0c;介绍开始啦。 火狐浏览器…

CSS3 @media媒体查询 适配不同尺寸设备的响应式布局(清晰详解)

随着宽屏的不断普及&#xff0c;CSS3出现了media媒体查询技术 一、了解Media 相关知识 1、了解Media Queries Media Queries能在不同的条件下使用不同的样式&#xff0c;使页面在不同在终端设备下达到不同的渲染效果。其原理就是允许添加表达式用以媒体查询&#xff08;包括媒…

腾讯视频怎么设置全速下载模式

腾讯视频界面非常简洁友好&#xff0c;是播放器家园网小编一直推荐的软件&#xff0c;今天给大家重点分享“腾讯视频怎么设置全速下载模式”。腾讯视频播放器是播放器家园网小编用过最好用的一款&#xff0c;在这里能够不同类型的电视剧和电影&#xff0c;都是采用了4K级高清画…

浅谈Normalize.css

转载自简书&#xff1a;https://www.jianshu.com/p/3d21d1932aa0 Normalize.css只是一个很小的css文件&#xff0c;但它在默认的HTML元素样式上提供了跨浏览器的高度一致性。相比于传统的css reset&#xff0c;Normalize.css是一种现代的&#xff0c;为HTML5准备的优质替代方案…

傲游浏览器怎么创建笔记 傲游浏览器笔记创建方法分享

和某些浏览器不同&#xff0c;傲游浏览器中的笔记功能拥有极清爽、极简约、极免费等三大特性&#xff0c;并因此获得了不少用户的青睐。那么&#xff0c;在傲游浏览器中该怎么创建笔记呢?下面小编就来分享一下傲游浏览器笔记创建的方法&#xff0c;有需要的朋友可以稍作参考。…

固定布局(fixed layout)、流体布局(fluid layout)、弹性布局(elastic layout)、响应布局(responsive layout)理解和技巧归纳

关于web页面布局&#xff0c;首先简单了解一下固定布局(fixed layout)、流体布局(fluid layout)、弹性布局(elastic layout)、响应布局(responsive layout)和相应的使用技巧&#xff1f; 固定布局(fixed layout) 固定布局&#xff0c;例如豆瓣网&#xff0c;无论如何change浏览…

win7电脑0x000007b蓝屏怎么办

win7电脑0x000007b蓝屏怎么办&#xff1f;0x000007b蓝屏是什么意思?当电脑出现蓝屏&#xff0c;其蓝屏代码是0x000007b&#xff0c;通常是由于bios设置中的硬盘模式与当前系统不符合所造成。大家可以参考小编给出的本篇教程将模式调为“AHCI”&#xff0c;尝试解决。 1、重启…

整理软件行业职位介绍(PM,RD,FE,UE,UI,QA,OP,DBA,BRD,MRD, PRD,FSD等)、组织结构、职责

职位概览缩写 GM(General Manager)总经理 VP(Vice President)副总裁 FVP(First Vice President)第一副总裁 AVP(Assistant Vice President)副总裁助理 CEO(Chief Executive Officer)首席执行官&#xff0c;类似总经理、总裁&#xff0c;是企业的法人代表。 COO(Chief Ope…

谷歌浏览器怎么查看网页源代码 Chrome浏览器网页源代码查看技巧分享

凭借简单、高效的使用体验&#xff0c;谷歌开发的网页浏览器“Chrome”在国内也不乏粉丝&#xff0c;甚至一度被视为装机必备的软件之一。但其操作方式和界面设计&#xff0c;与国产浏览器略有不同!那么&#xff0c;谷歌浏览器要怎么查看网页源代码?让我们一起来了解一下。 方…

windows下mysql8.0-64的安装、完全卸载及注意事项(亲测),MySQL和SQL Server的简单区别

Windows 上安装 MySQL 1、现在zip安装包&#xff1a; 点击链接 https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.11-winx64.zip 下载 zip 包。最新版本可以在 MySQL 下载 中下载中查看。 点击 Download 按钮进入下载页面&#xff0c;点击下图中的 No thanks, just star…

vue中使用highCharts的drilldown钻取图、3D等图

<!-- 可以使用highcharts的CDN资源 --> <!-- 钻取图依赖jquery.js和highcharts.js ,有顺序要求 --> <script src"http://cdn.highcharts.com.cn/highcharts/highcharts.js"></script> <script src"http://cdn.highcharts.com.cn/…

vue-router进阶:路由使用归纳、路由导航守卫、导航守卫解析流程、

一、定义和理解 导航守卫的作用&#xff1a;vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。 》》项目中应用场景举例&#xff1a;路由页面跳转时候进行登陆验证&#xff1b;路由跳转判断&#xff1b; 有多种机会植入路由导航过程中&#xff1a;全局路由, 单…