比較不錯的文章,轉載:https://www.cnblogs.com/wendellyi/p/3593322.html
sdp會話描述符有多行用如下格式組成的文字:
<type>=<value>
等號旁邊不允許留白。
sdp會話描述符有一個session-level的段,後面會接零個或者多個media-level段。session-level部分使用”v=“開始,直到第一個media-level段。每個media-level段由”m=“開始,直到下個media-level段開始或者描述符結束,下面是個例子:
v=0
o=- 3 2 IN IP4 192.168.33.117
s=CounterPath eyeBeam 1.5
c=IN IP4 192.168.33.117
t=0 0
m=audio 35650 RTP/AVP 0 8 18 101
a=alt:1 3 : sQfPf iU /KNiTB1A 192.168.33.117 35650
a=alt:2 2 : SnxucZRo zpZgHxu2 192.168.20.1 35650
a=alt:3 1 : 8ZUJ6mxW SHFqJnjo 192.168.88.1 35650
a=fmtp:18 annexb=no
a=fmtp:101 0-15
a=rtpmap:18 G729/8000
a=rtpmap:101 telephone-event/8000
a=sendrecv
m=video 54812 RTP/AVP 115 34
a=alt:1 3 : zO/vbGtW 56vfK5Yi 192.168.33.117 54812
a=alt:2 2 : 85YBMv X 7bQYCVFc 192.168.20.1 54812
a=alt:3 1 : GY7RIq4D WivNWaVC 192.168.88.1 54812
a=fmtp:115 QCIF=1 I=1 J=1 K=1 MaxBR=1960
a=fmtp:34 QCIF=1 CIF=1 MaxBR=1960
a=rtpmap:115 H263-1998/90000
a=rtpmap:34 H263/90000
a=sendrecv
有些引數是可選的,那麼會帶上*:
會話描述符
v= (protocol version)
o= (originator and session identifier)
s= (session name)
i=* (session information)
u=* (URI of description)
e=* (email address)
p=* (phone number)
c=* (connection information — not required if included in all media)
b=* (zero or more bandwidth information lines) One or more time descriptions (“t=” and “r=” lines; see below)
z=* (time zone adjustments)
k=* (encryption key)
a=* (zero or more session attribute lines)
一個或者多個媒體描述符 時間描述符
t= (time the session is active)
r=* (zero or more repeat times)
媒體描述符
m= (media name and transport address)
i=* (media title)
c=* (connection information — optional if included at session level)
b=* (zero or more bandwidth information lines)
k=* (encryption key)
a=* (zero or more media attribute lines)
關於a引數,也就是屬性
可以用在session-level和media-level兩個層次中。格式為
a=<attribute>
a=<attribute>:<value>
例如
a=recvonly
a=orient:landscape
在media-level中a引數有如下兩個較為重要的部分
a=rtpmap:<payload type> <encoding name>/<clock rate> [/<encoding parameters>]
一般來說動態載荷型別用得比較多,靜態一般不會使用比如u-law PCM預設就是單聲道8kHz取樣率,這個是用載荷型別為0就可以完全表達出來。而動態載荷型別則不然,有時候會根據網路狀況調整細分引數,比如調整取樣率和和編碼方式。
a=fmtp:<format> <format specific parameters>
該屬性值指定一個SDP不瞭解的特殊格式,該格式是媒體的格式的一種m引數中給出,定義指定格式的附加引數。
写评论
很抱歉,必須登入網站才能發佈留言。