最近项目上有个需求,使用uniapp开发的APP需要接入海康威视的摄像头并播放监控画面,后期可能还要在微信小程里实现同样的功能,所以采用的接入方案最好是同时支持APP和小程序。
海康摄像头的型号就先不放了,是一款内置4G流量卡且可插SIM也可插网线的。中间经历了联系海康的客服、自己激活、尝试各种接入方式,没少浪费时间,现将最终的接入方法总结如下,以最省事的方式来。
有线接入方式
这种方式走的RTSP播放协议,端口号默认是554,使用uniapp的video组件播放。
步骤:
- 下载海康互联APP,不插网线的情况下,扫描摄像头上的二级码(扫下面那个扫一扫获取服务的,上面那个是流量卡的),激活设备;
- 激活后在高级配置中配置有线网络信息,如IP地址、子网掩码、网关、DNS等,保存并重启摄像头,然后插上网线;
- 等摄像头重启完成,输入上面配置的IP地址,就可以进到网页版的管理面板;
- 参考uniapp的video组件文档,直接使用其代码即可,组件的播放地址,也就是
src
改为rtsp://username:password@ip:port/stream_name
,其中rtsp
是播放协议,username
和password
是管理员的账号密码,ip
是第二步配置的IP地址,port
默认是554,不填也行,后面的stream_name
可以随便写,比如stream1或test都可以; - 如果需要使用公网接入,需要开通公网IP或使用内网穿透,并映射摄像头IP的554端口。
无线接入方式
这种方式支持流量卡接入方式,并可以和有线接入方式并存,前提是先无线激活。播放监控画面可以走HLS协议或RTMP协议,也是使用uniapp的video组件播放。
步骤:
- 下载荧石云APP(注意不是海康互联APP),不插网线的情况下,扫描摄像头上的二级码(扫下面那个扫一扫获取服务的,上面那个是流量卡的),激活设备;
- 进入荧石云开放平台,即可看到接入的设备,点击播放地址,即可自由选择播放协议,如HLS、FLV、RTMP等。
- 参考uniapp的video组件文档,直接使用其代码即可,组件的播放地址,也就是
src
改为第二步中的HLS播放地址。
另,需要将视频编码改为H.264,而默认的是H.265。通过荧石云的"设备配置"链接或配置有线接入后访问网页面板,在"常用配置->视频参数"中,将主码流和子码流的视频编码都从默认的H.265改为H.264即可。HLS和RMTP都得是H.264编码。
流量卡默认只有500M流量,超了需要充值,APP上有充值入口。荧石云的个人版只支持10台设备接入,超了就需要升级到企业版或按需付费。
至此两种接入方式都介绍完了,看起来很简单,其实也不难,只要是研究用的时间长,来回折腾。
由于HLS、RMTP、RTSP是通用的协议,所以理论上网页、H5、Android、iOS也都是支持的。