sdp信息整理

1债热、webrtc的sdp包含內(nèi)容

1.1Session Metadata?

? ? ? ????????v=

? ? ??????????o=

? ? ????????? t=

? ? ??????????c=

1.2 Network Description?

? ? ? ? ? ? ?a=candidate

? ? ? ? ? ? ?m=

1.3? Stream Description

? ? ? ? ? ? ?a=rtpmap

? ? ? ? ? ? ?a=fmtp

? ? ? ? ? ? ?a=sendrecv

?1.3?Security Descriptions

? ? ? ? ? ? ?a=ice-ufrag:4CPY

? ? ? ? ? ? ?a=ice-pwd

? ? ? ? ? ? ?a=ice-options:trickle

? ? ? ? ? ? ?a=fingerprint:sha

1.4?Qos,Grouping? ?Descriptions

? ? ? ? ? ? ?a=group

2场斑、例子說(shuō)明

兩個(gè)sdp報(bào)文整理 offer and answer


2.1 offer:

v=0? ? ? ? ? ? ? ? ? ? ? ? //?sdp版本號(hào)

// o=<username> <sess-id> <sess-version> <nettype> <addrtype> <unicast-address>

// username如何沒(méi)有使用-代替,1802375005596640932是整個(gè)會(huì)話的編號(hào),2代表會(huì)話版本凳谦,如果在會(huì)話過(guò)程中有改變編碼之類的操作昔期,重新生成sdp時(shí),sess-id不變,sess-version加1

o=- 1802375005596640932 2 IN IP4 127.0.0.1

//會(huì)話名

s=-

// 會(huì)話的起始時(shí)間和結(jié)束時(shí)間囚霸,0代表沒(méi)有限制

t=0 0

// 表示需要共用一個(gè)傳輸通道傳輸?shù)拿襟w,通過(guò)ssrc進(jìn)行區(qū)分不同的流激才。如果沒(méi)有這一行拓型,音視頻數(shù)據(jù)就會(huì)分別用單獨(dú)udp端口來(lái)發(fā)送.??BUNDLE audio video

a=group:BUNDLE 0 1

// WMS是WebRTC Media Stream簡(jiǎn)稱;? ?a=msid-semantic: WMS stream_id?這一行定義了本客戶端支持同時(shí)傳輸多個(gè)流,一個(gè)流可以包括多個(gè)track.??

// 一般定義了這個(gè)瘸恼,后面a=ssrc這一行就會(huì)有msid,mslabel等屬性.

a=msid-semantic: WMS i02mgM1t4zff3CtW2CoT2ghuthiq26vdGhCj

//for audio??// m意味著它是一個(gè)媒體行.? m=audio說(shuō)明本會(huì)話包含音頻劣挫,9代表音頻使用端口9來(lái)傳輸,但是在webrtc中現(xiàn)在一般不使用,

// 后面的111 103 104 9 102 0 8 106 105 13 110 112 113 126表示本會(huì)話音頻支持的編碼东帅,后面幾行會(huì)有詳細(xì)補(bǔ)充說(shuō)明

m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126

// 表示你要用來(lái)接收或者發(fā)送音頻使用的IP地址.// webrtc使用ice傳輸压固,不使用這個(gè)地址

c=IN IP4 0.0.0.0

// 用來(lái)傳輸rtcp的地址和端口,webrtc中不使用

a=rtcp:9 IN IP4 0.0.0.0

// 下面2行是ice協(xié)商過(guò)程中的安全驗(yàn)證信息

a=ice-ufrag:4CPY

a=ice-pwd:yArhnU2h5Gg8+aogV3ku/jCG

// 通知對(duì)端支持trickle靠闭,即sdp里面描述媒體信息和ice候選項(xiàng)的信息可以分開(kāi)傳輸

a=ice-options:trickle

// dtls協(xié)商過(guò)程中需要的認(rèn)證信息

a=fingerprint:sha-256 7D:6B:75:C2:E2:02:C4:C6:66:E4:B6:D6:39:74:35:D9:D2:18:19:6A:6B:75:FD:D1:17:F5:EE:BE:E4:56:3D:06

// 代表本客戶端在dtls協(xié)商過(guò)程中帐我,可以做客戶端也可以做服務(wù)端, 參考rfc4145 rfc4572

a=setup:actpass

// 前面BUNDLE行中用到的媒體標(biāo)識(shí)

a=mid:0

// 指出要在rtp頭部中加入音量信息,參考 rfc6464

a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level

a=extmap:2 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01

a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid

a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id

a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id

// 指出是雙向通信愧膀,另外幾種類型是recvonly,sendonly,inactive

a=sendrecv

a=msid:i02mgM1t4zff3CtW2CoT2ghuthiq26vdGhCj 8dc76f80-fb91-428e-bde7-71c201d222cf

// 指出rtp,rtcp包使用同一個(gè)端口來(lái)傳輸

a=rtcp-mux

// 下面十幾行都是對(duì)m=audio這一行的媒體編碼補(bǔ)充說(shuō)明拦键,指出了編碼采用的編號(hào),采樣率檩淋,聲道等


a=rtpmap:111 opus/48000/2

a=rtcp-fb:111 transport-cc

a=fmtp:111 minptime=10;useinbandfec=1

a=rtpmap:103 ISAC/16000

a=rtpmap:104 ISAC/32000

a=rtpmap:9 G722/8000

a=rtpmap:0 PCMU/8000

a=rtpmap:8 PCMA/8000

a=rtpmap:106 CN/32000

a=rtpmap:105 CN/16000

a=rtpmap:13 CN/8000

a=rtpmap:110 telephone-event/48000

a=rtpmap:112 telephone-event/32000

a=rtpmap:113 telephone-event/16000

a=rtpmap:126 telephone-event/8000

// cname用來(lái)標(biāo)識(shí)一個(gè)數(shù)據(jù)源芬为,ssrc當(dāng)發(fā)生沖突時(shí)可能會(huì)發(fā)生變化,但是cname不會(huì)發(fā)生變化狼钮,也會(huì)出現(xiàn)在rtcp包中SDEC中碳柱,用于音視頻同步

a=ssrc:2849494910 cname:n5jqZTsizfCZTQ1T

a=ssrc:2849494910 msid:i02mgM1t4zff3CtW2CoT2ghuthiq26vdGhCj 8dc76f80-fb91-428e-bde7-71c201d222cf

a=ssrc:2849494910 mslabel:i02mgM1t4zff3CtW2CoT2ghuthiq26vdGhCj

a=ssrc:2849494910 label:8dc76f80-fb91-428e-bde7-71c201d222cf

// ------------ video部分 -------------


m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 122 127 121 125 107 108 109 124 120 123 119 114 115 116

c=IN IP4 0.0.0.0

a=rtcp:9 IN IP4 0.0.0.0

a=ice-ufrag:4CPY

a=ice-pwd:yArhnU2h5Gg8+aogV3ku/jCG

a=ice-options:trickle

a=fingerprint:sha-256 7D:6B:75:C2:E2:02:C4:C6:66:E4:B6:D6:39:74:35:D9:D2:18:19:6A:6B:75:FD:D1:17:F5:EE:BE:E4:56:3D:06

a=setup:actpass

a=mid:1

a=extmap:14 urn:ietf:params:rtp-hdrext:toffset

a=extmap:13 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time

a=extmap:12 urn:3gpp:video-orientation

a=extmap:2 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01

a=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay

a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type

a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing

a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07

a=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space

a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid

a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id

a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id

a=sendrecv

a=msid:i02mgM1t4zff3CtW2CoT2ghuthiq26vdGhCj 49414397-6825-4a78-9c13-9d068b77e981

a=rtcp-mux

a=rtcp-rsize

a=rtpmap:96 VP8/90000

a=rtcp-fb:96 goog-remb

a=rtcp-fb:96 transport-cc

a=rtcp-fb:96 ccm fir

a=rtcp-fb:96 nack

a=rtcp-fb:96 nack pli

a=rtpmap:97 rtx/90000

a=fmtp:97 apt=96

a=rtpmap:98 VP9/90000

a=rtcp-fb:98 goog-remb

a=rtcp-fb:98 transport-cc

a=rtcp-fb:98 ccm fir

a=rtcp-fb:98 nack

a=rtcp-fb:98 nack pli

a=fmtp:98 profile-id=0

a=rtpmap:99 rtx/90000

a=fmtp:99 apt=98

a=rtpmap:100 VP9/90000

a=rtcp-fb:100 goog-remb

a=rtcp-fb:100 transport-cc

a=rtcp-fb:100 ccm fir

a=rtcp-fb:100 nack

a=rtcp-fb:100 nack pli

a=fmtp:100 profile-id=2

a=rtpmap:101 rtx/90000

a=fmtp:101 apt=100

a=rtpmap:102 H264/90000

a=rtcp-fb:102 goog-remb

a=rtcp-fb:102 transport-cc

a=rtcp-fb:102 ccm fir

a=rtcp-fb:102 nack

a=rtcp-fb:102 nack pli

a=fmtp:102 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f

a=rtpmap:122 rtx/90000

a=fmtp:122 apt=102

a=rtpmap:127 H264/90000

a=rtcp-fb:127 goog-remb

a=rtcp-fb:127 transport-cc

a=rtcp-fb:127 ccm fir

a=rtcp-fb:127 nack

a=rtcp-fb:127 nack pli

a=fmtp:127 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f

a=rtpmap:121 rtx/90000

a=fmtp:121 apt=127

a=rtpmap:125 H264/90000

a=rtcp-fb:125 goog-remb

a=rtcp-fb:125 transport-cc

a=rtcp-fb:125 ccm fir

a=rtcp-fb:125 nack

a=rtcp-fb:125 nack pli

a=fmtp:125 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f

a=rtpmap:107 rtx/90000

a=fmtp:107 apt=125

a=rtpmap:108 H264/90000

a=rtcp-fb:108 goog-remb

a=rtcp-fb:108 transport-cc

a=rtcp-fb:108 ccm fir

a=rtcp-fb:108 nack

a=rtcp-fb:108 nack pli

a=fmtp:108 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f

a=rtpmap:109 rtx/90000

a=fmtp:109 apt=108

a=rtpmap:124 H264/90000

a=rtcp-fb:124 goog-remb

a=rtcp-fb:124 transport-cc

a=rtcp-fb:124 ccm fir

a=rtcp-fb:124 nack

a=rtcp-fb:124 nack pli

a=fmtp:124 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=4d0032

a=rtpmap:120 rtx/90000

a=fmtp:120 apt=124

a=rtpmap:123 H264/90000

a=rtcp-fb:123 goog-remb

a=rtcp-fb:123 transport-cc

a=rtcp-fb:123 ccm fir

a=rtcp-fb:123 nack

a=rtcp-fb:123 nack pli

a=fmtp:123 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640032

a=rtpmap:119 rtx/90000

a=fmtp:119 apt=123

a=rtpmap:114 red/90000

a=rtpmap:115 rtx/90000

a=fmtp:115 apt=114

a=rtpmap:116 ulpfec/90000

a=ssrc-group:FID 3972678483 1470372871

a=ssrc:3972678483 cname:n5jqZTsizfCZTQ1T

a=ssrc:3972678483 msid:i02mgM1t4zff3CtW2CoT2ghuthiq26vdGhCj 49414397-6825-4a78-9c13-9d068b77e981

a=ssrc:3972678483 mslabel:i02mgM1t4zff3CtW2CoT2ghuthiq26vdGhCj

a=ssrc:3972678483 label:49414397-6825-4a78-9c13-9d068b77e981

a=ssrc:1470372871 cname:n5jqZTsizfCZTQ1T

a=ssrc:1470372871 msid:i02mgM1t4zff3CtW2CoT2ghuthiq26vdGhCj 49414397-6825-4a78-9c13-9d068b77e981

a=ssrc:1470372871 mslabel:i02mgM1t4zff3CtW2CoT2ghuthiq26vdGhCj

a=ssrc:1470372871 label:49414397-6825-4a78-9c13-9d068b77e981

2.2 answer:

v=0

o=- 1563715406683 1 IN IP4 127.0.0.1

s=semantic-sdp

c=IN IP4 0.0.0.0

t=0 0

a=ice-lite

a=msid-semantic: WMS *

a=group:BUNDLE 0 1

m=audio 9 UDP/TLS/RTP/SAVPF 111

a=rtpmap:111 opus/48000/2

a=fmtp:111 minptime=10;useinbandfec=1

a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level

a=extmap:2 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01

a=setup:passive

a=mid:0

a=sendrecv

a=ice-ufrag:ed476a5716b63ba4

a=ice-pwd:db4621d789ad1f3b6f1794067a1f43545741d89ebe92dcae

a=fingerprint:sha-256 DF:C4:EA:EE:63:9F:03:18:89:33:38:87:4F:0D:97:EC:DE:A4:A4:C8:70:C9:7E:0C:80:2F:E1:23:B0:8F:99:EB

a=candidate:1 1 UDP 33554431 192.168.1.4 18597 typ host

a=rtcp-mux

a=rtcp-rsize

m=video 9 UDP/TLS/RTP/SAVPF 98 99 100 101 102 122 125 107 124 120 123 119

a=rtpmap:98 VP9/90000

a=rtpmap:99 rtx/90000

a=rtpmap:100 VP9/90000

a=rtpmap:101 rtx/90000

a=rtpmap:102 H264/90000

a=rtpmap:122 rtx/90000

a=rtpmap:125 H264/90000

a=rtpmap:107 rtx/90000

a=rtpmap:124 H264/90000

a=rtpmap:120 rtx/90000

a=rtpmap:123 H264/90000

a=rtpmap:119 rtx/90000

a=fmtp:99 apt=98

a=fmtp:98 profile-id=0

a=fmtp:101 apt=100

a=fmtp:100 profile-id=2

a=fmtp:122 apt=102

a=fmtp:102 packetization-mode=1;level-asymmetry-allowed=1;profile-level-id=42001f

a=fmtp:107 apt=125

a=fmtp:125 packetization-mode=1;level-asymmetry-allowed=1;profile-level-id=42e01f

a=fmtp:120 apt=124

a=fmtp:124 packetization-mode=1;level-asymmetry-allowed=1;profile-level-id=4d0032

a=fmtp:119 apt=123

a=fmtp:123 packetization-mode=1;level-asymmetry-allowed=1;profile-level-id=640032

a=rtcp-fb:98 transport-cc

a=rtcp-fb:98 ccm fir

a=rtcp-fb:98 nack

a=rtcp-fb:98 nack pli

a=rtcp-fb:100 transport-cc

a=rtcp-fb:100 ccm fir

a=rtcp-fb:100 nack

a=rtcp-fb:100 nack pli

a=rtcp-fb:102 transport-cc

a=rtcp-fb:102 ccm fir

a=rtcp-fb:102 nack

a=rtcp-fb:102 nack pli

a=rtcp-fb:125 transport-cc

a=rtcp-fb:125 ccm fir

a=rtcp-fb:125 nack

a=rtcp-fb:125 nack pli

a=rtcp-fb:124 transport-cc

a=rtcp-fb:124 ccm fir

a=rtcp-fb:124 nack

a=rtcp-fb:124 nack pli

a=rtcp-fb:123 transport-cc

a=rtcp-fb:123 ccm fir

a=rtcp-fb:123 nack

a=rtcp-fb:123 nack pli

a=extmap:2 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01

a=setup:passive

a=mid:1

a=sendrecv

a=ice-ufrag:ed476a5716b63ba4

a=ice-pwd:db4621d789ad1f3b6f1794067a1f43545741d89ebe92dcae

a=fingerprint:sha-256 DF:C4:EA:EE:63:9F:03:18:89:33:38:87:4F:0D:97:EC:DE:A4:A4:C8:70:C9:7E:0C:80:2F:E1:23:B0:8F:99:EB

a=candidate:1 1 UDP 33554431 192.168.1.4 18597 typ host

a=rtcp-mux

a=rtcp-rsize

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市熬芜,隨后出現(xiàn)的幾起案子莲镣,更是在濱河造成了極大的恐慌,老刑警劉巖涎拉,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瑞侮,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡鼓拧,警方通過(guò)查閱死者的電腦和手機(jī)半火,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)季俩,“玉大人钮糖,你說(shuō)我怎么就攤上這事。” “怎么了店归?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵阎抒,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我消痛,道長(zhǎng)且叁,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任秩伞,我火速辦了婚禮逞带,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘纱新。我一直安慰自己展氓,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布怒炸。 她就那樣靜靜地躺著带饱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪阅羹。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天教寂,我揣著相機(jī)與錄音捏鱼,去河邊找鬼。 笑死酪耕,一個(gè)胖子當(dāng)著我的面吹牛导梆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播迂烁,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼看尼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了盟步?” 一聲冷哼從身側(cè)響起藏斩,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎却盘,沒(méi)想到半個(gè)月后狰域,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡黄橘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年兆览,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片塞关。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡抬探,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出帆赢,到底是詐尸還是另有隱情小压,我是刑警寧澤线梗,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站场航,受9級(jí)特大地震影響缠导,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜溉痢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一僻造、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧孩饼,春花似錦髓削、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至梯码,卻和暖如春宝泵,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背轩娶。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工儿奶, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鳄抒。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓闯捎,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親许溅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子瓤鼻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355