海康威视WEB视频预览


        近期,公司一升级项目需要在线视频预览,用到海康威视的硬盘录像机,接手之后发现原有的组件(NetVideoActiveX23.ocx),登录接口和获取设备、通道等接口都正常调用,预览接口StartRealPlay总是返回失败,没找到原因,只能重新写了一遍。这里记录一下用WebComponentsKit对海康威视进行预览时的心得,希望对各位有所帮助。

  •  WebComponentsKit和NetVideoActiveX23的登录端口不一样,这里要特别注意,WebComponentsKit通过HTTP端口登录,而NetVideoActiveX23则是通过一个叫服务端口来登录。具体可以登录硬盘录像机的配置页面进行查看。
  •  WebComponentsKit支持域名登录和IP登录,NetVideoActiveX23只支持IP登录
  • WebComponentsKit登录接口为异步模式,回调写在SUCCESS中,这个看demo就知道了。
    var iRet = WebVideoCtrl.I_Login(IP, protocol, Port, Username, Password, {
    
            success: function (xmlDoc) {
            },
            error: function () {
            }
        });
    
  • 预览接口I_StartRealPlay,默认显示在当前选中窗口。如果要指定视频显示在哪个窗口,通过参数iWndIndex来指定,iWndIndex从0开始。
    var iRet = WebVideoCtrl.I_StartRealPlay(IP, { iWndIndex: wndIndex, iStreamType: 1, iChannelID: iChannelID,bZeroChannel: false})

             可以通过上述方式来同时预览多个视频通道

g_iWndIndex = 0; 

    for (var i = 0; i < channels.length; i++) {
            (function (index) {
                setTimeout(function () {
                    StartRealPlay(IP, index, index + 1);
                    g_iWndIndex++;
                }, 50); 
            })(i);
    }

  • 有时调用预览接口失败,发现webVideoCtrl.js中p内容为空,n为-1,没找到原因(知道的朋友可以回复,谢谢),暂时添加if (S != undefined)跳出不处理(还没发现影响)
    var S = p[n];if (S != undefined) S.bShttpIPChannel = P 

            以上如有错漏,恳请指出,方便大家共同学习!


       


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值