vue使用video.js解决m3u8视频播放格式

今天被这个关于m3u8视频播放不了搞了一下午,这个项目所有的视频流都是m3u8格式的,后台给我们返回的都是m3u8格式的视频流,解决了好长时间,看了好多博客,只有这个博客给我点启发,去解决这个问题,请查看。会使用两种方法来解决这个问题

  • 第一种方法

1.在vue中安装下面这些插件


1

2

cnpm install  video.js --save

ccnp  install videojs-contrib-hls --save

 网上有说video.js版本太高不能使用,不能使用7以上的版本,用5版本的,最后结果测试,根本不需要什么低版本的高版本的,7版本以上的没有任何问题。小编已经亲自试验过

2.页面中使用


1

2

3

4

5

6

7

8

9

<video

          id="myVideo"

          class="video-js vjs-default-skin vjs-big-play-centered"

          controls

          preload="auto"

          style=‘width: 100%;height: auto‘

          :poster="poster"

        >

        </video>

 2.1 poster设置封面图,我在计算属性判断了一下,,如果后台上传封面图,就显示,如果没有上传就显示默认的图片,这个是根据自己的需求来解决

computed: {
    poster: function() {
      return this.posterSrc
        ? this.posterSrc
        : require("./../assets/images/coveImg.png");
    }
  },

2.2在methods中定义一个方法,getViewList用于请求数据,拿到视频流

2.3下载之后在页面中引入,如果引入video.js有问题,就在html文件引入


1

<script src="//vjs.zencdn.net/7.3.0/video.min.js"></script>

这样就可以了

2.3video.js配置项

getVideo() {
      this.myVideo = videojs("myVideo", {
        bigPlayButton: true,
        textTrackDisplay: false,
        posterImage: false,
        errorDisplay: false,
        hls: {
          withCredentials: true
        }
      });
    }

最重要的一点,标红的,一定一定要使用,下载了安装包,一定要在这个使用,才能失效。不然播放不了m3u8视频格式

  mounted() {
    this.$nextTick(() => {
      this.getVideo();
    });
    this.getViewList();
  },

定义的两个方法,放在mounted

  • 第二种方法

上面是实现播放m3u8,接下来说第二种实现方法


1

<script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>

地址请看   https://www.npmjs.com/package/hls.js/v/canary

引入上面那个文件

只需要写这么多,然后再mounted生命周期调用,但是这个没有video.js样式好看,都可以解决播放不了m3u8视频的格式问题。

以上都是来解决m3u8视频播放不了的问题,

原文地址:https://www.cnblogs.com/reeber/p/11267039.html

时间: 2024-11-09 18:13:38

vue使用video.js解决m3u8视频播放格式的相关文章

video.js支持m3u8格式直播

为什么要使用video.js? 1. PC端浏览器并不支持video直接播放m3u8格式的视频 2. 手机端各式各样的浏览器定制的video界面风格不统一,直接写原生的js控制视频兼容性较差 3. video.js解决以上两个问题,还可以有各种视频状态接口暴露,优化体验 核心代码: <!DOCTYPE html> <html> <head> <title>videojs支持hls直播实例</title> <link href=".

解决问题video.js 播放m3u8格式的文件,根据官方的文档添加videojs-contrib-hls也不行的原因解决了

想播放hls协议的就是m3u8文件,video.js原生不支持,官方有个插件videojs-contrib-hls 直接进入即可: <script src="__PUBLIC__/lib/video-js/videojs-contrib-hls.min.js"></script> 今天纠结了一天,调试到最后发现原来是跨域的问题: 如果使用阿里云OSS存储的话(别的服务器设置头部可访问即可),在跨域设置中做如下设置即可: 跨域问题:https://help.ali

React 基于antd+video.js实现m3u8格式视频播放及实时切换

文档连接地址(官网看起麻烦,看中文别人整理好的)https://blog.csdn.net/a0405221/article/details/80923090 React项目使用  安装依赖 npm install --save video.js 引入 import 'video.js/dist/video-js.min.css' import videojs from 'video.js' index.js (自己注释掉的可以不用) import React from 'react' impo

React video.js实现m3u8格式视频播放及实时切换

先安装: npm install --save video.js 导入 import videojs from 'video.js' import "video.js/dist/video-js.css"; constructor(props) { super(props); this.state = { current_url : '/001.m3u8', } this.player= null } componentDidMount   方法下 this.player = vide

html页面引用video.js播放m3u8格式视频

//head里面的内容,我是采用cdn引用的方式,因为项目太小 //只粘贴了不分代码,都是主要的,只要视频没问题,如果不能播放,建议换一个视频源,代码绝对没问题 都可以播放,下面video样式那里,一共三层, <head> <meta charset="utf-8" /> <title>二级造价</title> <script src="https://cdn.bootcss.com/vue/2.5.20/vue.min.

vue.js+video.js+videojs-contrib-hls支持PC端播放m3u8格式的视频

最近项目中PC需要支持m3u8格式的视频播放 项目框架是vue.js 参考网上教程npm video.js 和  videojs-contrib-hls 项目本地测试OK 打包上线插件内报错 所以最后不得了当外部js 引入 才解决 同时需要引入video.js.css样式 classl类名改为 如图 video.js初始化写在mounted内 如此可以正常的播放m3u8格式的视频了 原文地址:https://www.cnblogs.com/xk-one/p/9243323.html

vue播放rtmp、hls m3u8格式视频

选用Video.js作为视频播放库,如果要支持hls m3u8还需要videojs-contrib-hls组件的支持. 安装Video.js npm install --save video.js 安装videojs-contrib-hls npm install --save videojs-contrib-hls 创建一个vue的播放组件 src/components/VideoPlayer/index.vue <template> <div> <video ref=&q

video.js视频播放插件

1 初始化 Video.js初始化有两种方式. 1.1 标签方式 一种是在<video>标签里面加上class="video-js"和data-setup='{}'属性. 注意,两者缺一不可. 刚开始的时候我觉得后面的值为空对象{},不放也行, 导致播放器加载不出来,后来加上来就可以了. 1.2 JS方式 另外一种初始化 video.js 的方法是通过JS,格式: var player = videojs('my-player'); 这样有个要求,就是不能配置data-se

视频播放插件Video.js简单使用

插件下载地址: Video.js 是一个通用的在网页上嵌入视频播放器的 JS 库,Video.js 自动检测浏览器对 HTML5 的支持情况,如果不支持 HTML5 则自动使用 Flash 播放器. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-