WebRTC[25]-WebRTC中SDP信息实例详解
目录
前言
SDP(Session Description Protocol)是会话描述协议,WebRTC就是通过SDP进行协商,进而创建出符合通话要求的Session。SDP协商是WebRTC进行音视频通讯的基础,在整个音视频交互过程中扮演着重要角色。
正文
本文通过移动端APP和网页Web的一次SDP协商过程的实例,来分析并介绍其中所涉及的一些协商参数。可能,其中的SDP参数和属性包含的并不是非常全面,如果想详细的了解SDP信息中可能涉及到的参数,可以阅读该专栏中的另外一篇文章《WebRTC[20]-SDP参数详解》。
SDP表示Session Description Protocol,Webrtc是通过SDP进行协商,进而创建出符合通话要求的Session。SDP在webrtc应用中扮演着重要的角色,接下来我们通过一个实例来简单介绍一下SDP信息的含义。
本例是安卓手机和电脑网页建立的视频通讯会话,具体的SDP信息如下所示:
移动端(安卓)SDP
"sdp" -> "v=0
o=- 7644049451648220451 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio video
a=msid-semantic: WMS ARDAMS
m=audio 44585 UDP/TLS/RTP/SAVPF 111 103 104 9 102 0 8 106 105 13 110 112 113 126
c=IN IP4 172.31.200.23
a=rtcp:9 IN IP4 0.0.0.0
a=candidate:2586587190 1 udp 2122260223 172.31.200.23 44585 typ host generation 0 network-id 3 network-cost 10
a=candidate:559267639 1 udp 2122202367 ::1 45075 typ host generation 0 network-id 2
a=candidate:1510613869 1 udp 2122129151 127.0.0.1 34137 typ host generation 0 network-id 1
a=ice-ufrag:Rcuq
a=ice-pwd:OxDSE1pHNWhgcdHaX/3cYLE1
a=ice-options:trickle renomination
a=fingerprint:sha-256 49:B6:A0:48:F8:EB:82:1D:FB:DE:B9:22:33:0E:91:EE:60:34:73:45:2B:C3:92:3A:0B:0D:FF:B1:EF:AE:8E:29
a=setup:actpass
a=mid:audio
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=sendrecv
a=rtcp-mux
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=rt"
PC网页SDP
"sdp" -> "v=0 o=- 2112200712287890339 2 IN IP4 127.0.0.1 s=- t=0 0 a=group:BUNDLE audio video a=msid-semantic: WMS m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 102 0 8 106 105 13 110 112 113 126 c=IN IP4 0.0.
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
WebRTC 作为当下最热门的实时音视频通讯框架,涉及非常多的过程,比如采集、编码、组包、发包、传输、收包、丢包重传、解封装、解码、音视频同步、渲染等,同时还包括很多功能特性,比如ANS、AGC、AEC,REMB、GCC、CNG、FEC、PLI、SVC等,需要一点点深入理解其中的奥秘。