sdp协议 学习

参考:https://www.cnblogs.com/idignew/p/7249056.html  SDP协议介绍

原文:https://blog.csdn.net/machh/article/details/51873690

SDP 完全是一种会话描述格式 ,不属于传输协议 , 它可使用多种传输协议,包括会话通知协议(SAP)、会话初始协议(SIP)、实时流协议(RTSP)、MIME 扩展协议的电子邮件以及超文本传输协议(HTTP)。

SDP协议是基于文本的协议,采用UTF-8编码的ISO 10646字符集。 不支持会话内容或媒体编码的协商,所以在流媒体中只用来描述媒体信息。媒体协商这一块要用RTSP来实现。流媒体协议sdp信息,附带在describe报文中有rtsp服务端发出,主要目的是告之会话的存在和给出参与该会话所必须的信息。

sdp描叙符包括:

会话名和目的
会话激活的时间区段
构成会话的媒体
接收这些媒体所需要的信息(地址,端口,格式)
会话所用的带宽信息
会话负责人的联系信息

媒体信息包括:

媒体类型(视频,音频等)
传送协议(RTP/UDP/IP H.320等)
媒体格式(H,264视频,MPEG视频等)
媒体地址和端口

SDP描述由许多文本行组成,文本行的格式为<类型>=<值>,<类型>是一个字母,<值>是结构化的文本串,其格式依<类型>而定。

<type>=<value>[CRLF]

会话描叙格式介绍

  协议版本:v=0 给出sdp的版本号,目前为0版本,无子版本号

会话源:o=(用户名)(会话标识)(会话版本)(网络类型)(地址类型)(地址)。说明:如不存在用户名,用“-” 表示, 会话标识为一随机数字串    网络类型为文本串, “IN”表示internet      地址类型为文本串,目前定义为“IP4”和“IP6”两种地址

会话名:s=(会话名)  每个会话描述必须只有一个会话名

会话信息:i=(会话信息)此字段并非必须,建议包括进来用于描叙相应会话文字性说明,每个会话描叙最多只能有一个

URL:u=(URL) 此字段并非必须,提供url的描叙信息

连接数据:c=(网络类型)(地址类型)(连接地址)

时间描述

t = (会话活动时间)    ;    r = * (0或多次重复次数)

媒体描述

m = (媒体名称和传输地址)
i = * (媒体标题)
c = * (连接信息 — 如果包含在会话层则该字段可选)
b = * (带宽信息)
k = * (加密密钥)
a = * (0 个或多个会话属性行)

m描叙行:

 格式:   m=(媒体)(端口)(传送层)(格式列表)  如: m=video 0 RTP/AVP 96
 媒体类型:音频(audio),视频(video),应用,数据和控制
 端口:媒体传送层端口
 传送层:ip4上大多基于rtp/udp上传送(RTP/AVP)IETF RTP协议,在udp上传输
 格式列表: 对应对应的负载类型(PT)

a描叙行:

 格式:a=rtpmap:(净荷类型)(编码名)/(时钟速率)【/(编码参数)】
 a=control:(音/视频连接信息)
  a=control:rtsp://192.168.1.197/h264stream0/trackID=0
  a=rtpmap:96 H264/90000

VLC播放 RTP(H264的PS流,端口6000,目标IP 10.3.240.155)的 音视频sdp描述文件:

v=0
o=- 0 0 IN IP4 10.3.240.155
s=rtp PS stream
i=N/A
c=IN IP4 10.3.240.155
t=0 0
a=tool:ACME RTSP server
a=recvonly
a=type:broadcast
a=charset:UTF-8
a=framerate:16
m=video 6000 RTP/AVP 96
b=RR:0
a=rtpmap:96 MP2P/90000 

猜你喜欢

转载自blog.csdn.net/DANFBAORE/article/details/84579182
今日推荐