首页 > 其他分享 >vue使用JSWebrtc播放webrtc视频流

vue使用JSWebrtc播放webrtc视频流

时间:2024-03-19 17:15:47浏览次数:23  
标签:vue jswebrtc 视频流 videoSrc player JSWebrtc videoDom webrtc

1、下载JSWebrtc.min.js文件

地址:https://github.com/kernelj/jswebrtc/tree/master/dist

 

或者再此路径下载 https://files.cnblogs.com/files/blogs/702532/jswebrtc.min.js?t=1710839018&download=true

2、使用jswebrtc

2.1文件放到public/static目录下,位置不能放错

 

2.2在index.html中引用

<script src="static/jswebrtc.min.js" type="text/javascript"></script>

 

 

3、自定义webrtc组件

<template>
  <!-- webrtc播放器 -->
  <video id="jswebrtc" ref="jswebrtc" controls style="width: 100%; height: 100%; object-fit: fill;"></video>
</template>

<script>
export default {
  name: 'webrtcPlayer',
  props: {
    videoSrc: {
      type: String,
      default: ''
    }
  },
  data () {
    return {
      player: null
    }
  },
  mounted() {
    // this.initVideo();
    this.$watch('videoSrc', () => {
      if (this.videoSrc) {
        this.initVideo(this.videoSrc);
      }
    }, {immediate: true})
  },
  methods: {
    initVideo(url) {
      if (this.player) {
        this.player.destroy();
        this.player = null;
      }

      let videoDom = document.getElementById('jswebrtc');
      // let url = 'webrtc://192.168.50.188/01/0001/aivision/stream'
      this.player = new JSWebrtc.Player(url, {
        video: videoDom,
        autoplay: true,
        onplay: (obj) => {
          videoDom.addEventListener('canplay', function(e) {
            videoDom.play();
          })
        }
      })
    }
  },
  beforeDestroy() {
    if (this.player) {
      this.player.destroy();
    }
  }
}
</script>

<style>
</style>

4、组件中引用webrtc组件

import webrtcPlarer from "…/./../components/webrtcPlayer/webrtcPlarer.vue";
export default {
name:'test',
components: {webrtcPlarer},
data(){}
}

<webrtcPlarer :videosrc="vediosrcTemp" width="100%" > <webrtcPlarer>
this.vediosrcTemp="webrtc:"
 

 

标签:vue,jswebrtc,视频流,videoSrc,player,JSWebrtc,videoDom,webrtc
From: https://www.cnblogs.com/j-a-h/p/18083401

相关文章

  • vue2项目升级vue3的小变化
    1、template的slot写法变化vue2:<templateslot-scope="{row,index}"slot="action">vue3:<template#action="{row,index}">2、路由页面缓存的写法变化vue2:<keep-alive:include="cacheList"><router-view/>......
  • 基于 Vue3打造前台+中台通用提效解决方案(中)
    33、实现全屏展示功能我们知道在原生dom上,提供了一些方法来供我们开启或关闭全屏:Element.requestFullscreen()Document.exitFullscreen()Document.fullscreenDocument.fullscreenElement一般浏览器使用requestFullscreen()和exitFullscreen()来实现早期版本Chrome......
  • vue3+element plus 判断文字是否溢出,溢出显示el-tooltip
    用到elementplus表格,:show-overflow-tooltip="true"属性在 "element-plus":"2.2.27",版本不支持修改el-tooltip文本的样式: 满足2点需求:①文字只有一行不显示悬浮框;②超出一行显示省略号,鼠标有悬浮框,且保留文本的换行效果。关键代码:<el-table-columnlabel="建议内容......
  • WebStorm 怎么编译 Vue 工程
    最近一些工程项目,需要用到Vue,只能从头学一下。目前使用的WebStorm,但是不知道怎么编译,还要下载Node.js,对这个不熟悉。最终找到了编译方法:记录一下1.打包方法1.1在工程里面,package.json,点击右键,选择显示npm脚本。然后点击build1.2菜单-->视图-->工具窗口-->npm,然......
  • 基于Java+Vue的人力资源管理系统设计与实现【附源码+文档】
        前言:eHR人力资源管理系统是一个综合性的、用于优化人力资源管理流程的系统。它涵盖了人力资源管理的多个方面,包括招聘、人事、考勤、绩效、社保公积金以及薪酬管理等。以下是关于这些模块的详细解释:一、招聘管理招聘管理是eHR系统的重要组成部分,它可以帮助企业实现......
  • VUE前端打包报错:TypeError: Class extends value undefined is not a constructor or
    在执行npmrunbuild的时候遇到了错误:TypeError:Classextendsvalueundefinedisnotaconstructorornull;而执行npmrunserve是可以正常执行的,报错如下:buildingforproduction...ERRORTypeError:ClassextendsvalueundefinedisnotaconstructorornullTypeErr......
  • Vue使用教程
    1.Vue初体验1.1Vue是什么Vue是一个现代JavaScript框架,是jQuery的替代vue2经典版本vue3主流版本1.2Vue安装下载地址:https://unpkg.com/vue@2/dist/vue.js在项目中导入通过<scriptsrc="">来导入vue.js编写前端代码使用的IDE:WebStorm1.3Vue初体验一般在显示文本......
  • springboot+vue流浪动物宠物救助网站java-ssm
    系统包含两种角色:管理员、用户,系统分为前台和后台两大模块,主要功能如下。技术栈ide工具:IDEA或者eclipse编程语言:java数据库:mysql5.7+框架:springboot前端:vue.js+ElementUI详细技术:springboot+vue+MYSQL+MAVEN数据库工具:Navicat/SQLyog都可以前台:﹣动物领养/捐赠:......
  • springboot+vue中药知识科普网站java-ssm
    系统包含两种角色:管理员、用户,系统分为前台和后台两大模块,主要功能如下。技术栈ide工具:IDEA或者eclipse编程语言:java数据库:mysql5.7+框架:springboot前端:vue.js+ElementUI详细技术:springboot+vue+MYSQL+MAVEN数据库工具:Navicat/SQLyog都可以前台:﹣首页:展示网站......
  • java基于Spring boot+vue的小区物业报修缴费居民论坛交流系统ssm
    系统包含两种角色:管理员、用户,系统分为前台和后台两大模块,主要功能如下。技术栈ide工具:IDEA或者eclipse编程语言:java数据库:mysql5.7+框架:springboot前端:vue.js+ElementUI详细技术:springboot+vue+MYSQL+MAVEN数据库工具:Navicat/SQLyog都可以前台:1.首页:展示小区......