做了很多年的gb28181,几年前开始写国标sdk(可以在博主下载资源里面下载),后面基于sdk写国标接入系统,实现对国标设备,国标平台的接入,使用ps流透传的方式到客户端。客户端接收到ps流后进行解码播放。再到后面2016年前后开始做直播,后面又把国标GB28181Rtmp直播,使用nginx或者srs做为直播服务器。就在去年,srs支持了webrtc,自然系统就可以支持webrtc了。使用webrtc的好处就是延迟比rtmp,hls小很多,解决了之前做直播的时候,延迟大,云台体验不好的问题。
由于GB28181模板是支持内外网设备的,所有系统可以部署在内网,以及公网上。
接入方式如下:
1、Gb接入模块使用osip底层实现,与国标设备,国标平台进行交互。
2、系统预览视频流,使用JRTP底层接收Rtp视频流。
3、由于国标设备或平台使用ps流进行交互,在此需要对ps流进行拆包,拆解h264以及音频流,若设备支持aac,最好设置成aac编码,若不支持,对音频进行重编码到aac。
4、使用libRtmp底层把h264的视频流推送到srs。
5、使用chorme等支持webrtc的浏览器先通过js获取到本机sdp,通过http携带sdp以及webrtcUrl请求到srs。
6、srs会返回sdp,sdp再通过js传入浏览器,即可开始预览视频了。
视频效果如图:
演示地址:https://www.ninghongbao.com/video 项目资料:http://www.ninghongbao.com:8888
演示地址默认用户名,密码分别为:admin admin