RTSP请求详解及RTP 基于UDP和TCP协议传输数据的对比

时间:2021-05-15 16:11:45

最近一段时间一直在研究rtsp和rtp,现在写博客总结一下,也是对知识的一种巩固吧。

rtsp的协议的请求流程及格式请参考一下链接:http://blog.csdn.net/u010425035/article/details/10410851

下面是我用VLC播放器获取海康NVR视频的截图(此次获取是基于TCP的):

RTSP请求详解及RTP 基于UDP和TCP协议传输数据的对比

下面来看一下针对每一条消息的详细截图:

客户端发送的OPTION消息:

RTSP请求详解及RTP 基于UDP和TCP协议传输数据的对比

服务器对OPTION回复的200OK消息:

RTSP请求详解及RTP 基于UDP和TCP协议传输数据的对比

客户端发送的DESCRIBE不带鉴权的消息:

RTSP请求详解及RTP 基于UDP和TCP协议传输数据的对比

服务器回复的401消息:

RTSP请求详解及RTP 基于UDP和TCP协议传输数据的对比

客户端请求带鉴权的DESCRIBE消息:

RTSP请求详解及RTP 基于UDP和TCP协议传输数据的对比

服务器回复200OK消息带SDP消息体:

RTSP请求详解及RTP 基于UDP和TCP协议传输数据的对比

客户端请求的SETUP消息:

RTSP请求详解及RTP 基于UDP和TCP协议传输数据的对比

服务器对SETUP回复的200OK消息:

RTSP请求详解及RTP 基于UDP和TCP协议传输数据的对比

客户端发起PLAY消息:

RTSP请求详解及RTP 基于UDP和TCP协议传输数据的对比

服务器针对PLAY回复的200OK消息:

RTSP请求详解及RTP 基于UDP和TCP协议传输数据的对比

服务器发送完PLAY的200OK消息以后就开始发送数据,RTP基于TCP的数据传输截图如下:

RTSP请求详解及RTP 基于UDP和TCP协议传输数据的对比

RTSP请求详解及RTP 基于UDP和TCP协议传输数据的对比

客户端发送的TEARDOWN消息:

RTSP请求详解及RTP 基于UDP和TCP协议传输数据的对比

VLC停止播放时没有收到服务器针对TEARDOWN消息发送的200OK消息,不知道是什么原因,初步怀疑是海康NVR没有发送这个消息。


以上是基于TCP的截图,下面是针对UDP的截图,只截取和TCP不同的部分,相同的部分不再截图,请参考TCP截图:

第一个不同点是SETUP消息及回复部分:

RTSP请求详解及RTP 基于UDP和TCP协议传输数据的对比

RTSP请求详解及RTP 基于UDP和TCP协议传输数据的对比

数据传输部分:

RTSP请求详解及RTP 基于UDP和TCP协议传输数据的对比


总结:以上是RTP基于TCP和UDP传输数据不同的地方,关于RTCP的部分还没有研究,带以后有时间再补上相应的部分截图,有什么不对的地址还希望大家指正。

针对RTP


下面是我写的一个RTSP请求客户端:http://download.csdn.net/detail/xiaoyafang123/9602383