多站点都会使用到视频. HTML5 提供了展示视频的标准。
检测您的浏览器是否支持 HTML5 视频:
检测
Web站点上的视频
直到现在,仍然不存在一项旨在网页上显示视频的标准。
今天,大多数视频是通过插件(比如 Flash)来显示的。然而,并非所有浏览器都拥有同样的插件。
HTML5 规定了一种通过 video 元素来包含视频的标准方法。
浏览器支持
Internet Explorer 9+, Firefox, Opera, Chrome, 和 Safari 支持 <video> 元素.
注意: Internet Explorer 8 或者更早的IE版本不支持 <video> 元素。
HTML5 (视频)- 如何工作
如需在 HTML5 中显示视频,您所有需要的是:
实例
<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
您的浏览器不支持Video标签。
</video>
<video> 元素提供了 播放、暂停和音量控件来控制视频。
同时<video> 元素元素也提供了 width 和 height 属性控制视频的尺寸.如果设置的高度和宽度,所需的视频空间会在页面加载时保留。。如果没有设置这些属性,浏览器不知道大小的视频,浏览器就不能再加载时保留特定的空间,页面就会根据原始视频的大小而改变。
<video> 与</video> 标签之间插入的内容是提供给不支持 video 元素的浏览器显示的。
<video> 元素支持多个 <source> 元素. <source> 元素可以链接不同的视频文件。浏览器将使用第一个可识别的格式:
视频格式与浏览器的支持
当前, <video> 元素支持三种视频格式: MP4, WebM, 和 Ogg:
浏览器 | MP4 | WebM | Ogg |
---|---|---|---|
Internet Explorer | YES | NO | NO |
Chrome | YES | YES | YES |
Firefox | YES | YES | YES |
Safari | YES | NO | NO |
Opera | YES (从 Opera 25 起) | YES | YES |
MP4 = 带有 H.264 视频编码和 AAC 音频编码的 MPEG 4 文件
WebM = 带有 VP8 视频编码和 Vorbis 音频编码的 WebM 文件
Ogg = 带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件
视频格式
格式 | MIME-type |
---|---|
MP4 | video/mp4 |
WebM | video/webm |
Ogg | video/ogg |
HTML5 <video> - 使用 DOM 进行控制
HTML5 <video> 和 <audio> 元素同样拥有方法、属性和事件。
<video> 和 <audio>元素的方法、属性和事件可以使用JavaScript进行控制.
其中的方法有用于播放、暂停以及加载等。其中的属性(比如时长、音量等)可以被读取或设置。其中的 DOM 事件能够通知您,比方说,<video> 元素开始播放、已暂停,已停止,等等。
例中简单的方法,向我们演示了如何使用 <video> 元素,读取并设置属性,以及如何调用方法。
实例 1
为视频创建简单的播放/暂停以及调整尺寸控件:
播放/暂停 放大 缩小 普通
上面的例子调用了两个方法:play() 和 pause()。它同时使用了两个属性:paused 和 width。
HTML5 Video 标签
标签 | 描述 |
---|---|
<video> | 定义一个视频 |
<source> | 定义多种媒体资源,比如 <video> 和<audio> |
<track> | 定义在媒体播放器文本轨迹 |
Video.js是一个基于HTML5世界而构建的网络视频播放器。它支持HTML5和Flash视频,还可以通过插件支持全球最受欢迎的视频网站。它支持桌面和移动设备上的视频播放。该项目于2010年中期启动,现在该播放器已用于超过400,000个网站,可见其受欢迎程度,所以它可能真的是你一直在寻找的Web端的视频播放器!在Github上也有了超过20k+的star数!
https://github.com/videojs/video.js
你可以有很多种方法来使用,不管是使用cdn还是下载下来静态资源文件,亦或者是使用npm安装都可以获取它:
<link href="./video-js.min.css" rel="stylesheet"> <script src="./video.min.js"></script>
npm install video.js
接下来,使用Video.js就像创建<video>元素一样简单,但具有额外的数据设置属性。也就是一个配置对象,以下代码是一个最简单的示例:
<video id="my-player" class="video-js" controls preload="auto" poster="封面url,设置就可以显示封面" data-setup='{}'> <source src="视频URL" type="video/mp4"> </source> </video>
当页面加载时,Video.js将找到此元素并自动在其位置设置播放器。如果你不想使用自动设置,可以不使用data-setup属性并使用videojs函数手动初始化<video>元素:
var player = videojs('my-player');
相关回调函数
var options = {}; var player = videojs('my-player', options, function onPlayerReady() { videojs.log('Your player is ready!'); this.play(); this.on('ended', function() { videojs.log('Awww...over so soon?!'); }); });
Video.js的文档相当的详细,本文篇幅不宜过长,如果你已经对它感兴趣,那么你就可以对照文档准备学习下了,由于其功能很强悍,那么相对应的文档也就非常的详细,分为详细的API文档和学习指南,通过阅读文档来实现你想要的功能(下面是一个简单的截图,使用了浏览器自带的翻译功能,很容易也能看懂):
官网也提供了一些比较高级的用法的demo,下面是一个带播放列表的示例(此示例不足以体现他的强大):
可切换视频
画中画
丰富的菜单按钮工具(包括音频、多语言等设置),支持中文语言包
除了以上demo所展示的,还包括自定义皮肤、React中使用、插件等功能,可以说是非常的丰富了,要比自带的Video标签功能丰富了无数倍,有视频网站开发的朋友可以尝试使用它,我相信它一定对你有所帮助!
插件千千万,好用的却不多,特别是相对复杂的,要么收费,要么功能不够强大,但是有很多开发者贡献了开源的项目供开发者使用才造就了如今技术的蓬勃发展,Video.js只是其中一个,本文只是提出来这样一个必须赞一个的插件,其详细的内容远不止于此,感兴趣的话可以阅读相关文档学习,如果你有更好的建议,也可以在评论区留言分享,希望对你有所帮助!
者:semlinker
转发链接:https://mp.weixin.qq.com/s/tgiHiint3iTfPnr318kuFg
*请认真填写需求信息,我们会在24小时内与您取得联系。