我是靠谱客的博主 笑点低手套,最近开发中收集的这篇文章主要介绍SDP详细介绍与GB28181的SDP规定1 SDP2 GB28181 SDP的规定,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

参考:
sdp文件详细总结

原文链接:https://blog.csdn.net/zhangjikuan/article/details/27367437

SDP协议与GB28181的SDP规定

  • 1 SDP
    • 1.1 会话层
      • 1.1.1 重点关注c字段,Connection Data
      • 1.1.2 重点关注s字段,Session Name
    • 1.2 时间层 RepeatTimesand Time Zones
    • 1.3 媒体层
      • 1.3.1 重点关注m字段,Media Announcements
      • 1.3.2 重点关注a字段,zero or more media attributelines
  • 2 GB28181 SDP的规定
    • 2.1 具体GB28181的SDP
      • 2.1.1 invite
      • 2.1.2 200ok

1 SDP

会话描述协议,Session Description Protocal
SDP包括以下一些方面:

(1)会话的名称和目的

(2)会话存活时间

(3)包含在会话中的媒体信息,包括:

媒体类型(video,audio, etc)

传输协议(RTP/UDP/IP,H.320, etc)

媒体格式(H.261video, MPEG video, etc)

多播或远端(单播)地址和端口

(4)为接收媒体而需的信息(addresses, ports, formats and so on)

(5)使用的带宽信息

(6)可信赖的接洽信息(Contact information)

说白了就是通信双方用SDP来描述通信过程中的采用什么协议
(用户TCP还是UDP),双方ip与port,发的数据是什么类型(视频还是音频)等等信息。字段很多,但是实际当中只需要重点关注几个即可。
SDP主要分为三大类:会话层、时间层、媒体层。

1.1 会话层

1.1.1 重点关注c字段,Connection Data

重点关注c字段,Connection Data
c=* (connection information - notrequired if included in all media)表示媒体连接信息。
格式:
c=(networktype) (address type)(connection address)
network type:网络类型,一般为”IN”,表示”internet”
address type:地址类型,一般为IP4。
connection address:应用程序必须处理域名和ip地址两种情形。单播时,为域名或ip地址,推荐使用域名;多播,为ip地址,且ip后面必须有TTL(取值范围是0-255),地址和TTL决定了多播包被传播的范围。例:
c=IN IP4 224.2.1.1/127

  • c字段的ip参数:如果是发送方,表明是从这个ip往出发;如果是接收方,表明在这个ip接受数据。

1.1.2 重点关注s字段,Session Name

只有一个s字段。表明会话的名称。
在gb28181中有play实时开流、playback回放、download下载、talk语音对讲。

1.2 时间层 RepeatTimesand Time Zones

只有一个字段t,是必须要的。
t=(start time)(stop time)
描述了会话的开始时间和结束时间。
GB28181中,实时都设置为0,录像回放时,为录像开始时间,结束时间。

1.3 媒体层

1.3.1 重点关注m字段,Media Announcements

一个会话描述包括几个媒体描述。一个媒体描述以”m=”开始到下一个”m=”结束。
m=(media)( port)( transport)( fmt list)
media:表示媒体类型。有"audio", “video”,“application”(例白板信息), “data”(不向用户显示的数据) 和"control"(描述额外的控制通道)。

port:媒体流发往传输层的端口。取决于c=行规定的网络类型和接下来的传送层协议:对UDP为1024-65535;对于RTP,偶数端口被用来传输数据,奇数端口用来传输RTCP包。

transport:传输协议,与c=行的地址类型有关。两种: RTP/AVP,表示RealtimeTransport Protocol using the Audio/Video profile carried over UDP;UDP。

fmt list:媒体格式。对于音频和视频就是在RTP Audio/Video Profile定义的负载类型(payload type)。但第一个为缺省值,分为静态绑定和动态绑定:静态绑定即媒体编码方式与RTP负载类型有确定的一一对应关系,动态绑定即媒体编码方式(如时钟频率,音频信道数等)没有完全确定,需要进一步的属性说明(用rtpmap)。

1.3.2 重点关注a字段,zero or more media attributelines

a字段多用来补充扩展信息用,其中的rtpmap是来对m字段中的fmt list进一步说明的。
GB28181中对a字段进行了扩展,在下面有介绍。

2 GB28181 SDP的规定

  • 在媒体描述层的字段里面加了一个y字段、f字段

y字段是存放 SSRC,十进制字符串,共10位,第一位0为实时,1为历史。2-6位为SIP监控域ID的4-8位,7-10位作为域内媒体流标识,是一个与当前域内产生的媒体流SSRC值后4位不重复的十进制数。

f字段是媒体描述 f=v/编码格式/分辨率/帧率/码率类型/码率大小 a/编码格式/码率大小/采样率

a字段除了和一般SDP都有的rtpmap之外还加了其他参数。

a=rtpmap:<负载类型> 编码名/速率
a=rtpmap:96 PS/90000
a=rtpmap:98 H264/90000
a=rtpmap:97 MPEG4/90000

如果请求某媒体流的方向为sendonly,那么响应中对应媒体的方向必须为recvonly;
如果请求某媒体流的方向为recvonly,那么响应中对应媒体的方向必须为sendonly;
如果请求某媒体流的方向为sendrecv,那么响应中对应媒体的方向可以sendrecv/sendonly/recvonly/inactive中的一种;
如果请求某媒体流的方向为inactive,那么响应中对应媒体的方向必须为inactive
a=recvonly

在这里插入图片描述

2.1 具体GB28181的SDP

2.1.1 invite

在这里插入图片描述
在这里插入图片描述

2.1.2 200ok

在这里插入图片描述
在这里插入图片描述

最后

以上就是笑点低手套为你收集整理的SDP详细介绍与GB28181的SDP规定1 SDP2 GB28181 SDP的规定的全部内容,希望文章能够帮你解决SDP详细介绍与GB28181的SDP规定1 SDP2 GB28181 SDP的规定所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部