这篇文章发布于 2010年03月17日,星期三,01:53,归类于 JS实例。 阅读 659194 次, 今日 9 次 81 条评论
by zhangxinxu from http://www.zhangxinxu.com
本文地址:http://www.zhangxinxu.com/wordpress/?p=661
补充于2017年5月4日
此文写于7年前,前端发展已经翻了好几番,本文内容可能过时,不一定有效,仅供参考。
一、前面的唠叨
我记得就是前几个月吧,有条消息说YouTube支持了HTML5视频嵌入标签video
,好吧,我听说而已,因为我不是个擅长翻墙的人,到底如何我也不得而知。
与主题不相关的HTML5方面的东西我就不多说了,对于video标签,获取大家都听说了,这个标签的功能如同现在HTML语言中的img标签,就现在,比如要链接并显示一张图片,可以这样子:
<img src="mm1.jpg" />
结果就可以显示下面这张美女图片:
所以,在HTML5的时代里,基本上只要一个<video>标签加一个视频的src链接地址就可以播放视频了,对于开发人员来讲真是“酷毕了”(《神话》中经典台词)。
然而,当现实照进遐想,我们不得不去正视,现在,支持HTML5 video
标签的浏览器寥寥无几。我知道chrome2以及Safari是支持的,看下面这张截自chrome 2的图:
使用的代码如下:
<video width="352" height="264" controls autobuffer> <source src="../media/cat.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'></source> </video>
对于Opera浏览器,您可以参阅这篇上周才发表的文章“Everything you need to know about HTML5 video and audio”
对于IE浏览器,那还不知道要等到猴年马月才等到支持HTML5 video
标签的时候。然而,广大劳动人民的智慧是无穷无尽的,广大开发人员的智慧也会无穷无尽的。国外领先的web开拓者们通过js,已经实现了可以让各个主流浏览器支持video
标签的方法。
二、主流浏览器支持video标签
方法很简单,只要调用一段js,就可以让主流浏览器实现video标签的视频播放。
此项目已经放到Google code上,您可以点击这里查看。
更新于2018-12-12
此项目已经迁到GitHub,地址是:https://github.com/etianen/html5media
官网地址是:https://html5media.info/
最新版JS可以去官网下载。
使用方法:
要想让主流浏览器都支持HTML5标签,使用非常简单,只要链接一个js文件就可以了。所以,只要您的页面上(头部或底部)有这么段代码:
<script src="//api.html5media.info/1.2.2/html5media.min.js"></script>
就可以了。
对于HTML部分,使用类似下面:
<video src="video.mp4" width="320" height="240" controls autobuffer></video>
是不是很简单啊!
为了演示效果,我就直接把此js以及video标签签到这篇文章里,您将会在下面看到这段10秒钟的关于猫咪的视频,您可以切换IE或是Firefox或是chrome或是Safari观看(界面有差别的哦~~)。
更新于2016-06-03
由于下面2个资源大大拖慢了网页的加载速度,因此,今日起博客文章不直接呈现效果,大家可以点击下面的demo链接体验。
您也可以狠狠地点击这里:HTML5 video多浏览器支持测试demo
当加载完毕,点击播放按钮,就可以看到视频播放了。
相关JS代码如下:
<script src="//api.html5media.info/1.2.2/html5media.min.js"></script> <video src="/study/media/cat.mp4" width="352" height="264" controls autobuffer></video>
三、一些说明
关于js
此js文件,您可以点击下面两处下载(右键 – [目标|链接]另存为):
1. 原项目地址下载
2. 备份下载地址
3. 去官网下载最新版:https://html5media.info/
关于实现
实现的原理大致是使用了flash技术,使用flash播放器嵌入视频的方式,使得IE及Firefox支持video
标签。这个播放器称为flowplayer,具体我也不是很了解。
关于视频格式
目前,这种多浏览器支持方法所支持的视频格式有限,为mp4和ogv格式,否则视频可能不会播放。
可能遇到的问题
您可能会遇到这样的问题:我明明链接的是mp4格式的文件啊,为什么在IE及Firefox下有问题。如果您遇到的问题是在这两个浏览器下视频不播放,或是播放时只有声音而没有图像,而在chrome浏览器或是Safari下良好,则您可能要仔细您mp4文件的编码格式了。
对于编码,我不在行,好像是视频要存储为h.264文件,不要问我是什么东西,我也不知道,这可能还要靠您自己解决了。
最后,百无聊赖,先上一张Safari浏览器下的截图,原因是,Safari下的播放器真是卡哇伊。
本文为原创文章,转载请注明来自张鑫旭-鑫空间-鑫生活[http://www.zhangxinxu.com]
本文地址:http://www.zhangxinxu.com/wordpress/?p=661
(本篇完)
- JS audio加图片序列或canvas转webM/MP4的实现 (0.634)
- 告别图片—使用字符实现兼容性的圆角尖角效果beta版 (0.538)
- JS与条形码的生成 (0.483)
- 前端原生API实现条形码二维码的JS解析识别 (0.483)
- 翻译-你必须知道的28个HTML5特征、窍门和技术 (0.366)
- 揭秘视频网站video视频倍速播放的实现 (0.303)
- HTML5 video视频播放Picture-in-Picture画中画技术 (0.303)
- 从天猫某活动视频不必要的3次请求说起 (0.303)
- 玩转HTML5 Video视频WebVTT字幕使用样式与制作 (0.272)
- HandBrake乃MP4免费压缩webm转换工具不二之选 (0.272)
- 近期折腾:使用JS以及HTML5实现鑫情动画 (RANDOM - 0.031)
在IE浏览器中浏览加了video标签的内容,在没加html5media插件前,用开发者模式查看时,完全不是显示有video这一标签。加了html5media插件后,虽在开发者模式下可以看到有video标签,但视频还是不能显示在页面上并且不能播放。
在IE浏览器中浏览加了video标签的内容,在没加html5media插件前,用开发者模式查看时,完全不是显示有video这一标签。加了html5media插件后,虽在开发者模式下可以看到有video标签,但视频还是不能显示在页面上并且不能播放。
IE几?
请问我遇到了 在谷歌浏览器中video总时长过长有9分钟,每次放到十几秒就会报错,卡住 console报错 ERR_CONTENT_LENGTH_MISMATCH 在火狐中就不会,怎么解决啊
都不用测试,我就知道这货菜的一B
多用脑子,别上来就喷,这文章啥时候写的没看到吗?那时候你还是个受精卵吧
上来就碰,真想看看这个人现实中是什么样的一个人
你到底行不行 瞎比比
您好,占用一点您的时间,请问一下,ie6-8浏览器如何兼容css3属性和html5新标签,我是一个初学者,希望您可以给我指点一二,谢谢您。
我了个去,兼容毛线了啊。和h5 自身的video 根本没差啊
真坑,根本不兼容IE8
刚测试了 不兼容IE8
你真的太low了 总是抄袭被人的东西
火狐和IE8及以下播放不了
不行啊,在火狐里面也不能播放
在Safari浏览器中播放不了呀
ie下不行 黑色的
想问张大大遇到过这种问题吗?
点击播放后,视频就浮了起来,而且z-index总是最大,这时如果你想用绝对定位加个div在视频上面,这时这个div始终会被视频挡住。
还有就是域名没有在腾讯白名单中会强制全屏播放。
video标签 怎么在腾讯浏览器全屏播放
为什么在IE 10 下 video source 是.mp4 也转码了 可是还是不能播放?
使用连接的任何浏览器都可以,本地视频就不行了。
你有没有找到什么方法,我现在也遇到同样的问题了
知道android h5 视频播放如何自动全屏吗?找了一些资料总是不对..
http://html5media.googlecode.com/svn/trunk/src/html5media.min.js
这个js现在是404
用video在移动端做视频,为什么点击播放后,它就会浮到页面的上面?
我发现你的demo我在firefox中播放不了,或者说该插件被firefox禁用了
你自己用其他浏览器看看你的这个demo,就知道了,没效果
完全不兼容,不知道你测试没测试就挂上来
大神,我遇到的情况也是在本地上测试时,可以被FF支持播放,但是一旦挂网,就会出现“没有发现支持的视频格式和MIME类型”,是什么原因呢?我们的Mp4编码是h.264。我看bbk上也是用的mp4,它就可以在FF上播放。http://www.eebbk.com/product/jjj/s2.html这是bbk的网址。大神棒棒忙~~谢谢!!
你视频资源的服务器没有添加相应的MIMEType所以没法访问吧。。
firefox 好像不支持哦
直接引用本地的html5media.min.js没有效果 这样引用视频在IE8下可以播放了
但是如何判断视频播放完毕呢?
我需要视频播放完毕让这个隐藏,显示默认图片
//api.html5media.info/1.1.8/html5media.min.js
怎么引用才能在IE8下播放呢 我的没有效果只是 黑屏 请教一下
大神,你知道android h5 视频播放如何取消自动全屏吗,因为无法自动播放,一定要点击,点击就进入了全屏,这样就成了安卓系统的播放器,不受我们写的网页控制了。
同问,请问当时你是怎么解决的呢
鑫哥,写的真是风趣幽默。
我就呵呵呵呵呵呵呵呵呵呵了
我的是thinkphp写的网站,在本地测试 视频可以播放,上传服务器后 不管怎么处理都是 【无效源】
大神 拯救我
我看过你很多东西,都很粗糙。
xp,ie8下,这个地址只显示汉字。无图像
http://www.zhangxinxu.com/study/201003/html5-video-mp4.html
为什么我的video播放不出来呢。求大神指教
IIS 里面 MIME注册 MP4格式 参考http://blog.csdn.net/qq19124152/article/details/35277789
视频播放速度很快
在网上找了很多资料都做不成,安卓手机页面,点击video播放自动全屏效果!求大神做个例子
霍霍浏览器,IE8 都无法观看该页面的视屏
http://html5media.googlecode.com/svn/trunk/src/html5media.min.js
这个js放到自己服务器上
我这边测试ie6,7无效
引用了你的js,不管是直接引用线上的 还是下载到本地,IE8及以下版本的IE浏览器都提示不支持该标签,我打开你的dome页面,IE8是可以播放的,查看你的dome源码也没有发现特别的地方,所以我就搞不懂为什么我的播放不出来!能教教我么?
大家别激动. 经过我实践. 发现2条规则
1.
应用这个最新的地址, 我把它下载下来都不行,只能这样用
2.视频文件在本地确实不行,可以用编辑器自带的简单HTTP服务器,打开
本地化的html5js的话,没办法播放视频。。如何解决?
这个JS有19k哦,貌似有点大,不过旭哥这个东西真强大
貌似IE9用不了…
鑫哥,你的demo为什么放到本地就无效了?
即使把flowplayer.swf下载到跟js同一个目录,还是不行呢。
无法播放的有firefox, opear, safari
鑫哥我错了,似乎是自己路径没写对
怎么改,可以写个给我看下吗? 我放本地上面也不可以用,
看了你这篇文章很是激动,想请问你在命令<video src="video.mp4"中,这个mp4文件是怎么添加的,可不可以先上传到youtube上,然后复制网页连接替换“video.mp4”?支持wmv格式吗?
我试了试不行,不知道问题出在哪里?请求帮助阿!谢谢
我想问一下,我是有个项目老大要用HTML5。我是做PHP的会HTML,现在需要用到5.我用video跟audio 都没问题。但如果同一个页面上,有video,audio 再加上form用到autofocus这个属性的时候。video和audio就不会显示了。我想知道是为什么。求解
想问问audio的标签该如何解决…
很好,但如果说flowplayer都有playlist的话,但是在Html5的video标签如何实现一个影片播放完了自动切换下一个呢?如何实现playlist?
请问那个js文件,下载到本地怎么不能用啊,就是那个给ie用flash的。请问js是不是要相应改什么地方?
你的demo在我本机是可以正常播放的,但是我把那个cat.mp4下载到本地,然后将代码中的:src=\”http://www.zhangxinxu.com/study/media/cat.mp4\”改成了:src=\”cat.mp4\”之后,在我本地就无法播放了。请问这是什么原因?
视频文件仍到根目录或在服务器上看效果试试
高手 如何让FF能支持MP4? 我FF4.0 就load一下就出了个大X chrom和ie9都OK
请问 在chrom 浏览器下 为什么和firefox以及Ie下的播放器不一样呢?
能否让体验都一样呢??
@丛立 这个与浏览器有关,无法一致。
大神,手机上如何实现视频自动播放