vue-video-player 报错The media could not be loaded, either because the server or network failed or because the format is not supported

main.js 引入

import VideoPlayer from 'vue-video-player'
import 'video.js/dist/video-js.css'
Vue.use(VideoPlayer)

html

             <video-player
              class="video-player vjs-custom-skin"
              ref="videoPlayer"
              :playsinline="true"
              :options="playerOptions"
            ></video-player>

配置

playerOptions: {
        playbackRates: [0.7, 1.0, 1.5, 2.0], // 播放速度
        autoplay: false, // 如果true,浏览器准备好时开始回放。
        muted: false, // 默认情况下将会消除任何音频。
        loop: false, // 导致视频一结束就重新开始。
        preload: 'auto', // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
        language: 'zh-CN',
        aspectRatio: '16:9', // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
        fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
        sources: [
          {
            src: 'http://vjs.zencdn.net/v/oceans.mp4',
            type: 'video/mp4'
          }
        ],
        poster: require('@/assets/home1/sp1.png'), // 你的封面地址
         document.documentElement.clientWidth,
        notSupportedMessage: '此视频暂无法播放,请稍后再试', // 允许覆盖Video.js无法播放媒体源时显示的默认信息。
        controlBar: {
          timeDivider: true,
          durationDisplay: true,
          remainingTimeDisplay: false,
          fullscreenToggle: true // 全屏按钮
        }
      }

报错:

在排查这个问题的时候可以按照以下步骤依次排除原因

1、核实video的url地址是否有误(找了好多地址都是这个错,地址共同点是都是.cn结尾的网址,而cn结尾的网站很难注册,后来换了.net网址,正常播放)

2、核实用户上网地区(有部分地区可能有限制,比如新疆、西藏)

3、核实用户的上网环境,是家庭网络还是公司网络,如果是家庭网络,让用户重启路由器试试。如果是公司网络,让用户问下公司网管是否禁掉相关协议。

4、如无法确定所连网络是否禁止相关协议,可以建议用户用电脑连接手机热点后再尝试播放,如果连接手机热点后能播放,那一定是相关视频协议被禁掉了。

5、有部分朋友出现在安卓手机上可以正常播放,但苹果手机iOS系统上无法播放的情况,经排查,是视频的问题,换一个视频或将视频重新转码就可以了。(总结来自http://www.sunqizheng.com/blog/956.html)

原文地址:https://www.cnblogs.com/wwj007/p/13503015.html