前面都是前期的工作啦,近期都在写RTSP的协议解析,半年前就开始看RTSP协议的资料了,只是边上课边看,看了也忘了……
当真正要开始用的时候才发现,之前根本什么都没看懂,现在什么都得重新看,重新理解。之前看的时候看得太粗糙了,完全没理解,果然,还是要用到才会理解,才能看懂。
“RTSP(Real Time Streaming Protocol,实时流媒体协议),是由Real Network和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP提供一种可扩展的框架,使能够提供能控制的,按需传输实时数据,比如音频和视频文件。源数据可以包括现场数据的反馈和存贮的文件。RTSP对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,RTSP的作用相当于流媒体服务器的远程控制。传输数据可以通过传输层的TCP,UDP协议,RTSP也提供了基于RTP传输机制的一些有效的方法。”
-------------------------------------------------------
至于RTSP、RTP与RTCP的关系,总是很容易让我火大,因为老搞不清楚,即使是现在,我的理解也就是RTSP是接受RTSP数据包,回复,控制数据使用RTP发送;而RTP只是发送数据而不管其他,数据发出去就是了,并不对数据及传输质量负责;于是,这部分工作就由RTCP来完成了,RTCP监听网络,接受反馈,并根据反馈做相应的处理,比如丢包率过高,就调整发送速度等。
找到的资料是这样说的:
“
RTSP的请求主要有DESCRIBE,SETUP,PLAY,PAUSE,TEARDOWN,OPTIONS等,顾名思义可以知道起对话和控制作用
RTP/RTCP 是实际传输数据的协议
RTP传输音频/视频数据,如果是PLAY,Server发送到Client端,如果是RECORD,可以由Client发 送到Server
RTCP包括Sender Report和Receiver Report,用来进行音频/视频的同步以及其他用途,是一种控制协议
RTSP的对话过程中SETUP可以确定RTP/RTCP使用的端口,PLAY/PAUSE/TEARDOWN可以开始或者停止RTP的发送,等等
”
“用一句简单的话总结:RTSP发起/终结流媒体、RTP传输流媒体数据 、RTCP对RTP进行控制,同步。”
协议详细我不想拷贝过来,网上都有挺多资料的:http://blog.c114.net/html/40/26740-55502.html