vue使用video.js依赖接入视频流((hls(m3u8)、flv))的示例代码

 更新时间:2024年01月14日 10:48:42   作者:神似彭于晏的程序猿  
这篇文章给大家介绍了vue如和使用video.js依赖接入视频流((hls(m3u8)、flv)),文章通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下

前端安装video.js相关依赖

// video.js
npm install video.js
// 安装flv,用于播放 FLV
npm install videojs-flvjs-es6
npm install flv.js

组件引入video.js依赖

import videojs from "video.js";
import "videojs-flvjs-es6";
import "video.js/dist/video-js.css";

组件中使用video.js播放视频

html部分

// 视频标签容器
<template>
  <div style="width: 100%; height: 100%" id="videoBottom">
    <video
      id="videoPlayer"
      class="video-js vjs-fluid vjs-big-play-centered"
      style="width: 100%; height: 100%; object-fit: fill"
      controls
      preload="auto"
      muted
      autoplay
      loop
    ></video>
  </div>
</template>

js部分

<script>
import videojs from "video.js";
import "videojs-flvjs-es6";
import "video.js/dist/video-js.css";
 
export default {
  data() {
    return {
      myVideo: null,
    };
  },
  methods: {
    initVideo() {
      this.$nextTick(() => {
        const options = {
          // 初始化默认宽高,避免第一次加载闪一下
          width: 660,
          height: 345,
          fullscreen: {
            options: { navigationUI: "hide" },
          },
          techOrder: ["html5", "flvjs"], // 兼容顺序
          // 配置支持播放hls格式视频流
          html5: {
            hls: {
              withCredentials: true,
            },
          },
          // 配置支持播放flv格式视频流
          flvjs: {
            mediaDataSource: {
              isLive: false,
              cors: true,
              withCredentials: false,
            },
          },
          sources: [
            {
              src: "https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8",
              type: "application/x-mpegURL",
            },
          ],
        };
        const videElement = document.getElementById(`videoPlayer`);
 
        this.myVideo = videojs(videElement, options, function onPlayerReady() {
          videojs.log("播放器准备好了");
        });
      });
    },
    
    // 重新加载播放器,适用于tab栏切换更换视频流数据
    updateVideoPlay() {
      const myVideoDiv = document.getElementById("videoBottom");
      myVideoDiv.innerHTML =
        "<video id='videoPlayer' class='video-js vjs-default-skin vjs-big-play-centered' controls muted autoplay style='width: 100%;height: 100%; object-fit: fill'></video>";
    }
  },
  mounted() {
    this.initVideo();
  },
  destroyed() {
    this.myVideo.dispose(); // 销毁视频
  },
};
</script>

sources配置描述(更改type值即可播放对应的视频格式)

格式type值
hls(m3u8)application/x-mpegURL
flvvideo/x-flv

效果演示

以上就是vue使用video.js依赖接入视频流((hls(m3u8)、flv))的示例代码的详细内容,更多关于vue video.js接入视频流的资料请关注脚本之家其它相关文章!

相关文章

  • 从零开始用webpack构建一个vue3.0项目工程的实现

    从零开始用webpack构建一个vue3.0项目工程的实现

    这篇文章主要介绍了从零开始用webpack构建一个vue3.0项目工程的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • vue中实现当前时间echarts图表时间轴动态的数据(实例代码)

    vue中实现当前时间echarts图表时间轴动态的数据(实例代码)

    这篇文章主要介绍了vue中实现当前时间echarts图表时间轴动态的数据,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10
  • vue3自定义指令实现按钮防抖示例详解

    vue3自定义指令实现按钮防抖示例详解

    这篇文章主要为大家介绍了vue3自定义指令实现按钮防抖示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Vue实现可拖拽组件的方法

    Vue实现可拖拽组件的方法

    这篇文章主要为大家详细介绍了Vue实现可拖拽组件的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • vue配置修改端口方式

    vue配置修改端口方式

    文章介绍了如何配置Vue.js项目的端口,以避免与Spring Boot后台项目的默认端口冲突,通过修改Vue的配置文件,将端口更改为其他值,如8081,可以成功启动Vue项目
    2026-01-01
  • Nuxt3嵌套路由,报错Failed to resolve component: NuxtChild的解决

    Nuxt3嵌套路由,报错Failed to resolve component: NuxtChild的解决

    这篇文章主要介绍了Nuxt3嵌套路由,报错Failed to resolve component: NuxtChild的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • electron中使用本地数据库的方法详解

    electron中使用本地数据库的方法详解

    众所周知,electron是可以开发桌面端的框架,那我们有一些数据不想让别人看到,只能在自己的电脑上展示时怎么办呢,这个时候就可以用到本地数据库,本文将以sqlite3为例介绍一下electron如何使用本地数据库
    2023-10-10
  • vue+js实现视频淡入淡出效果

    vue+js实现视频淡入淡出效果

    这篇文章主要为大家详细介绍了vue+js实现视频的淡入淡出,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Vue系列之Element UI表单自定义校验规则

    Vue系列之Element UI表单自定义校验规则

    表单校验是注册环节中必不可少的操作,表单校验可以提醒用户填写数据规则以确保用户提交数据的效性,也可以防止用户因误操作而占用服务器资源,这篇文章主要给大家介绍了关于Vue系列之Element UI表单自定义校验规则的相关资料,需要的朋友可以参考下
    2022-09-09
  • vue+el-table可输入表格使用上下键进行input框切换方式

    vue+el-table可输入表格使用上下键进行input框切换方式

    文章介绍了如何在使用Vue和Element UI的el-table组件时,通过上下键在输入框之间切换,并且特别说明了如何在完工数量这一列中使用上下键进行切换
    2025-11-11

最新评论