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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章