在web页面使用webVideoCtrl.js集成海康威视

这篇具有很好参考价值的文章主要介绍了在web页面使用webVideoCtrl.js集成海康威视。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目场景:

使用的是webSDK3.3版本的集成包,在项目上接入海康威视的视频


问题描述

1.在初始化成功后想去调用登录接口,结果一直报错,如图1-1
2.在两个页面都接入海康威视的视频时,两个页面做切换会报错,导致页面没有被销毁,如图1-2

webvideoctrl.js,前端,javascript,开发语言
图1-1
webvideoctrl.js,前端,javascript,开发语言
图1-2
webvideoctrl.js,前端,javascript,开发语言

原因分析:

问题1:登录报错是因为用到了websocket,用异步方式去登陆会报错,只能使用同步方式,所以在初始化里面登录,

initVideoPlay(iWndowType) {
                let that=this

                WebVideoCtrl.I_InitPlugin({
                    bWndFull: true,     //是否支持单窗口双击全屏,默认支持 true:支持 false:不支持
                    iWndowType:2,
                    cbSelWnd: function (xmlDoc) {
                       g_iWndIndex = parseInt($(xmlDoc).find("SelectWnd").eq(0).text(), 10);
                        let szInfo = "当前选择的窗口编号:" + that.g_iWndIndex;
                        console.log(szInfo);
                    },
                    cbDoubleClickWnd: function (iWndIndex, bFullScreen) {
                        let szInfo = "当前放大的窗口编号:" + iWndIndex;
                        if (!bFullScreen) {
                            szInfo = "当前还原的窗口编号:" + iWndIndex;
                        }
                        console.log(szInfo);
                    },
                    cbEvent: function (iEventType, iParam1, iParam2) {
                        if (2 == iEventType) {// 回放正常结束

                        } else if (-1 == iEventType) {
                            console.log("设备" + iParam1 + "网络错误!");
                        } else if (3001 == iEventType) {
                            clickStopRecord(g_szRecordType, iParam1);
                        }
                    },

                    cbInitPluginComplete: function () {
                            WebVideoCtrl.I_InsertOBJECTPlugin("trafficPlugin").then(() => {
                                that.szDeviceIdentify =  that.hkvInfo.ip + "_" + that.hkvInfo.port;
                                if(that.isLogin ==false) {
                                let szIP = that.hkvInfo.ip,
                                    szPort = that.hkvInfo.port,
                                    szUsername = that.hkvInfo.username,
                                    szPassword = that.hkvInfo.password;

                                if ("" == szIP || "" == szPort) {
                                    return;
                                }
                                let iRet = WebVideoCtrl.I_Login(szIP, 1, szPort, szUsername, szPassword, {
                                    timeout: 3000,
                                    success: function (xmlDoc) {
                                        //console.log(that.szDeviceIdentify + " 登录成功!")
                                        that.ifShow = true
                                        that.isLogin=true
                                        setTimeout(function () {
                                            setTimeout(function () {
                                                that.getChannelInfo();//获取通道号
                                            }, 1000);
                                            that.getDevicePort();
                                        }, 10);
                                    },
                                    error: function (oError) {
                                        if(oError.errorCode==2001){
                                            that.clickStartRealPlay()
                                        }else {
                                            console.log('登录失败');
                                        }
                                    }
                                });
                                }else {
                                    //直接预览
                                    that.getChannelInfo();//获取通道号
                                }
                                // 检查插件是否最新
                                WebVideoCtrl.I_CheckPluginVersion().then((bFlag) => {
                                    if (bFlag) {
                                        alert("检测到新的插件版本,双击开发包目录里的HCWebSDKPlugin.exe升级!");
                                    }
                                });
                            }, () => {
                                alert("插件初始化失败,请确认是否已安装插件;如果未安装,请双击开发包目录里的HCWebSDKPlugin.exe安装!");
                            });

                    }

                });
            },


问题2:两个视频页面直接快速切换,视频销毁也要一点时间,我目前是先切换到其他页面再切换到另一个视频页面,要是大家有什么好的建议可以给我留下评论文章来源地址https://www.toymoban.com/news/detail-808145.html

#停止正在播放的页面
            clickStopRealPlay() {
                let self = this
                let oWndInfo = WebVideoCtrl.I_GetWindowStatus(self.g_iWndIndex),
                    szInfo = "";
                if (oWndInfo != null) {
                    WebVideoCtrl.I_StopAllPlay();//停止正在播放的页面
                    setTimeout(() => {
                        WebVideoCtrl.I_DestroyPlugin()
                    }, 2000);

                }
            },

到了这里,关于在web页面使用webVideoCtrl.js集成海康威视的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 通过java解码web前端直接预览海康威视摄像头

            最近进行项目开发时遇到了需要前端直接调用摄像头,并直接进行播放的需求。原本计划通过海康威视官网的《WEB无插件开发包 V3.2》直接进行控制、交互,实现摄像头直接登录以及取流预览。但是前端人员现场驻场开发后反映各种兼容性问题频发,反正就是不能友

    2024年02月01日
    浏览(36)
  • 海康威视WebSDK_V3.3.0 集成vue2项目避坑+解决方案

    最近新需求项目集成WebSDK_V3.3.0的视频插件,开发过程中遇到了一些问题,如下: 无法正确引入插件/InitPlugin报错 使用文档中写的I_DestroyPlugin报错并且再次Init插件后 无法正常播放,报错如下: 如果你也有类似问题请往下看 首先 开发包如下: 首先 确认你已经正确引入了开发包

    2024年01月16日
    浏览(33)
  • vue项目接入海康威视H5player.js

    插件下载 点击跳转海康威视H5player下载地址 首先我们需要将下载下来的程序包内的JS文件放到我们自己的项目文件 在utils里面还要放置h5player.min.js文件进去 下方代码中解释 注意:一定要放在vue中的public文件夹中 否则会报错 在public/index.html文件中引入 在页面中使用 这样就O

    2024年02月12日
    浏览(32)
  • Java-Spring Boot 集成海康威视明眸门禁 布防|报警|回调|获取事件|查询用户信息

    最近做门禁的集成,突然感觉海康这个东西挺有意思的,于是记录一下。 好了废话不多说,开始上环境、代码 本集成是海康-设备网络集成(以人为中心) 环境:windows 开发工具:IDEA JDK版本:JDK-11.0.12 海康jar包:怎么引入都行(本地引入、maven上传到私服)           

    2024年04月15日
    浏览(83)
  • vue h5player.min.js对接海康威视,踩过的坑

    一、播放的视频无法占满全屏 1、JSResize()接口内部做了50ms防抖动,调用不会立即生效,延时50ms获取最新大小设置窗口。 2、h5player内部会在网页缩放的时候自适应父容器大小,但是在单独变更父容器大小的时候无法自适应,需要重新设置大小 3、出现不生效的问题一般是有单

    2024年02月14日
    浏览(34)
  • 在VUE框架的WEB网页端播放海康威视RTSP视频流完全方案

    1.服务器转流前端转码方案 服务器端先把RTSP流用Web Socket或WebRTC推送到前端,再通过WASM转码MP4播放。此方案虽号称是无插件方案,但是需要服务器支持,两次转码导致延迟较高,一般高达数秒甚至数分钟。此方案首屏画面显示很慢。因为需要服务器不断转码转流,对CPU和内存

    2024年02月05日
    浏览(28)
  • 海康威视web3.0在ie浏览器上一直提示安装插件的问题解决

    打开ie浏览器,点击右上角的齿轮。 64位的会显示64-bit信息 32位的就不会显示这个信息。  答案就是,前面解压出来有两个版本一个是32位,一个是64位,我们首先要确定的就是自己电脑ie浏览器的位数,用错了就会报这个问题,所以一定得先确认自己的ie位数,不然就要像我一

    2024年02月08日
    浏览(31)
  • vue中web端播放rtsp视频流(摄像头监控视频)(海康威视录像机)

    ffmpeg下载 https://ffmpeg.org/download.html 找ffmpeg-release-essentials.zip点击下载,下载完解压 ffmpeg.exe 程序运行 添加成功后验证是否生效任意地方打开cmd窗口输入 ffmpeg 打印如下表示成功 新建一个app.js文件,同级目录下npm安装 node-rtsp-stream 我是直接写在项目里了,你们可以单独写在外

    2024年04月25日
    浏览(36)
  • 记录对接海康威视摄像头web端实时预览:Linux+ffmpeg+nginx转换RTSP视频流(完整版实现)

            需求:web端实现海康摄像头实时预览效果         由于市面上大部分网络摄像头都支持RTSP协议视频流,web端一般无法直接使用RTSP实现视频预览,本篇使用ffmpeg对视频流进行转换,最终实现web端实时预览。         工具介绍:ffmpeg、nginx、vue         介

    2024年01月25日
    浏览(43)
  • 大华 / 海康威视(HIKVISION) 网络视像头的连接及使用

    大华 / 海康威视(HIKVISION) 网络视像头连接方法完全一致,换个搜索摄像头ip的软件而已 1、用 软件/路由器 搜索摄像头ip(同一局域网下,用软件可以扫描到摄像头进行配置) 2、修改摄像头ip/电脑ip,使二者处于同一局域网下 3、用浏览器浏览监控画面 目录 总结: 一、连线

    2024年02月04日
    浏览(113)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包