我的公司正在推出大量在线教程/培训视频,这些视频将嵌入网页中进行显示。我们需要一个简单的跨浏览器解决方案,以适应大多数用户进行内联查看。
我读到的一个解决方案(并不是很简单),是创建每个视频的flash、mp4和avi版本,并让javascript插件确定哪个适合浏览器最佳。
我的公司正在推出大量在线教程/培训视频,这些视频将嵌入网页中进行显示。我们需要一个简单的跨浏览器解决方案,以适应大多数用户进行内联查看。
我读到的一个解决方案(并不是很简单),是创建每个视频的flash、mp4和avi版本,并让javascript插件确定哪个适合浏览器最佳。
我曾经尝试过让视频在所有浏览器中播放。最好的方法是使用HTML5视频标签并设置Flash回退。这实际上不需要任何JavaScript即可工作。此网站:http://camendesign.com/code/video_for_everybody提供了如何操作的详细说明。
您需要设置一个基本类似于以下内容的东西:
<video width="640" height="360" controls>
<!-- MP4 must be first for iPad! -->
<source src="__VIDEO__.MP4" type="video/mp4" /><!-- Safari / iOS video -->
<source src="__VIDEO__.OGV" type="video/ogg" /><!-- Firefox / Opera / Chrome10 -->
<!-- fallback to Flash: -->
<object width="640" height="360" type="application/x-shockwave-flash" data="__FLASH__.SWF">
<!-- Firefox uses the `data` attribute above, IE/Safari uses the param below -->
<param name="movie" value="__FLASH__.SWF" />
<param name="flashvars" value="controlbar=over&image=__POSTER__.JPG&file=__VIDEO__.MP4" />
<!-- fallback image. note the title field below, put the title of the video there -->
<img src="__VIDEO__.JPG" width="640" height="360" alt="__TITLE__"
title="No video playback capabilities, please download the video below" />
</object>
</video>
视频标签是一个HTML5标签,你可以在现代浏览器上使用它来展示视频文件。然而,为了在每个浏览器上正确显示视频,你需要准备多种不同的格式。例如,Firefox只支持webm和ogg格式,而Safari只支持h264和mp4格式。这里有一篇很好的文章:http://diveintohtml5.ep.io/video.html。你可以下载一个简单的转换软件将你的视频转换成所有这些格式,这个软件在这里:http://www.mirovideoconverter.com/。其他浏览器(特别是IE)不支持HTML5视频标签,所以你必须包含Flash格式,如果浏览器不知道如何处理视频标签,它会自动回退到Flash格式。<link href="http://vjs.zencdn.net/c/video-js.css" rel="stylesheet">
<script src="http://vjs.zencdn.net/c/video.js"></script>
body:
<div class="vid">
<video id="vid01" class="video-js vjs-default-skin" controls="controls" preload="none" width="640px" height="264px"
poster="../../Content/YourInitialPicture.jpg">
<source src="../../Content/YourVideo.mp4" type='video/mp4'/> <!-- IE / Safari -->
<source src="../../Content/YourVideo.webm" type='video/webm'/> <!-- Mozilla FF -->
<source src="../../Content/YourVideo.ogg" type='video/ogg'/> <!-- Chrome / Opera -->
<track kind="captions" src="../../Content/YourVideoCaption.vtt" srclang="en" label="English" />
</video>
<script>
var myPlayer = _V_("vid01");
</script>
</div>
将上述代码复制/粘贴到您的<body></body>
中,并将视频路径添加到src="../../"
您可以使用这些免费转换器转换您的视频。
就这么简单!
就跨浏览器部分而言,我也找到了Video For Everybody。我已经尝试过MediaelementJS Wordpress插件,但它解决的问题比引起的问题还多。我怀疑问题是由于Wordpress插件而不是实际库造成的。如果可能的话,我正在寻找一些不需要JavaScript即可工作的东西。到目前为止,我想到的只有这个纯HTML:
<video width="300" height="150" controls="controls" poster="http://sandbox.thewikies.com/vfe-generator/images/big-buck-bunny_poster.jpg" class="responsive">
<source src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.ogv" type="video/ogg" />
<source src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" type="video/mp4" />
<source src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.webm" type="video/webm" />
<source src="http://alex-watson.net/wp-content/uploads/2014/07/big_buck_bunny.iphone.mp4" type="video/mp4" />
<source src="http://alex-watson.net/wp-content/uploads/2014/07/big_buck_bunny.iphone3g.mp4" type="video/mp4" />
<object type="application/x-shockwave-flash" data="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf" width="561" height="297">
<param name="movie" value="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf" />
<param name="allowFullScreen" value="true" />
<param name="wmode" value="transparent" />
<param name="flashVars" value="config={'playlist':['http://sandbox.thewikies.com/vfe-generator/images/big-buck-bunny_poster.jpg',{'url':'http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4','autoPlay':false}]}" />
<img alt="No Video" src="http://sandbox.thewikies.com/vfe-generator/images/big-buck-bunny_poster.jpg" width="561" height="297" title="No video playback capabilities, please download the video below" />
</object>
<strong>Download video:</strong> <a href="video.mp4">MP4 format</a> | <a href="video.ogv">Ogg format</a> | <a href="video.webm">WebM format</a>
</video>
<source>
时会停止尝试播放视频,因此最终将ogg作为第一个<source>
。video/ogg
而不是video/ogv
.iphone.mp4
文件适用于iPhone 4+,它只能播放MPEG-4带有H.264 Baseline 3视频和AAC音频的视频。我发现使用Handbrake转码器以预设格式将适用于iPhone 4+,但要使iPhone 3GS正常工作,您需要使用分辨率较低的预设格式,我将其添加为video.iphone3g.mp4
。<source>
元素上使用media
属性来针对移动设备进行媒体查询,但目前旧版的Apple和Android设备支持得还不够好。video
标签在各种浏览器上播放成功。你有查过任何 JQuery 插件吗? 有很多插件可以在跨浏览器下良好运作。 你可以查看http://www.no-margin-for-errors.com/projects/prettyphoto-jquery-lightbox-clone/