前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >免费视频直播、点播H5播放器SkeyeWebPlayer 结合百度地图sdk实现电子地图播放功能

免费视频直播、点播H5播放器SkeyeWebPlayer 结合百度地图sdk实现电子地图播放功能

原创
作者头像
Openskeye
发布2023-04-04 14:36:35
2.9K0
发布2023-04-04 14:36:35
举报
文章被收录于专栏:国标视频云平台
免费视频直播、点播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
代码语言:txt
复制
<!DOCTYPE html>
代码语言:txt
复制
<html>
代码语言:txt
复制
  <head>
代码语言:txt
复制
    <meta charset="utf-8">
代码语言:txt
复制
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
代码语言:txt
复制
    <title>vue-map-skeye-player</title>
代码语言:txt
复制
    <script src="static/SkeyeWebPlayer/SkeyeWebPlayer.js"></script> 
代码语言:txt
复制
  </head>
代码语言:txt
复制
  <body>
代码语言:txt
复制
    <div id="app"></div>
代码语言:txt
复制
    <!-- built files will be auto injected -->
代码语言:txt
复制
  </body>
代码语言:txt
复制
</html>
3、在项目中按装 vue-baidu-map
代码语言:txt
复制
npm install vue-baidu-map --save
局部引入 vue-baidu-map
代码语言:txt
复制
import {BaiduMap, BmView, BmLocalSearch, BmMarker, BmInfoWindow} from "vue-baidu-map";
代码语言:txt
复制
components: {
代码语言:txt
复制
    BaiduMap, BmView, BmLocalSearch, BmMarker, BmInfoWindow

},

渲染地图我想大家应该都会吧,直接上代码:
代码语言:txt
复制
<template>
代码语言:txt
复制
  <div class="bmap">
代码语言:txt
复制
    <baidu-map
代码语言:txt
复制
      class="map"
代码语言:txt
复制
      ak="ydtz9Gf75Pt9swZvc0bWa8t0UWUSxW5I"
代码语言:txt
复制
      :mapStyle="mapStyle"
代码语言:txt
复制
      :center="mapcenter"
代码语言:txt
复制
      :zoom="mapZoom"
代码语言:txt
复制
      :scroll-wheel-zoom="true"
代码语言:txt
复制
      :double-click-zoom="false"
代码语言:txt
复制
      @ready="mapReady">
代码语言:txt
复制
      <template v-for="(item, index) in markerPointData">
代码语言:txt
复制
        <bm-marker
代码语言:txt
复制
          :key="index"
代码语言:txt
复制
          :position="item.markerPoint"
代码语言:txt
复制
          :icon="{url: item.markerIcon, size: {width: 30, height: 30}}"
代码语言:txt
复制
          @click="lookInfo(item, false)">
代码语言:txt
复制
        </bm-marker>
代码语言:txt
复制
      </template>
代码语言:txt
复制
      <!-- 信息窗体 -->
代码语言:txt
复制
      <InfoWindow ref="InfoWindow" @preview="preview"></InfoWindow>
代码语言:txt
复制
      <!-- 监控窗体 -->
代码语言:txt
复制
      <VideoWindow ref="videoWindow"></VideoWindow>
代码语言:txt
复制
    </baidu-map>
代码语言:txt
复制
  </div>
代码语言:txt
复制
</template>
在监控点数据中绑定好经纬度坐标,和监控点相机图片;监控点数据格式 如下:
代码语言:txt
复制
markerPointData: [
代码语言:txt
复制
    {
代码语言:txt
复制
      cameraId: 1,
代码语言:txt
复制
      url: 'rtsp://39.101.128.80:5540/34020000001310000071/0',
代码语言:txt
复制
      name: '监控点位一',
代码语言:txt
复制
      indexCode: '000001',
代码语言:txt
复制
      ipaddr: '192.168.0.111',
代码语言:txt
复制
      markerPoint: { lng: 103.99104, lat: 30.627748 },
代码语言:txt
复制
      markerIcon: require(`@/assets/camera/camera_0.png`)
代码语言:txt
复制
    }
代码语言:txt
复制
  ]
再利用bm-marker在地图上渲染出监控点,如下图:
在点击摄像机(监控点)的时候再弹出信息窗口,通过以下方法将地图中的监控点位置自动居中显示:
代码语言:txt
复制
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中配置如下:
代码语言:txt
复制
plugins: [
代码语言:txt
复制
    new CopyWebpackPlugin([
代码语言:txt
复制
      {
代码语言:txt
复制
        from: path.resolve(__dirname, '../static/SkeyeWebPlayer/libVSS.wasm'),
代码语言:txt
复制
        to: './'
代码语言:txt
复制
      }
代码语言:txt
复制
    ])
代码语言:txt
复制
],
demo代码资源下载
在VUE项目中使用永久免费H5直播点播播放器SkeyeWebPlayer.js
SkeyeVSS综合安防监控Onvif、RTSP、GB28181视频云无插件直播点播解决方案之电子地图管理

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 免费视频直播、点播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目录下
        • 2、引入方式 static/SkeyeWebPlayer/SkeyeWebPlayer.js
          • 3、在项目中按装 vue-baidu-map
            • 局部引入 vue-baidu-map
            • 渲染地图我想大家应该都会吧,直接上代码:
            • 在监控点数据中绑定好经纬度坐标,和监控点相机图片;监控点数据格式 如下:
            • 再利用bm-marker在地图上渲染出监控点,如下图:
            • 在点击摄像机(监控点)的时候再弹出信息窗口,通过以下方法将地图中的监控点位置自动居中显示:
            • 在VideoWindow InfoWindow 组件中封装好自定义覆盖物,此时要用到 { BmOverlay }组件,实现效果,如下图:
            • 在组件内部 有show() ,hide()这两个方法,方便在外部调用,控制显示与隐藏,在关闭播放器窗口时还需要销毁播放器实例,
          • 4、在完成好所有的准备工作后,我们把自定义覆盖物放到地图中就完成了图一所示的样子。相关代码资源下载
            • 需要注意的是,在使用快照截取和H265播放时,需要用到开头说到的libVSS.wasm解码,要在webpack.base.conf.js中配置如下:
          • demo代码资源下载
            • 在VUE项目中使用永久免费H5直播点播播放器SkeyeWebPlayer.js
              • SkeyeVSS综合安防监控Onvif、RTSP、GB28181视频云无插件直播点播解决方案之电子地图管理
              相关产品与服务
              云直播
              云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档