安装video.js

video.js提供了多种安装方式,你可以根据项目的实际情况选择以下任意一种方式即可。

CDN

从 jsdelivr 安装 video.js
从 bootcdn 安装 video.js
从 unpkg 安装 video.js
其他cdn……

我们以7.10.2版的jsdelivr为例,需要引入的CDN链接为

https://unpkg.com/video.js@7.10.2/dist/video-js.min.css
https://unpkg.com/video.js@7.10.2/dist/video.min.js

完整代码为:

<html>
  <head>
    <link href="https://unpkg.com/video.js@7.10.2/dist/video-js.min.css" rel="stylesheet" />
    <!-- 如果要支持IE8,请使用v7之前的video.js,并且引入下面js垫片,来保障video.js中使用的js语法能够兼容到ie8。-->
    <!-- <script src="https://vjs.zencdn.net/ie8/1.1.2/videojs-ie8.min.js"></script> -->
  </head>
  <body>
    <video
      id="my-player"
      class="video-js"
      controls
      preload="auto"
      width="640"
      height="264"
      poster="http://vjs.zencdn.net/v/oceans.png"
    >
      <source src="http://vjs.zencdn.net/v/oceans.mp4" type="video/mp4" />
      <p class="vjs-no-js">
        如果想使用video.js,请确保浏览器可以运行JavaScript,并且支持
        <a href="https://videojs.com/html5-video-support/" target="_blank"
          >HTML5 video</a>
      </p>
    </video>

    <script src="https://unpkg.com/video.js@7.10.2/dist/video.min.js"></script>
    <script>
      let options = {};
      let player = videojs('my-player', options, function onPlayerReady() {
        videojs.log('播放器准备好了!');

        // In this context, `this` is the player that was created by Video.js.
        this.play();

        this.on('ended', function() {
          videojs.log('播放结束!');
        });
      });
    </script>
  </body>

</html>

NPM安装

我们可以使用npm包安装video.js。npm包的地址为video.js

安装命令

$ npm install --save-dev video.js

或者使用yarn

$ yarn add video.js -D

我们以vue为例,引入video.js:

<template>
  <div class="example example1">
    <video
      id="my-player"
      class="video-js"
      controls
      preload="auto"
      poster="//vjs.zencdn.net/v/oceans.png"
      data-setup='{}'
      muted 
    >
      <source src="//vjs.zencdn.net/v/oceans.mp4" type="video/mp4"/>
    </video>
  </div>
</template>
<script>
// 引入video.js先关的js和css
import videojs from 'video.js'
import "video.js/dist/video-js.min.css"
export default {
  name: 'App',
  mounted(){
    // 添加初始化宽和高,否则加载播放器的时候会闪一下
    let options = {width:960,height:400}
    videojs('my-player', options, function onPlayerReady() {
      videojs.log('播放器准备好了!');
      // 最新的浏览器一般禁止video自动播放,直接调用play()会报错。只有用户在页面上操作后或者在video标签上添加muted(静音)属性,才能调用play函数。本案例是在video标签上添加了muted属性。
      this.play();
      this.on('ended', function() {
        videojs.log('播放结束!');
      });
    });
  }
}
</script>

IE浏览器

从版本v7开始,video.js将不再支持ie11之前的浏览器,包括ie8、9、10。原因是这些浏览器不符合安全标准,且使用量占比较小。如果想在IE8、9、10中使用video.js,请使用v7版本之前的video.js。

并且因为v7版本之前的video.js中使用了ES5相关语法,在IE8中使用video.js的话,在引入video.js之前,还需要引入js的 polyfill (垫片)。video.js官方已经帮我们整理好了需要引入的垫片有哪些。

我们开发时,只需要引入以下链接即可。

https://vjs.zencdn.net/ie8/1.1.2/videojs-ie8.min.js

google分析

大约1%的cdn里包含了一个精简版的google分析,用来获取用户的浏览器和操作系统等信息。如果不想使用google分析,请在引入cdn之前,设置全局变量 HELP_IMPROVE_VIDEOJS 为false。

tip:v7版本不会发送任何数据的,v6.8及以上版本会根据 HELP_IMPROVE_VIDEOJS 的值,决定是否发送数据。

window.HELP_IMPROVE_VIDEOJS = false;