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

vue+??低曇曨lweb插件開發(fā)

這篇具有很好參考價(jià)值的文章主要介紹了vue+??低曇曨lweb插件開發(fā)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、環(huán)境準(zhǔn)備

下載地址:??低暪倬W(wǎng)

下載頁(yè)面

vue+海康威視視頻web插件開發(fā)

文件解壓后的目錄

vue+??低曇曨lweb插件開發(fā)

運(yùn)行bin文件下的VideoWebPlugin.exe

二、插件demo測(cè)試

demo/demo_window_integration.html 包含了插件所有功能的,可參照此demo來(lái)開發(fā)、驗(yàn)證功能、排查問題

demo/demo_window_simple_playback.html.html? 視頻回放,可在此基礎(chǔ)上二次開發(fā)

demo/demo_window_simple_preview.html 實(shí)時(shí)預(yù)覽,可在基礎(chǔ)上二次開發(fā)

在瀏覽器中打開?demo/demo_window_integration.html?文件如下

vue+??低曇曨lweb插件開發(fā)

?在進(jìn)入官網(wǎng)運(yùn)行管理平臺(tái)獲取到 Appkey、AppSecret、Ip、Port,就能連接到自己的攝像頭進(jìn)行調(diào)試開發(fā)了

三、api相關(guān)介紹

1、JS_StartService(szType,options)?啟動(dòng)插件服務(wù)接口 (返回值Promise)

????????szType:服務(wù)類型?固定填充 “window”(必填)

????????options:可選參數(shù)對(duì)象?固定填充{dllPath: "./VideoPluginConnect.dll"}(對(duì)象選填)

2、JS_Disconnect() 斷開服務(wù)接口 (返回值Promise)

3、JS_CreateWnd(szId, iWidth, iHeight)?創(chuàng)建插件窗口接口?(返回值Promise)

????????szId:父窗口的id?(必填)

????????iWidth:元素 ID 標(biāo)識(shí)窗口的寬度?(必填)

????????iHeight:元素 ID 標(biāo)識(shí)窗口的高度?(必填)

4、JS_SetWindowControlCallback(callback)?設(shè)置消息回調(diào)接口

? ? ? ?callback(對(duì)象 必填) 示例

? ? ? ?{

????????????????cbIntegrationCallBack(必要屬性): function(oData){ // oData 是封裝的視頻 web 插件回調(diào)消息的消息體
????????????????console.log(JSON.stringify(oData)); // 打印消息體至控制臺(tái)

???????? }

5、JS_Resize(iWidth,iHeight)?調(diào)整插件窗口大小、位置接口

????????iWidth:DIV 窗口寬度 (必填)

????????iHeight:DIV 窗口高度(必填)

6、JS_CuttingPartWindow(iLeft, iTop, iWidth, iHeight)?扣除部分插件窗口接口

? ? ? ? 場(chǎng)景:插件窗口創(chuàng)建后,會(huì)始終置頂,因此當(dāng)和其它組件一同使用時(shí),會(huì)遮擋其它組件內(nèi)容,該接口 的作用是,當(dāng)部分插件窗口不需要置頂時(shí),我們會(huì)隱藏部分插件窗口。也就是向上滾動(dòng)的時(shí)候會(huì)隱藏

????????iLeft:距離插件窗口左邊距(必填)

????????iTop:距離插件窗口上邊距(必填)

????????iWidth:需要扣除的寬度(必填)

????????iHeight:需要扣除的高度(必填)

7、JS_RepairPartWindow(iLeft, iTop, iWidth, iHeight) 還原扣除部分窗口后的插件窗口

? ? ? ? 場(chǎng)景:一般聯(lián)合?JS_CuttingPartWindow 一起使用,在還原部分窗口后 在扣除

????????iLeft:扣除窗口的頂點(diǎn)距離插件窗 口左邊距?(必填)

????????iTop:扣除窗口的頂點(diǎn)距離插件窗 口上邊距?(必填)

????????iWidth:扣除窗口的寬度(必填)

????????iHeight:扣除窗口的高度(必填)

8、JS_HideWnd()?插件窗口隱藏接口

9、JS_ShowWnd() 插件窗口顯示接口

10、JS_DestroyWnd()?插件窗口銷毀接口

11、JS_WakeUp(szProtocal)?喚醒 WebControl.exe 接口

? ? ? ? 場(chǎng)景 當(dāng) WebControl.exe 未啟動(dòng)時(shí)喚醒 WebControl.exe。若 WebControl.exe 已啟動(dòng)則忽略

????????szProtocal:?jiǎn)拘褏f(xié)議 內(nèi)容固定為("VideoWebPlugin://")

12、JS_RequestInterface({funcName,argument})通過(guò)請(qǐng)求響應(yīng)接口?(返回值Promise)

????????funcName:功能標(biāo)識(shí)(必填)

? ? ? ??argument:功能參數(shù) (object 格式的字符串)

  • 例?申請(qǐng) RSA 公鑰
?{ funcName: "getRSAPubKey", argument: "{ keyLength: 1024 }" }
  • 初始化? ??
{
 funcName: "init",
 argument: "{
 appkey: "afsgnhmj34567dgh", // API 網(wǎng)關(guān)提供的 appkey
 secret: "vgkk3g0jaoj0igoigj", // API 網(wǎng)關(guān)提供的 secret
 ip: "10.33.31.4", // API 網(wǎng)關(guān) IP 地址
 port: 9016, // API 網(wǎng)關(guān)端口
 playMode: 0, //播放模式(決定顯示預(yù)覽還是回放界面),0-預(yù)覽 1-錄像播放
 encryptedFields: "appkey,secret", //secret 和 appkey 已加密,對(duì)多個(gè)字段加密存在初始化耗時(shí)問題
 snapDir: "D:\SnapDir", // 抓圖存儲(chǔ)路徑
 layout: "2x2" // 初始化 2x2 布局
 showToolbar: 1, // 顯示工具欄
 showIntelligent: 1, // 顯示智能信息
 buttonIDs: "0,16,256,257,258"
 }"
}
  • 根據(jù)監(jiān)控點(diǎn)編號(hào)視頻預(yù)覽
{
 funcName: "startPreview",
 argument: "{
 cameraIndexCode: "afsgnhmj34567dgh", // 監(jiān)控點(diǎn)編號(hào)
 streamMode: 0, // 主子碼流標(biāo)識(shí),0-主碼流 1-子碼流
 transMode: 1, // 傳輸協(xié)議,0-UDP 1-TCP
 gpuMode: 0 // 是否開啟 GPU 硬解,不建議開啟,0-不開啟 1-開啟
 }"
}
  • 停止所有視頻預(yù)覽
{
 funcName: "stopAllPreview"
}
  • 根據(jù)監(jiān)控點(diǎn)編號(hào)錄像回放
{
  funcName: "startPlayback",
  argument: "{
    cameraIndexCode: "afsgnhmj34567dgh", // 監(jiān)控點(diǎn)編號(hào)
    startTimeStamp: "10237898985", // 錄像查詢開始時(shí)間戳,單位:秒
    endTimeStamp: "10237899985", // 錄像查詢結(jié)束時(shí)間戳,單位:秒
    recordLocation: 0, // 錄像存儲(chǔ)類型 0-中心存儲(chǔ) 1-設(shè)備存儲(chǔ)
    transMode: 1, // 傳輸協(xié)議 ,0-UDP 1-TCP
    gpuMode: 0 // 是否開啟 GPU 硬解,0-不開啟 1-開啟
   }"
}
  • 停止所有錄像回放
{
 funcName: "stopAllPlayback"
}
  • 銷毀播放實(shí)例
{
 funcName: "destroyWnd"
}
  • ?獲取當(dāng)前布局
{
 funcName: "getLayout"
}
  • 設(shè)置當(dāng)前布局?
{
 funcName: " setLayout",
 argument: "{
 layout: "2x2" // 窗口布局 
 }"
}

// 布局可選值有“1x1”、
    “2x2”、“3x3”、“4x4”、“5x5”、“1x2”、
    “1+2”、“1+5”、“1+7”、 “1+8”、“1+9”、
    “1+12”、“1+16”、“4+9”、“1+1+12”、
    “3+4”、“1x4”、“4x6”
  • 畫面字符疊加
{
 "funcName": "drawOSD",
 "argument": "{
     text: "溫度:50\n 濕度:38", // 窗口布局
     x: 5, // 相對(duì)播放窗口左上角的橫坐標(biāo)起點(diǎn)
     y: 5, // 相對(duì)播放窗口左上角的縱坐標(biāo)起點(diǎn)
     color: red // 字體顏色
 }"
}

根據(jù)監(jiān)控點(diǎn)編號(hào)批量視頻預(yù)覽

{
"funcName": "startMultiPreviewByCameraIndexCode",
 "argument": {
  "list": [
   {
    "cameraIndexCode": "c633ef048fe141e1ac6dbeb36aaf21d3", // 監(jiān)控點(diǎn)編號(hào) 
    "ezvizDirect": 0, // 是否直連螢石預(yù)覽 未指定或?yàn)?0-非直連 其它值-直連
    "gpuMode": 0, // 是否啟用 GPU 硬解  0-不啟用 1-啟用
    "streamMode": 0, // 主子碼流標(biāo)識(shí)  0-主碼流 1-子碼流
    "transMode": 1, // 傳輸協(xié)議 0-UDP 1-TCP
    "wndId": 1 // 播放窗口序號(hào)
   },
   {
    "cameraIndexCode": "c633ef048fe141e1ac6dbeb36aaf21d3",
    "ezvizDirect": 0,
    "gpuMode": 0,
    "streamMode": 0,
    "transMode": 1,
    "wndId": 2 
  }
 ]
 }
}
  • ?根據(jù)監(jiān)控點(diǎn)編號(hào)批量錄像回放
{
 "funcName": "startMultiPlaybackByCameraIndexCode",
 "argument": 
{
 "list":[{
   "cameraIndexCode": "58e90452772a4d9da7c7ba4cef26dbf0", // 監(jiān)控點(diǎn)編號(hào)
   "startTimeStamp": "10237898985", // 錄像查詢開始時(shí)間戳,單位:秒
   "endTimeStamp": "10237899985", // 錄像查詢結(jié)束時(shí)間戳,單位:秒
   "recordLocation": 0, // 錄像存儲(chǔ)類型 0-中心存儲(chǔ) 1-設(shè)備存儲(chǔ)
   "transMode": 1, // 傳輸協(xié)議 ,0-UDP 1-TCP
   "wndId": 1, // 窗口序號(hào)
   "gpuMode": 0 // 是否開啟 GPU 硬解,0-不開啟 1-開啟
  }]
 }
}
  • 批量停止播放
{
 "funcName": "stopMultiPlay",
 "argument": 
{
 "list":[{
   "wndId": 1 // 窗口序號(hào)
  },
 {
   "wndId": 2 // 窗口序號(hào)
  }]
 }
}

?四、開發(fā)流程示意圖

vue+??低曇曨lweb插件開發(fā)

? ? ? ?圖中灰色部分為可選步驟。其中申請(qǐng) RSA 公鑰可選。申請(qǐng) RSA 公鑰是為了加密初始化中 的一些敏感參數(shù),對(duì)安全性要求高的用戶可以考慮對(duì)敏感參數(shù)加密。但需要注意的是,使用 RSA 公 鑰加密機(jī)制必然會(huì)導(dǎo)致初始化耗時(shí)。一般情況下不需要調(diào) JS_DestroyWnd 來(lái)銷毀插件窗口 (JS_Disconnect 中會(huì)自行銷毀),但一些特殊的場(chǎng)景如瀏覽器頁(yè)面上需隨時(shí)啟用和禁用視頻播放時(shí), 需調(diào) JS_DestroyWnd 來(lái)禁用視頻播放,需要調(diào) JS_CreateWnd 來(lái)啟用視頻播放。JS_DestroyWnd 和 JS_Disconnect 中會(huì)反初始化插件,這里無(wú)需調(diào) JS_RequestInterface/uninit 反初始化。

?五、在vue中使用(實(shí)時(shí)預(yù)覽完整示例)

?1、在public目錄下的index.html中引入文件(資源文件在demo目錄下

  <script src="./jquery-1.9.1.min.js"></script>
  <script src="./jsencrypt.min.js"></script>  // 用于 RSA 公鑰加密
  <script src="./jsWebControl-1.0.0.min.js"></script> // 用于前端與插件交互

?2、線預(yù)覽模塊完整實(shí)例,其他的模塊功能以此內(nèi)推(如有疑惑,可參考doc目錄下的文檔,里面記載很清楚)

html 示例

 <div class="right" ref="playWndBox">
      <!-- 視頻數(shù)據(jù)站位 -->
        <div
          id="playWnd"
          class="playWnd"
          :style="{
            height: playWndHeight + 'px',
            width: playWndWidth + 'px'
          }"
        ></div>
    </div>

?js 示例

<script>
// 聲明公用變量 攝像頭實(shí)例對(duì)現(xiàn)象,為了方便引用 定義在全局
let oWebControl = null
var initCount = 0
var pubKey = ''
export default {
  name: 'videoRuntime',
  data() {
    return {
      playWndHeight: '', // 視頻盒子的高度
      playWndWidth: '' // 視頻盒子的寬度
    }
  },
  mounted() {
    this.playWndHeight = this.$refs.playWndBox.clientHeight // 首次加載時(shí)的到父容器的高度
    this.playWndWidth = this.$refs.playWndBox.clientWidth // 首次加載時(shí)的到父容器的寬度
    this.$nextTick(() => {
      // 初始化攝像頭
      this.initPlugin()
    })

    // 監(jiān)聽resize事件,使插件窗口尺寸跟隨DIV窗口變化
    window.addEventListener('resize', () => {
      if (oWebControl != null) {
        if (this.$refs.playWndBox)
          oWebControl.JS_Resize(this.$refs.playWndBox.clientWidth,         this.$refs.playWndBox.clientHeight)
      }
    })
  },
  methods: {
    // 創(chuàng)建播放實(shí)例
    initPlugin() {
      let that = this
      oWebControl = new window.WebControl({
        szPluginContainer: 'playWnd', // 指定容器id
        iServicePortStart: 15900, // 指定起止端口號(hào),建議使用該值
        iServicePortEnd: 15909,
        szClassId: '23BF3B0A-2C56-4D97-9C03-0CB103AA8F11', // 用于IE10使用ActiveX的clsid
        cbConnectSuccess: () => {
          // 創(chuàng)建WebControl實(shí)例成功
          oWebControl
            .JS_StartService('window', {
              // WebControl實(shí)例創(chuàng)建成功后需要啟動(dòng)服務(wù)
              dllPath: './VideoPluginConnect.dll' // 值"./VideoPluginConnect.dll"寫死
            })
            .then(
              function() {
                // 啟動(dòng)插件服務(wù)成功
                oWebControl.JS_SetWindowControlCallback({
                  // 設(shè)置消息回調(diào)
                  cbIntegrationCallBack: that.cbIntegrationCallBack
                })

                oWebControl.JS_CreateWnd('playWnd', 0,0).then(function() {
                  //JS_CreateWnd創(chuàng)建視頻播放窗口,寬高可設(shè)定  默認(rèn)設(shè)置為0 消除初始化閃白問題
                  that.init() // 創(chuàng)建播放實(shí)例成功后初始化
                })
              },
              function() {
                // 啟動(dòng)插件服務(wù)失敗
              }
            )
        },
        cbConnectError: function() {
          // 創(chuàng)建WebControl實(shí)例失敗
          oWebControl = null
          that.$message.warning('插件未啟動(dòng),正在嘗試啟動(dòng),請(qǐng)稍候...')
          window.WebControl.JS_WakeUp('VideoWebPlugin://') // 程序未啟動(dòng)時(shí)執(zhí)行error函數(shù),采用wakeup來(lái)啟動(dòng)程序
          initCount++
          if (initCount < 3) {
            setTimeout(function() {
              that.initPlugin()
            }, 3000)
          } else {
            that.$message.warning('插件啟動(dòng)失敗,請(qǐng)檢查插件是否安裝!')
          }
        },
        cbConnectClose: () => {
          // 異常斷開:bNormalClose = false
          // JS_Disconnect正常斷開:bNormalClose = true
          console.log('cbConnectClose')
          oWebControl = null
        }
      })
    },
    // 初始化
    init() {
      let that = this
      this.getPubKey(() => {
        var appkey = '28730366' //綜合安防管理平臺(tái)提供的appkey,必填
        var secret = this.setEncrypt('HSZkCJpSJ7gSUYrO6wVi') //綜合安防管理平臺(tái)提供的secret,必填
        var ip = '10.19.132.75' //綜合安防管理平臺(tái)IP地址,必填
        var playMode = 0 //初始播放模式:0-預(yù)覽,1-回放
        var port = 443 //綜合安防管理平臺(tái)端口,若啟用HTTPS協(xié)議,默認(rèn)443
        var snapDir = 'D:\\SnapDir' //抓圖存儲(chǔ)路徑
        var videoDir = 'D:\\VideoDir' //緊急錄像或錄像剪輯存儲(chǔ)路徑
        var layout = '1x1' //playMode指定模式的布局
        var enableHTTPS = 1 //是否啟用HTTPS協(xié)議與綜合安防管理平臺(tái)交互,這里總是填1
        var encryptedFields = 'secret' //加密字段,默認(rèn)加密領(lǐng)域?yàn)閟ecret
        var showToolbar = 1 //是否顯示工具欄,0-不顯示,非0-顯示
        var showSmart = 1 //是否顯示智能信息(如配置移動(dòng)偵測(cè)后畫面上的線框),0-不顯示,非0-顯示
        var buttonIDs = '0,16,256,257,258,259,260,512,513,514,515,516,517,768,769' //自定義工具條按鈕
        // var toolBarButtonIDs = "2049,2304" // 工具欄上自定義按鈕

        oWebControl
          .JS_RequestInterface({
            funcName: 'init',
            argument: JSON.stringify({
              appkey: appkey, //API網(wǎng)關(guān)提供的appkey
              secret: secret, //API網(wǎng)關(guān)提供的secret
              ip: ip, //API網(wǎng)關(guān)IP地址
              playMode: playMode, //播放模式(決定顯示預(yù)覽還是回放界面)
              port: port, //端口
              snapDir: snapDir, //抓圖存儲(chǔ)路徑
              videoDir: videoDir, //緊急錄像或錄像剪輯存儲(chǔ)路徑
              layout: layout, //布局
              enableHTTPS: enableHTTPS, //是否啟用HTTPS協(xié)議
              encryptedFields: encryptedFields, //加密字段
              showToolbar: showToolbar, //是否顯示工具欄
              showSmart: showSmart, //是否顯示智能信息
              buttonIDs //自定義工具條按鈕
            })
          })
          .then(function(oData) {
            console.log(oData)
            oWebControl.JS_Resize(that.playWndWidth, that.playWndHeight) // 初始化后resize一次,規(guī)避firefox下首次顯示窗口后插件窗口未與DIV窗口重合問題
            // 一進(jìn)來(lái)就隱藏
            oWebControl.JS_HideWnd() // 先讓窗口隱藏,規(guī)避可能的插件窗口滯后于瀏覽器消失問題
          })
      })
    },
    // 獲取公鑰
    getPubKey(callback) {
      oWebControl
        .JS_RequestInterface({
          funcName: 'getRSAPubKey',
          argument: JSON.stringify({
            keyLength: 1024
          })
        })
        .then(function(oData) {
          console.log(oData)
          if (oData.responseMsg.data) {
            pubKey = oData.responseMsg.data
            callback()
          }
        })
    },
    // RSA 加密
    setEncrypt(value) {
      var encrypt = new window.JSEncrypt()
      encrypt.setPublicKey(pubKey)
      return encrypt.encrypt(value)
    },
    // 回調(diào)的消息
    cbIntegrationCallBack(oData) {
      let { responseMsg: type, responseMsg: msg } = oData

      if (type === 'error') {
        console.log(type, msg, this.dateFormat(new Date(), 'yyyy-MM-dd hh:mm:ss'))
      } else {
        console.log(type, msg, this.dateFormat(new Date(), 'yyyy-MM-dd hh:mm:ss'))
      }
    },
    // 預(yù)覽
    startPreview(cameraCode) {
      // 點(diǎn)擊查詢后顯示
      oWebControl.JS_ShowWnd()
      var cameraIndexCode = cameraCode //獲取輸入的監(jiān)控點(diǎn)編號(hào)值,必填
      console.log(cameraCode)
      var streamMode = 0 //主子碼流標(biāo)識(shí):0-主碼流,1-子碼流
      var transMode = 1 //傳輸協(xié)議:0-UDP,1-TCP
      var gpuMode = 0 //是否啟用GPU硬解,0-不啟用,1-啟用
      var wndId = -1 //播放窗口序號(hào)(在2x2以上布局下可指定播放窗口)

      cameraIndexCode = cameraIndexCode.replace(/(^\s*)/g, '')
      cameraIndexCode = cameraIndexCode.replace(/(\s*$)/g, '')

      oWebControl.JS_RequestInterface({
        funcName: 'startPreview',
        argument: JSON.stringify({
          cameraIndexCode: cameraIndexCode, //監(jiān)控點(diǎn)編號(hào)
          streamMode: streamMode, //主子碼流標(biāo)識(shí)
          transMode: transMode, //傳輸協(xié)議
          gpuMode: gpuMode, //是否開啟GPU硬解
          wndId: wndId //可指定播放窗口
        })
      })
    },
    // 停止全部預(yù)覽
    stopAllPreview() {
      oWebControl.JS_RequestInterface({
        funcName: 'stopAllPreview'
      })
    },

    // 格式化時(shí)間
    dateFormat(oDate, fmt) {
        var o = {
            "M+": oDate.getMonth() + 1, //月份
            "d+": oDate.getDate(), //日
            "h+": oDate.getHours(), //小時(shí)
            "m+": oDate.getMinutes(), //分
            "s+": oDate.getSeconds(), //秒
            "q+": Math.floor((oDate.getMonth() + 3) / 3), //季度
            "S": oDate.getMilliseconds()//毫秒
        };
        if (/(y+)/.test(fmt)) {
            fmt = fmt.replace(RegExp.$1, (oDate.getFullYear() + "").substr(4 - RegExp.$1.length));
        }
        for (var k in o) {
            if (new RegExp("(" + k + ")").test(fmt)) {
                fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
            }
        }
        return fmt;
    }
  },
  destroyed() { // 組件銷毀后
    if (oWebControl != null) {
      oWebControl.JS_HideWnd() // 先讓窗口隱藏,規(guī)避可能的插件窗口滯后于瀏覽器消失問題
      oWebControl.JS_RequestInterface({funcName: "destroyWnd"}) // 銷毀當(dāng)前播放的視頻
      oWebControl.JS_Disconnect() // 斷開與插件服務(wù)連接
    }
  }
}
</script>

注:由于本頁(yè)面沒有滾動(dòng)條,不會(huì)出現(xiàn)因滾動(dòng)條滾動(dòng)導(dǎo)致窗口需要被遮住的情況,所以就沒有添加scroll,如有滾動(dòng)條,請(qǐng)參考demo文件下?demo_window_simple_preview.html 中的setWndCover事件文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-402397.html

到了這里,關(guān)于vue+海康威視視頻web插件開發(fā)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • vue3實(shí)現(xiàn)??低暩鶕?jù)海康插件進(jìn)行監(jiān)控實(shí)時(shí)預(yù)覽和回放功能

    因?yàn)槲业奈恼乱呀?jīng)寫過(guò)基于vue實(shí)現(xiàn)??祑eb插件進(jìn)行視頻播放開箱即用文章,這個(gè)文章是利用 vite+vue3+js 進(jìn)行編寫的,大致內(nèi)容跟vue2一樣,拿過(guò)去能直接用。 至于我為什么要用js而不用ts,因?yàn)楹?堤峁┑娜齻€(gè)腳本為js語(yǔ)言的,ts嘗試過(guò)一次,我道行太淺,沒搞明白。 這些代碼是

    2024年02月05日
    瀏覽(127)
  • vue2 對(duì)接 ??禂z像頭插件 (視頻WEB插件 V1.5.2)

    vue2 對(duì)接 ??禂z像頭插件 (視頻WEB插件 V1.5.2)

    前言 海康視頻插件v.1.5.2版本運(yùn)行環(huán)境需要安裝插件VideoWebPlugin.exe,對(duì)瀏覽器也有兼容性要求,具體看官方文檔 對(duì)應(yīng)下載插件 去海康官網(wǎng)下載插件 里面有dome等其他需要用到的 地址: 安裝插件 打開下載的文件里的bin文件 安裝一下VideoWebPlugin vue腳手架中集成插件 把官方資源

    2024年02月03日
    瀏覽(22)
  • web前端在vue中通過(guò)??挡寮度胍曨l,實(shí)現(xiàn)實(shí)時(shí)預(yù)覽以及視頻回放功能

    ? 首先第一步,在海康官網(wǎng)下??狄曨l插件下載到電腦中??甸_放平臺(tái) ? ?然后新建一個(gè)組件,下面我直接把我封裝好的組件代碼拿出來(lái),重要的地方我在代碼中添加了注釋 ? 以上是封裝的組件,下面是調(diào)用的方法? ?

    2024年02月03日
    瀏覽(24)
  • 海康威視web3.0在ie瀏覽器上一直提示安裝插件的問題解決

    ??低晈eb3.0在ie瀏覽器上一直提示安裝插件的問題解決

    打開ie瀏覽器,點(diǎn)擊右上角的齒輪。 64位的會(huì)顯示64-bit信息 32位的就不會(huì)顯示這個(gè)信息。 ?答案就是,前面解壓出來(lái)有兩個(gè)版本一個(gè)是32位,一個(gè)是64位,我們首先要確定的就是自己電腦ie瀏覽器的位數(shù),用錯(cuò)了就會(huì)報(bào)這個(gè)問題,所以一定得先確認(rèn)自己的ie位數(shù),不然就要像我一

    2024年02月08日
    瀏覽(24)
  • vue2實(shí)現(xiàn)海康威視根據(jù)??挡寮M(jìn)行監(jiān)控實(shí)時(shí)預(yù)覽和回放功能,全套代碼,開箱即用。

    vue2實(shí)現(xiàn)海康威視根據(jù)??挡寮M(jìn)行監(jiān)控實(shí)時(shí)預(yù)覽和回放功能,全套代碼,開箱即用。

    ?這是一套拿到手就能直接用的根據(jù)??堤峁┑臄z像機(jī)節(jié)點(diǎn)實(shí)時(shí)預(yù)覽和回放的全步驟代碼,開箱即用。 ?我的是基于vue2寫的,vue3可以看我下一篇文章。 很多人在開發(fā)vue項(xiàng)目的時(shí)候,不知道怎么去開發(fā)視頻實(shí)時(shí)預(yù)覽和回放功能,然后一直查文檔,再去看別人寫的項(xiàng)目,就是無(wú)

    2023年04月15日
    瀏覽(23)
  • vue2使用rtsp視頻流接入??低晹z像頭(純前端)

    vue2使用rtsp視頻流接入海康威視攝像頭(純前端)

    ??低暪俜降腞TSP最新取流格式如下: 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)
  • 記錄對(duì)接海康威視攝像頭web端實(shí)時(shí)預(yù)覽:Linux+ffmpeg+nginx轉(zhuǎn)換RTSP視頻流(完整版實(shí)現(xiàn))

    ????????需求:web端實(shí)現(xiàn)??禂z像頭實(shí)時(shí)預(yù)覽效果 ????????由于市面上大部分網(wǎng)絡(luò)攝像頭都支持RTSP協(xié)議視頻流,web端一般無(wú)法直接使用RTSP實(shí)現(xiàn)視頻預(yù)覽,本篇使用ffmpeg對(duì)視頻流進(jìn)行轉(zhuǎn)換,最終實(shí)現(xiàn)web端實(shí)時(shí)預(yù)覽。 ????????工具介紹:ffmpeg、nginx、vue ????????介

    2024年01月25日
    瀏覽(24)
  • 海康威視攝像頭二次開發(fā)_云臺(tái)控制_視頻畫面實(shí)時(shí)預(yù)覽(基于Qt實(shí)現(xiàn))

    ??低晹z像頭二次開發(fā)_云臺(tái)控制_視頻畫面實(shí)時(shí)預(yù)覽(基于Qt實(shí)現(xiàn))

    需求:需要在公司的產(chǎn)品里集成??低晹z像頭的SDK,用于控制??低暤臄z像頭。 拍照抓圖、視頻錄制、云臺(tái)控制、視頻實(shí)時(shí)預(yù)覽等等功能。 開發(fā)環(huán)境: windows-X64(系統(tǒng)) + Qt5.12.6(Qt版本) + MSVC2017_X64(使用的編譯器) 海康威視提供了 設(shè)備網(wǎng)絡(luò)SDK ,設(shè)備網(wǎng)絡(luò)SDK是基于設(shè)備私有網(wǎng)

    2024年02月13日
    瀏覽(23)
  • vue項(xiàng)目引用??狄曨l插件(web1.5),el-date-picker下拉選擇時(shí)間面板會(huì)被遮蓋問題解決。

    vue項(xiàng)目引用海康視頻插件(web1.5),el-date-picker下拉選擇時(shí)間面板會(huì)被遮蓋問題解決。

    一、海康插件浮窗的層級(jí),會(huì)把項(xiàng)目中時(shí)間控件中的時(shí)間選擇面板擋住,導(dǎo)致時(shí)間面板顯示不全,無(wú)法選擇時(shí)間。如圖所示: 二、解決辦法:調(diào)用API中的JS_ JS_CuttingPartWindow(iLeft, iTop, iWidth, iHeight )方法, 三、效果圖 四、API接口文檔 大致意思就是當(dāng)點(diǎn)擊時(shí)間控件出現(xiàn)時(shí)間選擇

    2024年02月11日
    瀏覽(17)
  • 解決??低暠O(jiān)控安裝插件后依然預(yù)覽不了

    解決??低暠O(jiān)控安裝插件后依然預(yù)覽不了

    故障表現(xiàn): 多次重裝插件依然瀏覽不了監(jiān)控畫面,一直顯示以下圖片信息,提示安裝插件 原因: 監(jiān)控探頭版本老舊,畫面不能在新版瀏覽器上播放,兩者不能兼容 解決辦法: 1.IE瀏覽器 點(diǎn)開設(shè)置,找到“兼容性視圖設(shè)置” 將監(jiān)控畫面網(wǎng)址添加入框中,點(diǎn)擊確定,再點(diǎn)關(guān)閉

    2024年02月16日
    瀏覽(44)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包