海康摄像头b/s架构下的视频直播

本文只讨论b/s架构,c/s架构的话,windows和linux的sdk在官网即可下载,ios和安卓的sdk可以和当地分公司联系,签保密协议就给,要注意的是截止2018-11-14,官方并没有arm版的sdk,已和官方确认,所以有些LoT设备无法使用sdk包直接做c/s的开发。下面开始说web端的开发。

 

场景1:

IE浏览器,windows客户机

海康有一个官方的web端sdk,早已停止更新,不过依然可以实现简单的功能,比如直播和拍照,这个sdk的要求是使用webcomponents插件。而这个插件只有IE能够使用,且只有32位的插件,因为坑较多,如果你的机型能够明确,那么可以使用这种方案,顺带一提,https://blog.csdn.net/younghong1992/article/details/79583499     这里有使用脚本全屏启动IE的办法

 

使用方法:

海康的文档说的很清楚,只有32位能用,笔者测试的时候只要保证是使用的32位IE或同内核浏览器即可,系统是64位的也可以用。

1、首先安装\web3.0开发包\demo\codebase\WebComponents.exe,全程下一步即可。

2、打开demo.html即可直接使用。

3、所有的方法都在demo.js中。

 

 

场景2:

有些客户机使用的是树莓派或者pad这种东西,这种情况下,上述插件显然不合适,这种情况有第二种解决方案,就是服务器对rtsp进行转流,转为rtmp(或者hls等,不过延更高),前端页面用flash播放,不过这种情况的问题是新版的chrome不支持flash,火狐浏览器不好全屏,而且延迟较高。这种情况显然要手动使用低版本的chrome浏览器,并安装较低版本的flash。在我的测试环境下,使用vlc或ffmepg转码,1080ti的显卡,400w像素的海康摄像头,延迟4s左右。

 

使用方法演示:

1、首先,海康的视频流地址是rtsp://admin:[email protected]地址/mpeg4/ch1/sub/av_stream,如rtsp://admin:[email protected]/mpeg4/ch1/sub/av_stream

2、vlc转流过程 

    选择网络串流

    

    输入正确的流地址

    

 

    选择HTTP,然后点击添加,看一下里面的端口号,默认应该是8080,建议换一个不常用的端口号。

    

    

    

    选择流格式,如果是H5播放,使用OGG即可。

    

    选择流。

    

    经过以上串流后,使用H5的播放器,直接播放串流地址即可,地址为本机ip:刚才设置的端口。    

场景3:

如果使用场景对画面的实时度有要求,约在一秒之内,则可以使用本方案。截止时间2018-11-15日,已经有一些开源的项目,可以在web端直接播放rtsp视频流,此处选用HStream做例子。

 

先下载H5Stream,然后打开conf/h5ss.conf,第90行修改为要播放的rtsp路径,如rtsp://admin:[email protected]/mpeg4/ch1/sub/av_stream,然后在安装根目录下使用命令行运行h5ss.bat/h5ss.sh。

启动之后,只需访问本机的8080端口的index即可看到实时画面。