GB28181协议实现了网络视频联网监控,将GB28181的前端视频设备接入到平台,实现了音视频的预览与对讲。但是GB28181协议毕竟是公安监控领域的标准,并未规定音视频双向互动的内容,其语音是双向的,视频是单向的。比如音视频的双向对话,GB28181里就无法实现。

      但实际中很多使用场景都是需要使用双向的音视频对讲的,比如在应急指挥调度平台中,需要与前端设备进行双向对讲。比如要求将前端接入的单兵设备(音视频采集设备)以GB28181协议接入共享到上级平台(可能是政府要求),然后同时希望其他音视频终端间能够进行双向音视频呼叫,所以实现GB28181系统与视频会议的融合可以方便的解决一系列GB28181无法覆盖的功能和问题。

      目前的方案,都采取的GB28181转sip网关的方案,我们不仅仅提供realgbs的GB28181平台,同时还提供一个GB28181转sip的网关,将GB28181的设备同时转换成标准sip接入到sip的对讲平台。这样不仅实现了GB28181的监控,也实现了音视频的双向呼叫。

      通过实现GB28181以及视频会议的融合服务,realgbs增加了web的低延时视频会议功能,不仅仅具备GB28181平台的全部功能,还能够以用户的方式接入到视频会议,实现监控中有会议,会议中调监控。只要一部手机,打开web浏览器,就可以便捷的入会。如下图:

监控流PS会议流ES_sip

平台全程的web无插件的双向互动,采用了 webrtc技术,网上都是js的代码,我们用vue进行了实现,web无插件视频的采集代码如下:

1.创建rtppeerconnect

this.peerconn = new RTCPeerConnection(null)
      this.peerconn.onaddstream = function (event) {
        var videoElement = document.getElementById('rtc_media_player')
        videoElement.srcObject = event.stream
      }

2.设置rtppeerconnect音视频发送

this.peerconn.addTransceiver('audio', { direction: 'sendonly' })
      this.peerconn.addTransceiver('video', { direction: 'sendonly' })

3.取音视频流

navigator.mediaDevices.getUserMedia(
        { audio: true, video: { height: { max: 320 } } }
      ).then((stream) => {
    }

3.发送offer

sendrtcoffer (url, api, streamurl, clientip, sdp) {
      HttpApi.sendoffer(url, api, streamurl, clientip, sdp).then((data) => {
        this.peerconn.setRemoteDescription(new RTCSessionDescription({ type: 'answer', sdp: data.sdp })).catch(error => {
          console.log(error)
        })
      })
    }