WebRTC中的SDP

SDP(Session Description Protocol)在WebRTC中扮演重要角色,用于媒体协商。本文介绍了SDP的基本结构、标准规范,包括会话级、媒体级和公共部分。详细讲解了媒体信息、网络描述、安全描述和服务质量,以及WebRTC中特有的Plan B和Unified Plan。通过示例展示了SDP的实际应用,帮助理解SDP如何在WebRTC中工作。
摘要由CSDN通过智能技术生成

1、SDP简介


在WebRTC的通信过程中,SDP是其中重要的协议。SDP(Session Description Protocol)全称是会话描述协议。主要用于两个会话实体之间的媒体协商。WebRTC引入SDP来描述媒体信息,用于媒体协商时决定双方是否可以进行通信,以及用何种方式进行通信。SDP作为WebRTC的信令系统的一部分,驱动着WebRTC的运转。从这个角度来说,SDP是WebRTC的灵魂。

2、标准SDP规范


标准SDP结构由一个会话级描述和多个媒体级描述组成,通常SDP中都会包含一个音频媒体描述和一个视频媒体描述。

每条描述信息都是 <type> = <value> 的形式("=" 两侧不允许有空格存在。)。其中,<type>是描述的目标,它由单个字符构成;<value>是对<type>的解释或约束。会话和媒体都有各自的<type>,另外还有一些公共的<type>。

常见的<type>如下:

2.1 会话级

v=(protocol version,协议版本)

o=(owener/creator and session identifier,会话的创建者)

s=(session name,会话名称)

t=(time the session is active,会话存活时间)

复制代码

2.2媒体级

m=(media,媒体)

复制代码

2.3公共

c=(connection information,网络信息)

a=(attribute,属性)

复制代码

这是一个典型简化后的的SDP示例:

v=0

o=- 5910110687297165449 2 IN IP4 127.0.0.1

s=-

t=0 0

...

//第一个媒体流,音频流

m=audio 54797 UDP/TLS/RTP/SAVPF 8

...

//第2个媒体流,视频流

m=video 9 UDP/TLS/RTP/SAVPF 125

...

复制代码

WebRTC对标准SDP规范做了一些调整,按功能分成会话描述和媒体描述。其中,会话描述属于标准SDP中的内容,通常我们不需要了解它。媒体描述中有WebRTC增加的内容,需要了解一下的。媒体描述的内容可以分成四个大类:媒体信息、网络描述、安全描述、和服务质量描述。如图所示:

3、媒体信息


媒体信息是标准SDP的内容,属于SDP中的核心内容。其格式如下所示:

m=<media><port>/<numbers><transport><fmt>

复制代码

  • <media>:媒体类型,audio、video等。

  • <port>/<numbers>:端口,通常不会被使用。

  • <transport>:传输协议,UDP、TCP等。

  • <fmt>:媒体数据类型,通常为Paylo

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值