WebRTC sdp详解

发布网友 发布时间:6小时前

我来回答

1个回答

热心网友 时间:39分钟前

SDP(Session Description Protocol)是一种通用的会话描述协议,其主要用途包括会话声明、会话邀请、会话初始化等。在WebRTC中,SDP在连接建立阶段起到关键作用,连接双方通过信令服务交换会话信息,如音视频编解码器、主机候选地址和网络传输协议等。

每个SDP至少需要包含一个会话级别的c=字段,或者在每个媒体描述后面各包含一个c=字段。c=字段格式通常包含网络类型(如IN,表示Internet)、地址类型(如IP4、IP6)以及连接地址(如果是广播,则为广播地址组;如果是单播,则为单播地址)。举例01和举例02展示了具体应用。

SDP可能包含多个媒体描述,每个描述用m=格式表示。m=格式包含媒体类型(例如video、audio、text、application、message)、传输媒体流的端口、传输协议(如UDP、RTP/AVP、RTP/SAVP)以及媒体格式的描述(fmt)。在RTP/SAVP中,payload type又分为静态类型和动态类型(在a=fmtp:中定义)。举例展示了视频和音频的具体SDP格式。

附加属性(a=)用于扩展SDP,分为会话级别和媒体级别。媒体级别的a=字段在媒体描述(m=)后添加,对媒体描述进行扩展;会话级别的a=字段在第一个媒体字段前,对整个会话进行扩展。

时间(t=)用于声明会话的开始和结束时间。格式中,数值表示时间点,0表示会话没有结束边界,但之后会话是活跃的。

WebRTC实例中,以ZLMediaKit webrtc为例,通过HTTP请求获取SDP,用于构建WebRTC连接。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com