RTP载荷G711A/G711U/PCM/G726音频

音视频应用开发系列文章目录

编码RTP over G711A/G711U/PCM音频的大致过程

1.添加RTP12字节的头

2.添加payload(G711A/G711U/PCM/G726的真实数据)

RTP打包图

伪代码

void rtp_send_g711(char *data, int len){
	
	char buf[MTU];
	// fix buf[0~11] for rtp head
	memcpy(&buf[0], &rtp_head, 12); 
	// fix nalu data
	memcpy(&buf[12], data, len);
	rtp_send(buf, len + 12);
}

RTSP->SDP

G711A:
v=0
o=username 1919893795 1 IN IP4 
s=audio
i=
c=IN IP4 0.0.0.0
t=0 0
m=audio 0 RTP/AVP 8
a=rtpmap:8 PCMA/8000/1
a=control:track1
a=sendonly

G711U:
v=0
o=username 13293471 1 IN IP4 
s=audio
i=
c=IN IP4 0.0.0.0
t=0 0
m=audio 0 RTP/AVP 0
a=rtpmap:0 PCMU/8000/1
a=control:track1
a=sendonly

G726:

v=0
o=username 990373985 1 IN IP4 
s=audio
c=IN IP4 0.0.0.0
t=0 0
a=range:npt=0-
a=sendonly
a=control:*
m=audio 0 RTP/AVP 21
a=rtpmap:21 G726-32/8000/1  // G726-xx可取 16 24 32 40具体情况更改SDP
a=control:track1

发布了131 篇原创文章 · 获赞 195 · 访问量 38万+

猜你喜欢

转载自blog.csdn.net/KayChanGEEK/article/details/102489526
今日推荐