1 背景知识
1 海康的文档 https://open8200.hikvision.com/artemis-portal/document?version=4&docId=403&apiBlock=
2 如何调用已部署好的服务
1 需要先安装VideoPlay插件,在ie浏览器下按照要求设置好相关东西。
如果加载失败,会显示一个黑色的图片,上面有文字显示加载失败。
2 后台可以运行后,把<iframe>加在一个外层div中即可。通过url来设置显示不同设备的视频。
var url = spIP + "VideoPlay/playVideo.jsp?camraid='" + camraid + "'&is_device_code=1";
var html = "<iframe src="+url+" style='width:100%;height:284px;'></iframe>";
$(div).html("");
$(div).html(html);
camraid是设备标识,如果is_device_code=1,camraid需要传设备的videoCode,如果is_device_code=3,需要传设备的indexCode。这个indexCode是8200平台才有的编号,需要通过接口从海康那里拿过来。现在公共服务里已经把需要取的设备数据都存在了数据库,在项目里搜索callApiGetCameraInfos可以找到取所有设备数据的代码。
3 当然要想看到视频需要到交警,接上视频网后可以看到效果。
3 一些坑
1 官方文档下回来的demo:视频预览回放BS-DEMO(源代码+使用文档)html-20190116\预览\playview.html,直接双击打开,插件不能加载。 经排查发现是js路径错了,多了一个/,去掉才可以加载。
2 部分win10电脑可能无法加载视频插件。
4 关于sdk
1 要使用视频的各个功能,主要是通过各参数来控制,获取所有所需参数后调用ocx.js里视频插件的方法来调用视频。其中一个调用如下:
play_ocx_do:function(param){
if ("null" == param || "" == param || null == param || "undefined" == typeof param) {
return;
} else {
var OCXobj = document.getElementById("PlayBackOCX");
OCXobj.ContainOCX_Do(param);
}
}
关于参数可以参考sdk及在线文档。