SDP协议是什么,详解SDP协议

一、SDP协议简介

SDP(Session Description Protocol)是一种会话描述协议,用于描述多媒体会话的参数。它是一种文本协议,通常用于VoIP(Voice over Internet Protocol)和视频会议等应用中。SDP协议定义了一种标准的格式,用于描述会话的各种参数,包括媒体类型、媒体格式、媒体地址等。

SDP协议最初由IETF(Internet Engineering Task Force)在RFC 2327中定义,后来又在RFC 4566中进行了更新和扩展。SDP协议的主要作用是在会话开始前,将会话的参数信息传递给参与者,以便他们能够正确地配置和连接到会话。

二、SDP协议格式

SDP协议的格式由一系列的行组成,每行以一个字母开头,表示该行的类型。SDP协议定义了一些标准的行类型,包括v、o、s、c、t、m等。下面是一个简单的SDP协议格式示例:

必需字段


v=0
o=- 123456 7890 IN IP4 192.168.1.1
s=My Session
c=IN IP4 192.168.1.1
t=0 0
m=audio 5004 RTP/AVP 0 8 18
v表示协议版本,参数用于指定SDP协议的版本号,当前版本为0。
o表示会话的起始者和会话ID,参数用于指定会话的起始者和会话ID。它包括用户名、会话ID、版本号、网络类型和地址类型等信息。
s表示会话名称,参数用于指定会话的名称,通常是一个简短的字符串。
c表示连接信息,参数用于指定媒体流的连接信息,包括网络类型、地址类型和地址等信息。
t表示会话的时间信息,指定会话的时间信息,包括会话的起始时间和结束时间。
m表示媒体信息。参数用于指定媒体流的类型、格式和地址等信息。


i=(会话信息)对字段的⽂本描述,提供了⽐会话名称更多的信息。该字段既可以⽤于会话级也可以⽤于媒体级。
a=(属性)⽤于描述会话或者某个媒体的额外属性。
b=(带宽信息)指明带宽需求,单位kbit/s, 可⽤于两个级别
b=: bwtype可以是CT或AS,CT方式是设置整个会议的带宽,AS是设置单个会话的带宽。缺省带宽是千比特每秒。

三、SDP示例

1.媒体级会话VLC播放264视频的sdp文件
v=0
o=- 0 0 IN IP4 127.0.0.1
s=VLC media player
c=IN IP4 127.0.0.1
t=0 0
a=tool:vlc 2.2.4
m=video 5004 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=64001F;sprop-parameter-sets=Z0IAH5WoFAFuQA==,aM48gA==
a=control:streamid=0

2.媒体级会话VLC播放g711音频的sdp文件
v=0
o=- 0 0 IN IP4 127.0.0.1
s=VLC media player
c=IN IP4 127.0.0.1
t=0 0
a=tool:vlc 2.2.4
m=audio 5004 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=control:streamid=0

3.点播mp4文件,MS_H返回给终端的sdp信息
v=0
o=- 0 0 IN IP4 127.0.0.1
s=Session streamed by “MS_H”
i=sample.mp4
c=IN IP4 0.0.0.0
t=0 0
a=tool:libavformat 57.56.101
m=video 0 RTP/AVP 96
b=AS:1000
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=64001F;sprop-parameter-sets=Z0IAH5WoFAFuQA==,aM48gA==
a=control:trackID=1
m=audio 0 RTP/AVP 97
b=AS:128
a=rtpmap:97 MPEG4-GENERIC/44100/2
a=fmtp:97 profile-level-id=15;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1210
a=control:trackID=2

4.直播
v=0
o=- 0 0 IN IP4 127.0.0.1
s=Live Stream
c=IN IP4 0.0.0.0
t=0 0
a=tool:libavformat 57.56.101
m=video 0 RTP/AVP 96
b=AS:1000
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=64001F;sprop-parameter-sets=Z0IAH5WoFAFuQA==,aM48gA==
a=control:trackID=1
m=audio 0 RTP/AVP 97
b=AS:128
a=rtpmap:97 MPEG4-GENERIC/44100/2
a=fmtp:97 profile-level-id=15;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1210
a=control:trackID=2

版权声明:本文为CSDN博主「久孤776」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_74021557/article/details/131289076

你可能感兴趣的:(网络,audio,开发语言)