因项目上面需求,接触到了海康威视的设备,要把他嵌入到web页面中,所以就开始了爬坑之路
刚开始不知道如何把设备的页面嵌入到项目的web页面中,直到我遇见了他——“WEB3.0控件开发包V1.0.9_CN” (感谢网友的无私奉献)
这个插件如果用chrome高版本的话 会提示 您的chrome浏览器版本过高,不支持NPAPI插件 如果出现这个情况的话,你可以选firefox,或者下载低版本的chrome
找到这个页面的话,基本上的问题可以解决一半了,但是如果你需要支持 回看录像的话,那么就需要麻烦点了,虽然找到的js插件里面有回放的js接口,但是就是一直回放不成功,捣鼓了几天,最后放弃了!!但是期间知道了海康威视的rtsp流的形式,之后的想法就是用其他的播放器插件播放。最后根据网友的推荐选择了vlc这个插件。下面就把海康威视的rtsp流格式简单的列一下:
1、预览的流
设备预览取流的RTSP URL有新老版本,2012年之前的设备(比如V2.0版本的Netra设备)支持老的取流格式,之后的设备新老取流格式都支持。
【老版本】rtsp://username:password@<ipaddress>/<videotype>/ch<number>/<streamtype>
注:VLC可以支持解析URL里的用户名密码,实际发给设备的RTSP请求不支持带用户名密码。
【新版本】rtsp://username:password@<address>:<port>/Streaming/Channels/<id>(?parm1=value1&parm2-=value2…)
注:VLC可以支持解析URL里的用户名密码,实际发给设备的RTSP请求不支持带用户名密码。
2、回放取流
URL规定:rtsp://username:password@<address>:<port>/Streaming/tracks/<id>(?parm1=value1&parm2-=value2…)
注:VLC可以支持解析URL里的用户名密码,实际发给设备的RTSP请求不支持带用户名密码。
举例说明:
DS-9016HF-ST的IP通道01:
rtsp://admin:12345@172.6.22.106:554/Streaming/tracks/1701?starttime=20131013t093812z&endtime=20131013t104816z
表示以单播形式回放指定设备的通道中的录像文件,时间范围是starttime到endtime,其中starttime和endtime的格式要符合ISO 8601。具体格式是YYYYMMDD”T”HHmmSS.fraction”Z” ,Y是年,M是月,D是日,T是时间分格符,H是小时,M是分,S是秒,Z是可选的、表示Zulu (GMT) 时间。
3、流媒体取流
【流媒体 V4.0】iVMS-4200 V2.0配套流媒体服务器
注:Devicehc8为固定字符 不可更改
【流媒体 V2.0】
注:流媒体2.0的取流URL不是标准的RTSP协议,必须使用流媒体SDK(客户端)才支持取流的,放在这里只是为了给流媒体4.0做参照的。
虽然解决了rtsp流的问题,但是提供的web插件中的 I_StartPlayback(szIP, options) 开始回放的接口还是没有弄明白,为什么不能成功的回放已录下的文件呢!
这个问题还有待解决,如果有哪个小伙伴知道如何解决的话,希望能指点迷津!!
参考:http://www.ixinde.net/forum.php?mod=viewthread&tid=41744&extra=page%3D1&page=1