IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> SDP详细介绍与GB28181的SDP规定 -> 正文阅读

[网络协议]SDP详细介绍与GB28181的SDP规定

参考:
sdp文件详细总结

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

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

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

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-19 17:56:53  更:2021-11-19 17:58:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/3 21:16:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码