GB28181实现了*敏*感*词*语音对讲网络音频采集通话示例
优采云 发布时间: 2020-08-06 15:12背景分析
近年来,家庭视频监控应用发展迅速,系统访问规模不断扩大. 涌现了许多平台提供商. 平台提供者的访问协议不同. 终端制造商需要提供各种类型的终端维护. 不同平台上的软件版本造成了巨大的资源浪费. 随着各个地区视频的*敏*感*词*建设,省级和国家级视频的集中访问,通过视频逐渐掌握现场,进行重大事件的指挥与调度的需求逐渐显现. 但是,不同平台之间缺乏统一的互通协议. 在这样的产业背景下,GB / T28181是基于终端标准化和平台互联的要求而诞生的.
GB28181无需插件的网页播放
通过GB28181实现Web端插件回放已经有非常好的LiveGBS产品: . 本文主要介绍如何基于LiveGBS实现摄像机语音对话和喊叫功能. 主要步骤是在查看端实现语音采集并将其发送回摄像机端. 查看具体过程
在前端页面上采集语音的示例
function talkStart(e) {
if(this.recorder) {
return;
}
var $target = $(e.currentTarget);
LiveRecorder.get((rec, err) => {
if(err) {
alert(err);
return
}
this.muted_bak = this.muted;
this.$refs["player"].setMuted(true);
$target.addClass("active");
this.recorder = rec;
this.recorder.start();
}, {
sampleBits: 16,
sampleRate: 8000,
pcmCallback: pcm => {
if(this.bAudioSendError) return;
var reader = new window.FileReader();
reader.onloadend = () => {
var base64 = reader.result;
var base64 = base64.split(',')[1];
this.bAudioSending = true;
$.get("/api/v1/control/talk", {
serial: this.serial,
code: this.code,
audio: base64,
}).error(() => {
if(!this.bAudioSendError) {
this.bAudioSendError = true;
setTimeout(() => {
this.bAudioSendError = false;
}, 10000);
}
}).always(() => {
this.bAudioSending = false;
})
}
reader.readAsDataURL(pcm);
}
})
}
function talkStop() {
if(this.recorder) {
this.recorder.stop();
this.recorder = null;
$(this.$el).find(".fa-microphone.active, .ptz-talk.active").removeClass("active");
this.$refs["player"].setMuted(this.muted_bak);
return;
}
},
GB28181实现了*敏*感*词*语音对讲网络音频采集通话示例