一、SDP規范了回話描述的格式,一般結合會話協議共同工作。
常見的會話傳送協議包括:SAP(Session Announcement Protocol 會話公告協議),SIP,RTSP,HTTP,和使用MIME的E-Mail。
(PS:對SAP只能包含一個會話描述,其它會話協議的SDP可包含多個會話描述)
二、SDP包括以下一些信息:
1)會話的名稱和目的
2)會話存活時間
3)包含在會話中的媒體信息,包括:
1 媒體類型(video, audio, etc) 2 傳輸協議(RTP/UDP/IP, H.320, etc) 3 媒體格式(H.264 video, MPEG video, etc)
4 多播或遠端(單播)地址和端口
4)? 為接收媒體而需的信息(地址,端口,編碼格式等)
5) ?本端的帶寬信息
6)? 可信賴的接洽信息(Contact information)
三、實例解析
1. v=0
1 定義:協議的版本信息 2 格式:v=<版本> 目前只有版本0 3 選擇:必選
2.?o=- 1466130518 1466130518 IN IP4 192.168.8.76
1 定義:owner/creator和session信息 2 格式:o=<用戶名> <會話id> <版本> <網絡類型> <地址類型> <地址>
3 選擇:必選
3. s=MRD=MRE MRC-V=1.0.0
1 定義:會話名稱 2 格式:s=<名稱> 3 選擇:必選
4. c=IN IP4 192.168.8.76
1 定義:連接信息 2 格式:c=<網絡類型> <地址類型> <地址> 3 選擇:可選
5. b=AS:1920
1 定義:本端帶寬信息 2 格式:b=<類型>:<帶寬> 3 選擇:可選
6. t=0 0
1 定義:起始時間 2 格式:t=<開始時間> <結束時間> 3 選擇:必選
7. a=sendrecv
1 定義:媒體屬性 2 格式:a=<屬性> 3 選擇:可選
8. m=audio 3230 RTP/AVP 118 115 114 113 102 101 103 99 98 97 9 18 15 0 8 104 119
1 定義:媒體信息 2 格式:m=<媒體類型> <媒體端口> <傳輸協議> <編碼信息> 3 選擇:必選
9. a=rtpmap:118 SIRENLPR/48000/1
1 定義:媒體屬性 2 格式:a=<屬性>:<值> 3 選擇:可選
10. a=fmtp:115 bitrate=48000
1 同9
11. m=video 3232 RTP/AVP 109 110 96 34 31 106 105 116
1 同8
12. 視頻屬性信息多一些
a=label:1
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=rtcp-fb:* ccm tmmbr
a=vnd.polycom.forceVideoMode:9
a=rtpmap:109 H264/90000
a=fmtp:109 profile-level-id=42801f; max-br=20010; sar=13
a=rtpmap:110 H264/90000
a=fmtp:110 profile-level-id=42801f; packetization-mode=1; max-br=20010; sar=13
a=rtpmap:96 H263-1998/90000
a=fmtp:96 CIF4=1;CIF=1;QCIF=1;SQCIF=1;CUSTOM=352,240,1;CUSTOM=704,480,1;CUSTOM=1024,768,1;CUSTOM=800,600,1;CUSTOM=640,480,1;T
a=rtpmap:34 H263/90000
a=fmtp:34 CIF4=1;CIF=1;QCIF=1;SQCIF=1
a=rtpmap:31 H261/90000
a=fmtp:31 CIF=1;QCIF=1
a=rtpmap:106 H264-SVC/90000
a=fmtp:106 profile-level-id=56001f; packetization-mode=1; max-br=20010; sar=13
a=rtpmap:105 H264-SVC/90000
a=fmtp:105 profile-level-id=53e01f; packetization-mode=1; max-br=20010; sar=13
a=rtpmap:116 vnd.polycom.lpr/9000
a=fmtp:116 V=1;minPP=0;PP=150;RS=52;RP=10;PS=1400
13. m=application 3238 UDP/BFCP *
1 同8
a=setup:actpass
a=connection:new
a=floorctrl:c-s
14. m=application 3236 RTP/AVP 100
1 同8
a=rtpmap:100 H224/4800