GB28181平台RealGBS基于web无插件对讲的实现

本文介绍了GB28181协议中支持的Web无插件对讲技术,该技术利用HTML5浏览器的声音采集功能,并通过WebSocket发送音频数据给平台。文中详细解释了如何使用navigator.getUserMedia对象进行音频采集及配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    GB28181协议明确规定了GB28181服务端可以与前端设备进行双向对讲,完整的GB28181平台是不仅有web配置,前端设备注册,还支持GB28181客户端登录的,比如视跃科技的realgbs平台,所以GB28181的对讲首先是GB28181客户端与前端设备的对讲,然后为了方便,同时也增加了web无插件与前段设备对讲。完整的GB28181对讲流程图如下:

     客户端发起对讲就不详细描述了,他属于标准的GB28181的部分,大家可以查阅GB28181-2016标准文档,这里重点讲一下web无插件的与前端对讲的实现。

     html5浏览器支持从浏览器端声音的采集,但是为了安全性,html5标准要求必须使用https加密的协议,所以采集音频的页面必须是https的,就是http的openssl加密版,当然视跃realgbs已经支持并自动部署了。

     html5采集音频是试用navigator.getUserMedia对象,然后创建音频上下文环境对象,最后通过音频参数创建音频采集对象,最终以回调形式将音频裸数据抛出,代码如下:

    

// 请求麦克风
navigator.getUserMedia = navigator.getUserMedia
// 创建一个音频环境对象
var audioContext = window.AudioContext
var context = new audioContext()
var config = {}
config.channelCount = 1 //GB28181都是单通道音频
config.numberOfInputChannels = 1
config.numberOfOutputChannels = 1
config.sampleBits = 16
config.sampleRate = 8000
// 创建缓存,用来缓存声音
config.bufferSize = 1024
// 将声音输入这个对像
var audioInput = context.createMediaStreamSource(stream)

      后面的回调会把数据抛出来,抛出来后通过websocket发送给平台,同时根据实时的音量变化,我们简单的做了一个音柱,这样至少让用户觉得你采集到声音啦,如下图(演示地址):

其实web和平台的对接是采用http/https协议的,是GB28181协议之外的,所以这个灵活性也比较高,大家可以点击下载免费试用。

更多信息

e-mail: yujesoft@163.com

tel: 13971177602

web:www.founu.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值