WebRTC SDP协议

SDP

SDP Session Description Protocol 会话描述协议
SDP协议用来在SIP终端之间交换媒体信息,WebRTC标准中同样选用了
SDP协议来交换媒体信息.

WebRTC Peer之间交换SDP包括的信息有transport protocols,ports,codecs等等
相关的IETF文档:
https://tools.ietf.org/pdf/draft-nandakumar-rtcweb-sdp-08.pdf

语法

SDP由多部分信息组成 每部分信息占一行.
=

v= 表示版本
o= 表明会话源 ssrc
s= 表明会话名
a= 表明会话属性
m= 表明媒体协议信息

WebRTC SDP解析

这篇blog详细注释了一个sdp
http://www.cnblogs.com/onlycoder/p/7297362.html

修改SDP

修改SDP的时机:
1. 生成Local SDP后, 设置setLocalDescprition之前 修改本地的SDP
2. 设置Remote SDP后, 设置setRemoteDescprition之前 修改Remote端的SDP

SDP协商规则

此处应当分析webrtc的代码来查看双方是怎么根据local和remote的sdp确定
媒体能力的.

带宽控制

sdp中存在a=rtcp-fb:100 ccm fir描述行
会罗列多行 a=rtcp-fb

根据当前协议选用的编码协议 在对应的rtcp描述行后加上
a=fmtp:100 x-google-max-bitrate=2800;x-google-min-bitrate=1200;x-google-start-bitrate=200000

x-google-max-bitrate 最大码率
x-google-min-bitrate 最低码率
x-google-start-bitrate 会话的起始码率

Codec编码器

sdp中一般存在m=video行 描述video相关的信息
m=video 9 RTP/SAVPF 100 116 117 121 96
100 代表 视频编码优先选用VP8
121 代表 H264
顺序先后表示优先级 所以如果要优先选用H264编码 修改SDP中视频编码器的顺序.

你可能感兴趣的:(WebRTC)