在vue展示萤石云监控视频

本文介绍了如何通过萤石云开放平台获取appKey和accessToken,以及两种方法在Vue应用中嵌入视频直播流,一种是使用iframe和accessToken,另一种是利用videojs-contrib-hls处理m3u8格式的流媒体链接。
摘要由CSDN通过智能技术生成

效果:
在这里插入图片描述

萤石云开放平台appKey申请可在开放平台官网注册登录https://open.ys7.com/view/app/app_edit.html(官网)
在这里插入图片描述
萤石云开放平台:https://open.ys7.com/console/device.html

在这里插入图片描述在这里插入图片描述
就可以拿到一个地址,复制下来,在下面或用到
在这里插入图片描述

代码:

<template>
  <div class="home">
		 <iframe
          v-if="srcUrl != ''"
          :src="srcUrl"
          frameborder="0"
          sandbox="allow-same-origin allow-scripts allow-popups allow-forms"
     	   ></iframe>
 
          </div>
</template>
<script>
  
export default {
 data() {
    return {
	srcUrl:'',
	accessToken :'',
		},
	
	},
method:{
  //获取accessToken-摄像头 
//  video =   https://open.ys7.com/api/lapp/
	async BWgetaccessToken() { 
      await service
        .post(
          video +
            "/token/get?appKey=*********&appSecret=*******"
        )
        .then((res) => {
          console.log(res, "获取accessToken");
          this.accessToken = res.data.data.accessToken;
         
          this.srcUrl =
           "https://open.ys7.com/ezopen/h5/iframe_se?url=" +
            "ezopen://open.ys7.com/***设备号***/1.hd.live" +
            "&autoplay=1&audio=1&accessToken=" +
             this.accessToken;
        })
        .catch((err) => {
          console.log(err, "失败");
          this.$message({
            message: "失败",
            type: "error",
          });
        });
    },
	}
	}
</script>

方法二:
需要安装下载video和 videojs-contrib-hls

“videojs-contrib-hls”: “^5.15.0”,
“vue”: “^2.6.11”,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
随便复制一个地址
在这里插入图片描述

代码:

<template>
  <div class="videobox" v-if="videosrc != ''">
          <video ref="videoPlayer" id="video" class="video-js">
            <!-- <source :src="videosrc" type="rtmp/flv" /> -->
            <source :src="videosrc" type="application/x-mpegURL" />
          </video>
        </div>
</template>

<script>
import "videojs-contrib-hls";
import Videojs from "video.js";
import "video.js/dist/video-js.css"; 
 export default {

 data() {
    return {
	videosrc:'',
	  }, 
	},
 mounted() {
     this.videosrc =
              "https://open.ys7.com/v3/openlive/*****_1_2.m3u8?*********";
            this.$nextTick(() => {
              Videojs(this.$refs.videoPlayer, {
                muted: true, //muted : true/false 是否静音
                controls: false,
                BigplayButton: false,
                autoplay: true,
                fluid: true, //Video.js播放器将具有流畅的大小。换句话说,它将扩展以适应其容器。
                // aspectRatio: "10:6",
                aspectRatio: "16:9",
                fullscreen: {
                  options: {
                    navigationUI: "hide",
                  },
                },
                techOrder: ["html5"], // 兼容顺序
                flvjs: {
                  mediaDataSource: {
                    isLive: false,
                    cors: true,
                    withCredentials: false,
                  },
                },
              });
            }); 
         
	}
	}
</script>

这样就可以了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值