vue项目中应用vue-video-player与videojs-flash实现RTMP流播放

百度了实现方法:

1、npm安装vue-video-player与videojs-flash

2、再引入

3、配置参数

但一步一个坎,踩过的坑,有空就记下来,希望以后不跳进同一坑。

1、npm安装时,报错

npm ERR! errno: -4048,
npm ERR! code: ‘EPERM’,

重新安装了几次都没有成功,网上有说不能用cnpm啥的,也没解决。

删除目录C:\Users\Administrator\AppData\Roaming\npm-cache

npm cache clean --force

再安装都不成功。

npm cache verify

后来执行了检验命令后,安装成功,还是cnpm安装成功的。

正常安装依赖:

cnpm install vue-video-player --save 
cnpm install videojs-flash --save

2、vue组件中引用

import 'video.js/dist/video-js.css'
import 'vue-video-player/src/custom-theme.css'
import { videoPlayer } from 'vue-video-player'
import 'videojs-flash'


components: {
    videoPlayer,
  },

页面template中引用

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

 设置视频播放参数

      // 视频播放
      this.videoOptions = {
          live: true,
          autoplay: true,
          fluid: true,
          notSupportedMessage: '暂时无法播放',
          controlBar: {
            timeDivider: true,
            durationDisplay: true,
            remainingTimeDisplay: false,
            fullscreenToggle: true // 全屏按钮
          },
          techOrder: ['flash'],
          flash: {
            hls: { withCredentials: false },
            swf: 'static/video-js.swf' // 引入静态文件swf
          },
          sources: [{ // 流配置,数组形式,会根据兼容顺序自动切换
            type: 'rtmp/mp4',
            src: 'rtmp://58.200.131.2:1935/livetv/hunantv' //这是芒果TV现场直播视频,地址是可以用的,最后需要替换成后端给的项目地址
          }]
        }

本以为会成功了,结果报错:

flash tech is undefined

查找问题,发现这句话:swf: 'static/video-js.swf'

自行下载了video-js.swf 并放到static目录下

还是报错,最后修改\build\webpack.base.conf.js

加入  modules: [path.resolve('node_modules'), 'node_modules'],

resolve: {
    extensions: [
        ....
        ],


    modules: [path.resolve('node_modules'), 'node_modules'],


    alias: {
        .....
    }
  },

再次启动,成功,但是被chrome拦截flash

3、设置浏览器

在浏览器设置中,搜索flash,网站设置--flash,把禁止去掉

刷新页面,加入允许列表中。

播放成功,折腾一个下午总算搞定了。

前端要学的东西还很多,加油了!

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值