前面谈到了网页怎么嵌入flash视频,就想到了另一个问题,flash格式视频在手机上播放,需要手机安装flash播放插件,而且flash视频绝对无法在苹果手机上播放,因为苹果对flash的不支持,导致现在flash前景堪忧。当然目前已经有些插件可以支持苹果手机播放flash视频。
这里就要谈一谈html5的video标签了。html5功能的强大是毋庸置疑的,而且作为一款为苹果量身定做的前端技术,现在html5对各浏览器的支持也越来越好,在手机端的支持也是让我觉得没有什么可以相比的。
在html5中嵌入视频非常简单,仅仅只需要如下代码就可以实现了:
<video id="media" width="720" height="400" controls>
<source src="http://minkbooks.com/content/trailer.mp4">
<source src="http://minkbooks.com/content/trailer.ogg">
</video>
- autoplay autoplay 如果出现该属性,则视频在就绪后马上播放。
- controls controls 如果出现该属性,则向用户显示控件,比如播放按钮。
- height pixels 设置视频播放器的高度。
- loop loop 如果出现该属性,则当媒介文件完成播放后再次开始播放。
- muted muted 规定视频的音频输出应该被静音。
- poster URL 规定视频下载时显示的图像,或者在用户点击播放按钮前显示的图像。
- preload preload 如果出现该属性,则视频在页面加载时进行加载,并预备播放。如果使用 "autoplay",则忽略该属性。
- src url 要播放的视频的 URL。
- width pixels 设置视频播放器的宽度。
<!--video.js html5视频播放器-->
<link rel="stylesheet" type="text/css" href="assets/lib/css/video-js.css">
<script src="assets/lib/js/jquery.js"></script>
<script src="assets/lib/js/movive/video.js"></script>
<!--IE低版本支持-->
<script src="assets/lib/js/movive/html5media.js"></script>
可以看到有一个html5media.js的类库,这个类库是对IE低版本的支持,大家都知道,IE对html5的支持不太好,这个看项目需求可以加入。直接网上就可以下载。
<video id="Html5Video" class="video-js vjs-default-skin" preload controls autoplay width="100%"
poster="assets/images/movie/poster.jpg">
<source id="src1" src="assets/movie/video.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' />
<source id="src2" src="assets/movie/zhiyan.ogv" type='video/ogg; codecs="theora, vorbis"' />
<source id="src3" src="assets/movie/linyoujia.webm" type='video/webm; codecs="vp8, vorbis"' />
您的浏览器不支持 video 标签。
</video>
html5支持三种格式的视频:mp4,ogv,和webm。首先要准备一个 mp4 格式的视频(h264),可以在苹果设备中使用;其次要准备 ogv 格式的视频,用在火狐浏览器中;最后要准备一下 webm 格式的视频,这个可以用在谷歌浏览器等。这样就确保支持几乎所有的主流浏览器了。
在这里要重点强调的一点是视频的准备,我们准备mp4,ogv,webm格式的视频,可能会遇见明明是mp4格式的视频,为什么不能播放呢?而且用一些转码软件转码视频给mp4,ogv,webm格式的视频也是无法播放,这里可能是转码的问题,比如:mp4要求是h246,可是按照要求转码后,可能还是无法播放。这里给各位大侠推荐一款视频转换软件,专门为html5量身定做的:Freemake Video Converter。直接转码为html5视频,就会转换给MP4,ogv.webm三种格式的视频,并且会生成相应的代码。
<script> _V_.options.flash.swf = "assets/lib/js/movive/video-js.swf";</script>
