基于GB28181协议,实现WVP平台语音广播

sw

上篇我们讲到从零基础搭建流媒体平台,这一篇我们来聊一下怎样基于国标协议,来实现语音广播功能。

国标GB/T28181-2016文档,第9.12小节里,有对语音广播的详细描述。具体内容我们就不再赘述,开发者可以自行查阅。我们来看一下文档里对语音广播的命令流程图:


如果开发者基于WVP来开发,以上流程可以只看语音流接收者和SIP服务器的命令流程,其他暂时不需要,而且整个语音广播在这里都不需要和流媒体交互。我们以大华设备为例,来演示整个语音广播流程。这里需要注意的是,大华设备如果没有上报语音通道,则默认填写语音编码为34020000001370000001。

平台向设备发送语音广播通知MESSAGEsip:52000010102330000004@10.10.10.17:5061SIP/2.0Call-ID:06c36490d25cf21813ffc8f0ccf95837@0.0.0.0CSeq:1MESSAGEFrom:sip:52000010102330000001@10.10.10.188:6060;tag=FromBcst1689689910253To:sip:52000010102330000004@5200001010Via:SIP/2.0/:6060;branch=z9hG4bK-ViaBcst-1689689910253;rportMax-Forwards:70Content-Type:Application/MANSCDP+xmlContent-Length:178?xmlversion="1.0"?Notify!--命令类型:广播通知--CmdTypeBroadcast/CmdType!--命令序列号--SN914042/SN!--语音输入设备的设备编码--SourceID52000010102330000001/SourceID!--语音输出设备的设备编码--TargetID34020000001370000001/TargetID/Notify
设备向平台回复200OKSIP/2.0200OKCall-ID:06c36490d25cf21813ffc8f0ccf95837@0.0.0.0Content-Length:0CSeq:1MESSAGEFrom:sip:52000010102330000001@10.10.10.188:6060;tag=FromBcst1689689910253To:sip:52000010102330000004@5200001010;tag=019d182856233baf702250b60fbf48f3User-Agent::SIP/2.0/:6060;rport=6060;branch=z9hG4bK-ViaBcst-1689689910253
#设备回复200OKSIP/2.0200OKVia:SIP/2.0/:5061;branch=z9hG4bK-313335-f9f2f7c7dafcb225442b96a2460fb586From:sip:34020000001370000001@5200001010;tag=4f7a72e1f01183dae1b67f77b120c811To:sip:52000010102330000001@5200001010;tag=z9hG4bK-ViaBcst-1689694372435Call-ID:1fcbf8f1e8efc171daaf1677b585f4ecCSeq:2BYEContent-Length:0

广播结束之后我们记得关闭本地创建的UDP端口。最后贴一张在我平台的实现的语音广播功能截图。


这就是整个语音广播的流程和实现逻辑,其他设备也是同样的原理,如宇视、海康等。RTP打包音频数据发送到摄像头这里我们就不再详细介绍,有需要深入了解和需要相关二次开发的,可以留言交流。

ps:(预告一下)下一篇我准备讲基于国标协议的语音对讲实现逻辑~

文章版权声明:除非注明,否则均为纵投光影网原创文章,转载或复制请以超链接形式并注明出处。

上一个 晶合光电Micro-LED和DLP投影大灯亮相ALE 2025

下一个 75寸电视长宽多少厘米?75寸电视最佳观看距离?25年75寸电视推荐