大华摄像机支持跨网对讲

大华摄像机音频对讲不需要同时播放视频;
大华摄像机对讲支持sendrecv;
主动发送invite到摄像机 ,收到200回复后,再发送ack到摄像机; 接下会收到来自摄像机的音频数据,此时可以获取到udp ip地址(peer_ip) 和 端口(peer_port),udp peer_ip 和 peer_port 发送音频数据到摄像机。
大华摄像机对讲接收发送音频数据的udp端口是同一个端口,因此,大华摄像机能够支持跨网对讲。

大华摄像机对讲

<!--主动发送invite到摄像机-->
INVITE sip:34020000001370000001@3402000000 SIP/2.0
Via: SIP/2.0/UDP 192.168.32.33:14000;rport;branch=z9hG4bK7d0821ae
From: <sip:34020000002000000033@3402000000>;tag=1752762308
To: <sip:34020000001370000001@3402000000>
Call-ID: 1949196054
CSeq: 5 INVITE
Content-Type: APPLICATION/SDP
Contact: <sip:34020000002000000033@192.168.32.33:14000>
Max-forwards: 70
User-Agent: tiamaes
Subject: 34020000001370000001:2,34020000002000000033:2
Content-Length: 183

v=0
o=34020000002000000033 0 0 IN IP4 192.168.32.33
s=Talk
c=IN IP4 192.168.32.33
t=0 0
m=audio 25000 RTP/AVP 8
a=sendrecv
a=rtpmap:8 PCMA/8000
f=v/a/1/8/1
y=0200000002
<!--接收到摄像机响应-->
SIP/2.0 100 Trying
Call-ID: 1949196054
Content-Length: 0
CSeq: 5 INVITE
From: <sip:34020000002000000033@3402000000>;tag=1752762308
To: <sip:34020000001370000001@3402000000>
User-Agent: SIP UAS V3.0.0.1049939
Via: SIP/2.0/UDP 192.168.32.33:14000;rport=14000;branch=z9hG4bK7d0821ae

<!--接收到摄像机响应-->
SIP/2.0 101 Dialog Establishment
Call-ID: 1949196054
Contact: <sip:34020000001180005001@192.168.32.13:5060>
Content-Length: 0
CSeq: 5 INVITE
From: <sip:34020000002000000033@3402000000>;tag=1752762308
To: <sip:34020000001370000001@3402000000>;tag=5aaf5dffc1105842785cdf093029bcf8
User-Agent: SIP UAS V3.0.0.1049939
Via: SIP/2.0/UDP 192.168.32.33:14000;rport=14000;branch=z9hG4bK7d0821ae

<!--接收到摄像机响应-->
SIP/2.0 200 OK
Call-ID: 1949196054
Contact: <sip:34020000001180005001@192.168.32.13:5060>
Content-Length: 270
Content-Type: application/sdp
CSeq: 5 INVITE
From: <sip:34020000002000000033@3402000000>;tag=1752762308
To: <sip:34020000001370000001@3402000000>;tag=5aaf5dffc1105842785cdf093029bcf8
User-Agent: SIP UAS V3.0.0.1049939
Via: SIP/2.0/UDP 192.168.32.33:14000;rport=14000;branch=z9hG4bK7d0821ae

v=0
o=34020000001310000001 0 0 IN IP4 192.168.32.13
s=Talk
i=VCam Talk Session
c=IN IP4 192.168.32.13
t=0 0
m=audio 9712 RTP/AVP 8	
a=recvonly
a=rtpmap:8 PCMA/8000/1
m=audio 9712 RTP/AVP 8	
a=sendonly
a=rtpmap:8 PCMA/8000/1
y=0200000002
f=v/0/0/0/0/0a/0/0/0
<!--发送ack到摄像机-->
ACK sip:34020000001370000001@3402000000 SIP/2.0
Via: SIP/2.0/UDP 192.168.32.33:14000;rport;branch=z9hG4bK6e554aa5
From: <sip:34020000002000000033@3402000000>;tag=1752762308
To: <sip:34020000001370000001@3402000000>;tag=5aaf5dffc1105842785cdf093029bcf8
Call-ID: 1949196054
CSeq: 5 ACK
Contact: <sip:34020000002000000033@192.168.32.33:14000>
Max-forwards: 70
User-Agent: tiamaes
Content-Length: 0

非大华摄像机,对讲仅局域网有效

看文档


在这里插入图片描述

  • 前端语音输出设备: 摄像机IPC 音频输出接口连接的音箱
  • 配置摄像机GB28181:音频通道编码ID : 34020000001370000001 (必须137 文档第3段)

在这里插入图片描述

设备是否具备语音输出能力?

文档第2段; 如下:设备目录查询应答消息

MESSAGE sip:34020000002000000001@3402000000 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.64:5060;rport;branch=z9hG4bK564971777
From: <sip:34020000001110000001@3402000000>;tag=173379301
To: <sip:34020000002000000001@3402000000>
Call-ID: 268626630
CSeq: 20 MESSAGE
Content-Type: Application/MANSCDP+xml
Max-Forwards: 70
User-Agent: IP Camera
Content-Length:   967

<?xml version="1.0" encoding="GB2312"?>
<Response>
<CmdType>Catalog</CmdType>
<SN>837438569</SN>
<DeviceID>34020000001110000001</DeviceID>
<SumNum>2</SumNum>
<DeviceList Num="2">
<Item>
<DeviceID>34020000001310000001</DeviceID>
<Name>Camera 01</Name>
<Manufacturer>Hikvision</Manufacturer>
<Model>IP Camera</Model>
<Owner>Owner</Owner>
<CivilCode>3402000000</CivilCode>
<Address>Address</Address>
<Parental>0</Parental>
<ParentID>34020000002000000001</ParentID>
<SafetyWay>0</SafetyWay>
<RegisterWay>1</RegisterWay>
<Secrecy>0</Secrecy>
<Status>ON</Status>
</Item>
<Item>
<!--语音输出设备的设备编码/音频通道编码ID-->
<DeviceID>34020000001370000001</DeviceID>
<Name></Name>
<Manufacturer>Hikvision</Manufacturer>
<!--音频输出-->
<Model>AudioOut</Model>
<Owner>Owner</Owner>
<CivilCode>3402000000</CivilCode>
<Address>Address</Address>
<Parental>0</Parental>
<ParentID>34020000001110000001</ParentID> 
<SafetyWay>0</SafetyWay>
<RegisterWay>1</RegisterWay>
<Secrecy>0</Secrecy>
<Status>ON</Status>
</Item>
</DeviceList>
</Response>

在这里插入图片描述

关于对讲

实时音视频点播 + 语音广播 = 语音对讲
在这里插入图片描述

语音广播


广播通知
》》》》》》 IPC
MESSAGE sip:34020000001110000001@3402000000 SIP/2.0
From: <sip:34020000002000000001@3402000000>;tag=bccedfd000006
To: <sip:34020000001110000001@3402000000>
Content-Length: 176
CSeq: 5 MESSAGE
Route: <sip:34020000001110000001>
Call-ID: 12345678900006
Via: SIP/2.0/UDP 192.168.1.101:5060;wlsscid=377aa9afcf1b36f;branch=123133532300006
Content-Type: Application/MANSCDP+xml
Max-Forwards: 70

<?xml version="1.0"?>
<Notify>
<CmdType>Broadcast</CmdType>
<SN>17298</SN>
<!--语音输入设备的设备编码-->
<SourceID>34020000002000000001</SourceID>
<!--语音输出设备的设备编码-->
<TargetID>34020000001370000001</TargetID>
</Notify>
《《《《《《 IPC
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.101:5060;wlsscid=377aa9afcf1b36f;branch=123133532300006
From: <sip:34020000002000000001@3402000000>;tag=bccedfd000006
To: <sip:34020000001110000001@3402000000>;tag=880670885
Call-ID: 12345678900006
CSeq: 5 MESSAGE
User-Agent: IP Camera
Content-Length: 0
广播通知结果
《《《《《《 IPC
MESSAGE sip:34020000002000000001@3402000000 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.64:5060;rport;branch=z9hG4bK2058843697
From: <sip:34020000001110000001@3402000000>;tag=477173126
To: <sip:34020000002000000001@3402000000>
Call-ID: 69994435
CSeq: 20 MESSAGE
Content-Type: Application/MANSCDP+xml
Max-Forwards: 70
User-Agent: IP Camera
Content-Length:   169

<?xml version="1.0" encoding="GB2312"?>
<Response>
<CmdType>Broadcast</CmdType>
<SN>17298</SN>
<!--语音输出设备的设备编码-->
<DeviceID>34020000001370000001</DeviceID>
<Result>OK</Result>
</Response>
》》》》》》 IPC
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.64:5060;rport;branch=z9hG4bK2058843697
To: <sip:34020000002000000001@3402000000>;tag=12341241234
From: <sip:34020000001110000001@3402000000>;tag=477173126
Call-ID: 69994435
CSeq: 20 MESSAGE
User-Agent: General
Content-Length: 0
等待广播请求

Call-ID: 广播请求 ~ 关闭广播sip消息中值Call-ID:不变

《《《《《《 IPC
INVITE sip:34020000002000000001@192.168.1.101:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.64:5060;rport;branch=z9hG4bK1490643408
From: <sip:34020000001110000001@192.168.1.64:5060>;tag=1499847265		//
To: <sip:34020000002000000001@192.168.1.101:5060>
Call-ID: 1420309512
CSeq: 20 INVITE
Contact: <sip:34020000001110000001@192.168.1.64:5060>
Content-Type: application/sdp
Max-Forwards: 70
User-Agent: IP Camera
<!-- 媒体流发送者ID:发送方媒体流序列号,媒体流接收者ID:接收方媒体流序列号 -->
Subject: 34020000002000000001:1,34020000001110000001:2		
Content-Length:   214

v=0
o=34020000001110000001 2418 2418 IN IP4 192.168.1.64
s=Play
c=IN IP4 192.168.1.64
t=0 0
<!-- 音频 端口  RTP-over-UDP 负载类型( 8-PCMA, 96-PS) -->
m=audio 15062 RTP/AVP 8 96		
a=recvonly
<!-- RTP + 音频流: 负载类型 <encodingname>/<clockrate> -->
a=rtpmap:8 PCMA/8000			
a=rtpmap:96 PS/90000
<!-- SSRC(同步信源标识符): SSRC值由媒体流发送设备所在的SIP监控域产生,作为媒体流的标识使用 -->
y=0200000017	
<!--// v/编码格式/分辨率/帧率/码率类型/码率大小  a/编码格式/码率大小/采样率   
    //										  G.711 / 64kbps / 8kHz -->				
f=v/a/1/8/1					

注意: 响应invite消息时, To : tag= 不能为空,可以=Call-ID的值
准备一个可用的udp端口:如8000

》》》》》》 IPC
SIP/2.0 200 OK
From: <sip:34020000001110000001@192.168.1.64:5060>;tag=1499847265
To: <sip:34020000002000000001@192.168.1.101:5060>;tag=1420309512
Call-ID: 1420309512
CSeq: 20 INVITE
User-Agent: General SIP UAS V1.0
Via: SIP/2.0/UDP 192.168.1.64:5060;rport;branch=z9hG4bK1490643408
Contact: <sip:34020000002000000001@192.168.1.101:5060>
Content-Type: application/SDP
Content-Length: 182

v=0
o=34020000002000000001 0 0 IN IP4 192.168.1.101
s=Play
c=IN IP4 192.168.1.101
t=0 0
m=audio 8000 RTP/AVP 8		//  端口:8000
a=rtpmap:8 PCMA/8000		//rtpmap:8 PCMA及g711a  采样率:8000HZ
a=sendonly
y=0200000017
等待ACK
《《《《《《  IPC
ACK sip:34020000002000000001@192.168.1.101:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.64:5060;rport;branch=z9hG4bK106578989
From: <sip:34020000001110000001@192.168.1.64:5060>;tag=1499847265
To: <sip:34020000002000000001@192.168.1.101:5060>;tag=1420309512
Call-ID: 1420309512
CSeq: 20 ACK
Contact: <sip:34020000001110000001@192.168.1.64:5060>
Max-Forwards: 70
User-Agent: IP Camera
Content-Length: 0
开始广播发送音频数据

收到ACK 不需要发送响应消息;创建udp ( 本地端口:8000,目标ip:192.168.1.64,目标端口; 15062)
开始RTP打包g711a音频数据发送到摄像头。打包方式见RTP打包音频g711

关闭广播
》》》》》》IPC

BYE sip:34020000001370000001@3402000000 SIP/2.0
From: <sip:34020000002000000001@3402000000>;tag=1420309512
To: <sip:34020000001370000001@3402000000>;tag=1499847265
CSeq: 2 BYE
Call-ID: 1420309512
Via: SIP/2.0/UDP 192.168.1.64:5060;branch=z9hG4bKee5c5d98-00007
Max-Forwards: 70
Content-Length: 0
《《《《《《 IPC
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.64:5060;branch=z9hG4bKee5c5d98-00007;received=192.168.1.101
From: <sip:34020000002000000001@3402000000>;tag=1420309512
To: <sip:34020000001370000001@3402000000>;tag=1499847265
Call-ID: 1420309512
CSeq: 2 BYE
User-Agent: IP Camera
Content-Length: 0
关闭音频发送端口
Logo

致力于链接即构和开发者,提供实时互动和元宇宙领域的前沿洞察、技术分享和丰富的开发者活动,共建实时互动世界。

更多推荐