免费视频直播、点播H5播放器SkeyeWebPlayer 结合vue-baidu-map百度地图组件实现电子地图播放功能,最终效果如图所示:

在这里插入图片描述

SkeyeWebPlayer播放器如何在vue-baidu-map百度地图组件中结合覆盖物 点(bm-marker)、自定义覆盖物(bm-overlay)等,实现在百度地图上方播放实时视频流,(支持FLV、HLS、RTSP、WS-FLV/WS-RTSP、WEBRTC、HEVC/H265)
1、将SkeyeWebPlayer.js文件拷到static目录下

SkeyeWebPlayer.js 下载

在这里插入图片描述

libVSS.wasm 文件用于解码h265 ,和快照截取下载

2、引入方式 static/SkeyeWebPlayer/SkeyeWebPlayer.js
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>vue-map-skeye-player</title>
    <script src="static/SkeyeWebPlayer/SkeyeWebPlayer.js"></script> 
  </head>
  <body>
    <div id="app"></div>
    <!-- built files will be auto injected -->
  </body>
</html>
3、在项目中按装 vue-baidu-map
npm install vue-baidu-map --save
局部引入 vue-baidu-map
import {BaiduMap, BmView, BmLocalSearch, BmMarker, BmInfoWindow} from "vue-baidu-map";
components: {
    BaiduMap, BmView, BmLocalSearch, BmMarker, BmInfoWindow
},
渲染地图我想大家应该都会吧,直接上代码:
<template>
  <div class="bmap">
    <baidu-map
      class="map"
      ak="ydtz9Gf75Pt9swZvc0bWa8t0UWUSxW5I"
      :mapStyle="mapStyle"
      :center="mapcenter"
      :zoom="mapZoom"
      :scroll-wheel-zoom="true"
      :double-click-zoom="false"
      @ready="mapReady">

      <template v-for="(item, index) in markerPointData">
        <bm-marker
          :key="index"
          :position="item.markerPoint"
          :icon="{url: item.markerIcon, size: {width: 30, height: 30}}"
          @click="lookInfo(item, false)">
        </bm-marker>
      </template>

      <!-- 信息窗体 -->
      <InfoWindow ref="InfoWindow" @preview="preview"></InfoWindow>

      <!-- 监控窗体 -->
      <VideoWindow ref="videoWindow"></VideoWindow>
    </baidu-map>
  </div>
</template>
在监控点数据中绑定好经纬度坐标,和监控点相机图片;监控点数据格式 如下:
markerPointData: [
    {
      cameraId: 1,
      url: 'rtsp://39.101.128.80:5540/34020000001310000071/0',
      name: '监控点位一',
      indexCode: '000001',
      ipaddr: '192.168.0.111',
      markerPoint: { lng: 103.99104, lat: 30.627748 },
      markerIcon: require(`@/assets/camera/camera_0.png`)
    }
  ]
再利用bm-marker在地图上渲染出监控点,如下图:

在这里插入图片描述

在点击摄像机(监控点)的时候再弹出信息窗口,通过以下方法将地图中的监控点位置自动居中显示:
this.map.centerAndZoom(new this.BMap.Point(lng, lat), this.map.getZoom());
在VideoWindow InfoWindow 组件中封装好自定义覆盖物,此时要用到 { BmOverlay }组件,实现效果,如下图:

在这里插入图片描述

在组件内部 有show() ,hide()这两个方法,方便在外部调用,控制显示与隐藏,在关闭播放器窗口时还需要销毁播放器实例,
4、在完成好所有的准备工作后,我们把自定义覆盖物放到地图中就完成了图一所示的样子。相关代码资源下载
需要注意的是,在使用快照截取和H265播放时,需要用到开头说到的libVSS.wasm解码,要在webpack.base.conf.js中配置如下:
plugins: [
    new CopyWebpackPlugin([
      {
        from: path.resolve(__dirname, '../static/SkeyeWebPlayer/libVSS.wasm'),
        to: './'
      }
    ])
],
demo代码资源下载
在VUE项目中使用永久免费H5直播点播播放器SkeyeWebPlayer.js

关于SkeyeVSS

SkeyeVSS是一款基于Web网页H5无插件直播点播的视频云融合管理系统:

  • 支持 WEB 页面配置管理;

  • 支持组织机构管理;

  • 支持设备或平台通过GB/T28181协议接入;

  • 支持IPC、NVR通过Onvif协议接入;

  • 支持IPC、NVR通过RTSP协议接入;

  • 支持设备状态管理, 可实时查看设备在线状态;

  • 支持标准的RTSP协议输出;

  • 支持基于WebSocket的RTSP协议输出;

  • 支持全平台(PC/Android/iOS/微信/H5)观看;

  • 支持 WebRTC、RTMP、HLS、HTTP-FLV、Websocket-FLV、RTSP 、Websocket-RTSP分发

  • 支持网页端H5无插件播放、回放;

  • 支持多分屏多路同时实时播放;

  • 支持多分屏多路同时录像回放;

  • 支持H264、H265视频解码播放;

  • 支持云台控制,焦距缩放、预置点控制;

  • 支持设备端录像、查询、回放;

  • 支持服务端录像计划、时段查询和检索回放;

  • 支持服务端录像自定义时段下载;

  • 支持报警管理;

  • 支持电子地图;

  • 支持电视墙上墙管理;

  • 支持GB/T28181国标协议级联;

  • 支持用户管理,权限验证,播放鉴权;

  • 支持Windows & Linux(ARM/国产操作系统)部署;

SkeyeVSS综合安防视频云服务, 提供一站式私有化部署视频安防综合管理系统解决方案。SkeyeVSS秉持网络化、集成化、智能化的理念,采用先进的软硬件开发技术,解决了综合安防系统集中管理、多级联网、信息共享、互联互通、多业务融合等问题。

SkeyeVSS其独创的ws-rtsp流媒体直播技术,兼容传统安防流媒体的同时,不需要安装浏览器插件,解决互联网接入安防监控延迟高、起播慢等问题;支持全平台终端H5直播点播(PC、Web、Android、iOS)。

详细说明:http://www.openskeye.cn/web/product/vss##### SkeyeVSS综合安防监控Onvif、RTSP、GB28181视频云无插件直播点播解决方案之电子地图管理

获取更多信息

邮件:support@openskeye.cn

SkeyeVSS综合安防互联网无插件播放解决方案

SkeyeARS全景AR增强监视系统解决方案

SkeyeIVMS集群式视频云管控平台解决方案

Copyright © OpenSkeye Team 2018-2022

Logo

Vue社区为您提供最前沿的新闻资讯和知识内容

更多推荐