在vue中使用海康插件实现视频监控视频直播方法二(RTMP流加Flash加swf)

在vue中使用海康威视实现视频监控,视频直播方法二(RTMP流加Flash加swf)

第一步

用npm装这个几个包

 "video.js": "^6.6.0",

 "videojs-flash": "^2.2.0",

 "videojs-swf": "^5.4.2",

第二步

在页面引入上述包

//视频插件包
import videojs from "video.js";
import "video.js/dist/video-js.css";
import "videojs-flash";
import SWF_URL from "videojs-swf/dist/video-js.swf";
videojs.options.flash.swf = SWF_URL; // 设置flash路径,Video.js会在不支持html5的浏览中使用flash播放视频文件

第三步

1,在下面这个js文件中配置

在这里插入图片描述

2,配置swf

在这里插入图片描述

3,在静态资源static中放入swfs下面得两个swf文件和一个swfobject.js,结构如下

在这里插入图片描述

4.在index.html中引入

第四步

终于可以写代码了

html:一个容器就好

<div id="flashContent">
       <a class="flashBtn"target="_blank"href="http://www.adobe.com/go/getflashplayer">
          <span>点击运行flash</span>
            </a>
    </div>

methods: 只需要拿到rtmp流传进去执行一下这个方法就可以播放了。

//预览视频流方法
    initialise(rtmpliu) {
      var queryParameters = [];
      var flashVars = "";
      queryParameters["source"] = rtmpliu;
      console.log(rtmpliu);
      if (queryParameters["source"] == "") queryParameters["source"] = "";
      if (queryParameters["type"] == "") queryParameters["type"] = "live";
      if (queryParameters["idx"] == "") queryParameters["idx"] = "2";
      flashVars += "&src=";
      flashVars += queryParameters["source"];
      flashVars += "&autoHideControlBar=";
      flashVars += unescape("true");
      flashVars += "&streamType=";
      flashVars += queryParameters["type"];
      flashVars += "&autoPlay=";
      flashVars += unescape("true");
      flashVars += "&verbose=";
      flashVars += "true";
      var soFlashVars = {
        src: queryParameters["source"],
        streamType: queryParameters["type"],
        autoPlay: "true",
        controlBarAutoHide: "true",
        controlBarPosition: "bottom"
      };
      /* <!-- For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. --> */
      var swfVersionStr = "10.3.0";
      /* <!-- To use express install, set to playerProductInstall.swf, otherwise the empty string. --> */
      var xiSwfUrlStr = "/static/swfs/playerProductInstall.swf";
      var params = {};
      params.quality = "high";
      params.bgcolor = "#000000";
      params.allowscriptaccess = "sameDomain";
      params.allowfullscreen = "true";
      var attributes = {};
      attributes.id = "SampleMediaPlayback";
      attributes.name = "SampleMediaPlayback";
      attributes.align = "middle";
      swfobject.embedSWF(
        "/static/swfs/SampleMediaPlayback.swf",
        "flashContent",//对应容器
        900,//width宽
        600,//高
        swfVersionStr,
        xiSwfUrlStr,
        soFlashVars,
        params,
        attributes
      );
    },

小结:方法1和方法2都是要用到flash播放的,不过flash说要淘汰了,所有只能另找出路了。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue是一种流行的JavaScript框架,通常用于开发现代Web应用程序。它使用MVVM(Model-View-ViewModel)模式,并提供响应式数据绑定和模板语法。Vue可以与其他库和框架配合使用,以实现功能丰富,交互性好的Web应用程序。 实现实时视频播放方式,需要使用Vue与其他库和框架集成。具体来说,可以使用Video.js(一个开源的HTML5视频播放器),以及RTMP.js(JavaScript实现RTMP流媒体协议库)。 以下是实现实时视频播放方式(监控设备-RTMP流)的步骤: 1.在Vue应用程序引入video.js和rtmp.js依赖库,例如: ```javascript import videojs from 'video.js' import 'video.js/dist/video-js.css' import '../node_modules/@silvermine/videojs-contrib-quality-levels/dist/videojs-contrib-quality-levels.js' import '../node_modules/@silvermine/videojs-quality-selector/dist/videojs-quality-selector.js' import RtmpStream from 'rtmp-stream'; ``` 2.使用Vue组件定义页面的结构和样式,为视频播放器添HTML元素,例如: ```html <template> <div class="player"> <video id="my-video" class="video-js vjs-default-skin vjs-big-play-centered" controls autoplay width="960" height="540" > <source :src="videoUrl" type="rtmp/mp4" /> </video> </div> </template> <style> .player { height: 540px; width: 960px; } </style> ``` 3.在Vue组件定义使用video.js初始化视频播放器和设置相关参数,例如: ```javascript export default { data() { return { videoUrl: '', player: null, }; }, mounted() { this.initializePlayer(); }, methods: { initializePlayer() { this.player = videojs('my-video', { liveui: true, preload: 'auto', sources: [ { src: '', type: 'rtmp/mp4', }, ], controlBar: { volumePanel: { inline: false, vertical: true, }, }, }); this.player.qualityLevels(); this.player.src(this.getRtmpUrl('streamUrl')); this.player.play(); }, getRtmpUrl(streamUrl) { return RtmpStream({ url: 'rtmp://domain/liveapp', stream: streamUrl, }); }, }, } ``` 以上就是利用Vue实现实时视频播放方式(监控设备-RTMP流)的主要步骤和相关代码。通过以上方式,我们可以轻松实现监控设备实时视频播放,以便更好地进行视频监控和安全管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值