国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue2中使用WebSDK_V3.3.0(231027)展示監(jiān)控視頻

這篇具有很好參考價(jià)值的文章主要介紹了vue2中使用WebSDK_V3.3.0(231027)展示監(jiān)控視頻。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1.需要數(shù)據(jù)

 {
          szIP: '192.168.1.X',  //攝像頭ip
          szPort: '80',       //端口
          szUsername: 'admin', //用戶名
          szPassword: 'xxxxxx' //密碼
        },

2.下載內(nèi)容

WEB3.3控件開發(fā)包 V3.3

下載地址:海康開放平臺

?3.安裝插件,引入js文件

(1)雙擊HCWebSDKPlugin.exe,安裝插件

(2)引入文件

hcwebsdk at webvideoc,vue2對接攝像頭,前端,linux,javascript

把這兩個文件放在public下static目錄下,在public的index.html中引入

<script src="/static/videojs/jquery-1.7.1.min.js"></script>
<script id="videonode" src="/static/videojs/webVideoCtrl.js"></script>

4.vue代碼--視頻組件

<template>
  <div>
    <div class="left">
      <div
        ref="divPlugin"
        :id="divPlugin"
        class="plugin"
        style="width: 650px; height: 250px; z-index: 1"
      ></div>
    </div>
  </div>
</template>


<script>
export default {
  props: ['sysParams'],
  data() {
    return {
      divPlugin: 'video_' + this.generateUUID(),
      g_iWndIndex: null,
      szDeviceIdentify: ''
    };
  },
  created() {},
  mounted() {
    this.linkVideo();
  },
  beforeDestroy() {
    this.hideVideo();
  },
  methods: {
    // 初始化
    linkVideo() {
      let that = this;
      WebVideoCtrl.I_InitPlugin({
        bWndFull: true, //是否支持單窗口雙擊全屏,默認(rèn)支持 true:支持 false:不支持
        iWndowType: 2, //表示視頻組件窗口數(shù),默認(rèn)是1,我這里需要四個窗口改為了2
        cbSelWnd: function (xmlDoc) {
          that.g_iWndIndex = parseInt(
            $(xmlDoc).find('SelectWnd').eq(0).text(),
            10
          );
          console.log('選中窗口');
          if (that.sysParams[that.g_iWndIndex]) {
            that.clickStartRealPlay();
          } else {
            that.$message.error('當(dāng)前窗口無設(shè)備');
          }
        },
        cbDoubleClickWnd: function (iWndIndex, bFullScreen) {
          if (!bFullScreen) {
          }
        },
        cbEvent: function (iEventType, iParam1, iParam2) {
          if (2 == iEventType) {
            // 回放正常結(jié)束
            showCBInfo('窗口' + iParam1 + '回放結(jié)束!');
          } else if (-1 == iEventType) {
            showCBInfo('設(shè)備' + iParam1 + '網(wǎng)絡(luò)錯誤!');
          } else if (3001 == iEventType) {
            clickStopRecord(g_szRecordType, iParam1);
          }
        },
        cbInitPluginComplete: function () {
          WebVideoCtrl.I_InsertOBJECTPlugin(that.divPlugin).then(
            () => {
              that.sysParams.map((item, index) => {
                setTimeout(() => {
                  that.g_iWndIndex = index;
                  that.clickStartRealPlay();
                }, index * 1000);
              });
            },
            () => {}
          );
        }
      });
    },
    // 登錄
    async clickStartRealPlay() {
      let that = this;
      var oWndInfo = WebVideoCtrl.I_GetWindowStatus(that.g_iWndIndex);
      let { szIP, szPort, szUsername, szPassword } =
        this.sysParams[that.g_iWndIndex];
      that.szDeviceIdentify = szIP + '_' + szPort;
      if (oWndInfo == null) {
        WebVideoCtrl.I_Login(szIP, 1, szPort, szUsername, szPassword, {
          success: function (xmlDoc) {
            //成功的回調(diào)函數(shù)
            that.getVideo();
          },
          error: function (oError) {
            if (oError.errorCode == '2001') {
              that.getVideo();
            }
            //失敗的回調(diào)函數(shù)
          }
        });
      } else {
        await WebVideoCtrl.I_Stop(that.g_iWndIndex);
        that.getVideo();
      }
    },
    // 打開預(yù)覽視頻
    getVideo() {
      console.log('渲染第' + this.g_iWndIndex + '窗口');
      WebVideoCtrl.I_StartRealPlay(this.szDeviceIdentify, {
        iWndIndex: this.g_iWndIndex,
        success: function () {},
        error: function (oError) {}
      });
    },
    // 關(guān)閉銷毀
    async hideVideo() {
      await WebVideoCtrl.I_StopAllPlay();
      await WebVideoCtrl.I_Logout(this.szDeviceIdentify);
      await WebVideoCtrl.I_DestroyPlugin();
    },
    // 生成uuid
    generateUUID() {
      let d = new Date().getTime();
      let uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(
        /[xy]/g,
        (c) => {
          let r = (d + Math.random() * 16) % 16 | 0;
          d = Math.floor(d / 16);
          return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16);
        }
      );
      return uuid;
    }
  },
  watch: {
    sysParams: {
      handler(newVal, oldVal) {
        // 當(dāng)items數(shù)組發(fā)生變化時(shí),執(zhí)行這里的邏輯
        console.log('items 數(shù)組發(fā)生變化:', newVal, oldVal);
        // this.hideVideo();
        WebVideoCtrl.I_StopAllPlay();
        // this.linkVideo();
        this.sysParams.map((item, index) => {
          setTimeout(() => {
            this.g_iWndIndex = index;
            this.clickStartRealPlay();
          }, index * 400);
        });
      },
      deep: true
    }
  }
};
</script>

<style lang='scss' scoped>
</style>

?當(dāng)前script里面的方法只是當(dāng)前開發(fā)所需,其他方法可以看下載的文件中HCWebSDK3.3.pdf文檔,或者運(yùn)行demo--cn--demo.html文件,根據(jù)自己所需查找對應(yīng)方法

5.vue代碼--父組件

#引入
import monitorVideoVue from '@/components/video/monitorVideo.vue';

#html部分
<monitorVideoVue :sysParams="list"></monitorVideoVue>

#js部分
在data中定義
  // 視頻列表
      sysParams: [
        {
          szIP: '192.168.1.A',
          szPort: '80',
          szUsername: 'admin',
          szPassword: 'xxxx'
        },
        {
          szIP: '192.168.1.B',
          szPort: '80',
          szUsername: 'admin',
          szPassword: 'xxxx'
        },
        {
          szIP: '192.168.1.C',
          szPort: '80',
          szUsername: 'admin',
          szPassword: 'xxxx'
        },
        {
          szIP: '192.168.1.D',
          szPort: '80',
          szUsername: 'admin',
          szPassword: 'xxxx'
        },
        {
          szIP: '192.168.1.A',
          szPort: '80',
          szUsername: 'admin',
          szPassword: 'xxxx'
        },
        {
          szIP: '192.168.1.B',
          szPort: '80',
          szUsername: 'admin',
          szPassword: 'xxxx'
        }
      ],

?6.我的代碼問題

其實(shí)在父組件的sysParams中不需要這樣重復(fù)聲明賬號密碼,他登錄一次后會有已登錄狀態(tài),這里未作修改,只有通道列表更改一下就可以,只是當(dāng)前代碼還未更改

正確需要格式

        loginIp:  '192.168.90.xxx',//ip地址,后面拼接的是通道列表iChannelIDIndexList
        port: '80',//端口
        username:'admin',//用戶名
        password: 'a123xxxxxxxxxxxx',//密碼
        iChannelIDIndexList: [1, 4, 6, 7], // 選擇的通道列表

這樣的一個格式基本上可以實(shí)現(xiàn)多窗口的播放了,但項(xiàng)目后續(xù)沒有用這個方法來實(shí)現(xiàn),就沒有繼續(xù)完善代碼

7.缺點(diǎn)

(1)必須安裝HCWebSDKPlugin.exe插件,沒有安裝插件的電腦無法觀看

(2)有時(shí)候會有一點(diǎn)卡頓

(3)如果不銷毀播放器,他會出現(xiàn)在所有頁面的上面,銷毀的話再重新加載會慢一點(diǎn)文章來源地址http://www.zghlxwxcb.cn/news/detail-861088.html

到了這里,關(guān)于vue2中使用WebSDK_V3.3.0(231027)展示監(jiān)控視頻的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • vue3在瀏覽器段展示??当O(jiān)控視頻

    vue3在瀏覽器段展示??当O(jiān)控視頻

    目錄 一、需求 二、最后成果展示 三、思路和方法 3.1 首先安裝插件,可以在上面的地址中下載安裝,建立一個dom 3.2 初始化的時(shí)候可以獲取一個視頻展示的一個長寬 3.3 vue data中定義 3.4 初始化視頻的方法在vue的methods中 3.5 開始方法 3.6 暫停方法 3.7 銷毀監(jiān)控方法 需要在瀏覽器

    2024年02月12日
    瀏覽(25)
  • 視頻監(jiān)控系統(tǒng)/視頻匯聚平臺EasyCVR平臺頁面展示優(yōu)化

    視頻監(jiān)控系統(tǒng)/視頻匯聚平臺EasyCVR平臺頁面展示優(yōu)化

    安防視頻監(jiān)控/視頻集中存儲/云存儲/磁盤陣列EasyCVR平臺可拓展性強(qiáng)、視頻能力靈活、部署輕快,可支持的主流標(biāo)準(zhǔn)協(xié)議有國標(biāo)GB28181、RTSP/Onvif、RTMP等,以及支持廠家私有協(xié)議與SDK接入,包括??礒home、海大宇等設(shè)備的SDK等。平臺既具備傳統(tǒng)安防視頻監(jiān)控的能力,也具備接入

    2024年02月07日
    瀏覽(22)
  • Vue2 - 延遲加載(requestAnimationFrame實(shí)現(xiàn))+ 效果展示

    Vue2 - 延遲加載(requestAnimationFrame實(shí)現(xiàn))+ 效果展示

    當(dāng)一個頁面需要加載較多個組件時(shí),并且組件自身又比較復(fù)雜。如果一次性加載,可能等待時(shí)間較長,體驗(yàn)不好。 一種解決辦法:分批次的來渲染子組件。 通過 requestAnimationFrame(callback) 實(shí)現(xiàn),同時(shí)能夠控制 按照指定順序來渲染 。 簡單理解為:瀏覽器會按照一定的頻率來重

    2024年01月25日
    瀏覽(25)
  • vue2組件庫:表格數(shù)據(jù)展示通用頁面
  • 【開發(fā)】視頻監(jiān)控系統(tǒng)/視頻匯聚平臺EasyCVR平臺頁面展示優(yōu)化

    【開發(fā)】視頻監(jiān)控系統(tǒng)/視頻匯聚平臺EasyCVR平臺頁面展示優(yōu)化

    安防視頻監(jiān)控/視頻集中存儲/云存儲/磁盤陣列EasyCVR平臺可拓展性強(qiáng)、視頻能力靈活、部署輕快,可支持的主流標(biāo)準(zhǔn)協(xié)議有國標(biāo)GB28181、RTSP/Onvif、RTMP等,以及支持廠家私有協(xié)議與SDK接入,包括??礒home、海大宇等設(shè)備的SDK等。平臺既具備傳統(tǒng)安防視頻監(jiān)控的能力,也具備接入

    2024年02月07日
    瀏覽(21)
  • vue2+vue-3d-loader 實(shí)現(xiàn)3D模型展示

    vue2+vue-3d-loader 實(shí)現(xiàn)3D模型展示

    1.安裝?vue-3d-loader npm i vue-3d-loader@1.x.x -S? 注意vue2只能用1.幾的版本 npm i?vue-3d-loader會安裝最新版本會導(dǎo)致不顯示 2.main.js文件配置,此為全局注冊 import vue3dLoader from \\\"vue-3d-loader\\\"; Vue.use(vue3dLoader) 3.具體使用 template ? vue3dLoader ? ? backgroundColor=\\\"rgb(216,217,219)\\\" ? ? :height=\\\"600\\\" ? ?

    2024年02月02日
    瀏覽(24)
  • vue2.0實(shí)現(xiàn)富文本編輯及文本內(nèi)容展示

    vue2.0實(shí)現(xiàn)富文本編輯及文本內(nèi)容展示

    1,下載富文本插件 2,可以直接在頁面進(jìn)行引入,也可以全局掛載,(只展示頁面引入) 3,頁面使用 4,頁面展示效果為 ?5,到這一步如果頁面需要把所發(fā)送的富文本內(nèi)容展示到前端,可以直接讓后端把傳過去的內(nèi)容原封不動的返回到前端(以下為演示) 演示發(fā)送,像后端

    2024年02月13日
    瀏覽(24)
  • vue2使用rtsp視頻流接入海康威視攝像頭(純前端)

    vue2使用rtsp視頻流接入??低晹z像頭(純前端)

    海康威視官方的RTSP最新取流格式如下: rtsp://用戶名:密碼@IP:554/Streaming/Channels/101 用戶名和密碼 IP就是登陸攝像頭時(shí)候的IP(筆者這里IP是192.168.1.210) 所以筆者的rtsp流地址就是 rtsp://用戶名:密碼@192.168.1.210:554/Streaming/Channels/101 1.1關(guān)閉 螢石云的接入 1.2 調(diào)整視頻編碼為H.264 在此下載

    2024年04月26日
    瀏覽(25)
  • vue2項(xiàng)目 使用??狄曨lh5player@2.0版本

    vue2項(xiàng)目 使用??狄曨lh5player@2.0版本

    一、下載開發(fā)包 ? ? ? ? 我們需要去??倒倬W(wǎng)下載h5player@2.0版本的一些用到的文件 二、引入開發(fā)包 ? ? ? ? 下載之后我們把下載的文件打開把bin里的文件移動到pubilc文件里,可以自己單獨(dú)建一個文件放在里面 注意:一定要放在vue中的public文件夾中 否則會報(bào)錯 三、引用下載

    2024年02月03日
    瀏覽(28)
  • vue2 使用 vue-video-player 播放m3u8 流地址視頻

    安裝插件? : 注意需要引入??videojs-contrib-hls ,否則無法播放hls流文件? main.js 引入 代碼內(nèi)引入: 注意點(diǎn):??? 1.type: \\\'application/x-mpegURL\\\' ,否則無法播放流文件? 2.aspectRatio: \\\'16:9\\\',? 寬高比需要進(jìn)行設(shè)置, 若沒有進(jìn)行設(shè)置,會出現(xiàn)黑邊過高或者過寬的問題 常用API方法:

    2024年02月07日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包