FFmpeg 4.3 音视频-多路H265监控录放C++开发二十一.4,SDP协议分析

SDP在4566 中有详细描述。

SDP 全称是 Session Description Protocol,

翻译过来就是描述会话的协议。

主要用于两个会话实体之间的媒体协商。

什么叫会话呢,比如一次网络电话、一次电话会议、一次视频聊天,这些都可以称之为一次会话。

那为什么要去发这个描述文本呢,主要是为了解决参与会话的各成员之间能力不对等的问题,如果参加本次通话的成员都支持高质量的通话,但是我们没有去进行协议,为了兼容性,使用的都是普通质量的通话格式,这样就很浪费资源了。所以 SDP 的作用还是很有必要的。

SDP(Session Description Protocol) 完全是⼀种会话描述格式 ― 它不属于传输协议 ― 它只使⽤不 同的适当的传输协议,包括会话通知协议(SAP)、会话初始协议(SIP)、 实时流协议(RTSP)、 MIME 扩展协议的电⼦邮件以及超⽂本传输协议(HTTP)。SDP协议是也是基于⽂本的协议,这样就能保 证协议的可扩展性⽐较强,这样就使其具有⼴泛的应⽤范围。SDP 不⽀持会话内容或媒体编码的协商,所 以在流媒体中只⽤来描述媒体信息。媒体协商这⼀块要⽤ RTSP 来实现.

SDP 协议结构 key = value 

key 一般是一个字母,

value 的值由key的啥 对应不同的值

协议中的特殊符号 *

OPTIONAL items are marked with a "*".
在协议中 用 * 表示 是  可选的
如果没有 *,则表示是 必选的

由两大部分组成 或者三大部分组成,原始协议中将会话时间和重复信息划分到 (time description中)

协议部分说明是三大部分

Session description
v= (protocol version)
o= (originator and session identifier)
s= (session name)
i=* (session information)
u=* (URI of description)
e=* (email address)
p=* (phone number)
c=* (connection information -- not required if included in
all media)
b=* (zero or more bandwidth information lines)
One or more time descriptions ("t=" and "r=" lines; see below)
z=* (time zone adjustments)
k=* (encryption key)
a=* (zero or more session attribute lines)
Zero or more media descriptions
Time description
t= (time the session is active)
r=* (zero or more repeat times)
Media description, if present
m= (media name and transport address)
i=* (media title)
c=* (connection information -- optional if included at
session level)
b=* (zero or more bandwidth information lines)
k=* (encryption key)
a=* (zero or more media attribute lines)

会话级别信息

协议版本号(v)(必选)

version的缩写

作用:⼀个会话描述的开始,前⼀个会话结束标志。

描述: 表示sdp的版本号,不包含次版本号

        例子:v=0

会话源(o)(必选)

origin的缩写

作用:(会话源或者会话⽣成者,以及会话标识符)

        格式如下
        o=<username> <sess-id> <sess-version> <nettype> <addrtype> <unicast-address>
      &nbs
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值