SDP
(1)SDP(SessionDescription Protocol)是服务器端生成的描述媒体文件的编码信息以及所在服务器的链接等信息的文件,客户端通过它来设置播放软件的参数。SDP只是一种用于会话描述的协议,它并不是一种传输协议,只是用于在不同传输协议之间传递消息的通知协议,其主要目的是解决多媒体会话通知、邀请和另外一些媒体会话的初始化工作。
(2) SDP内容包括:会话名称和目的、会话持续时间、媒体类(音频、视频等)、传输协议(RTP/UDP/IP,H.320等)、媒体编码格式(MPEG4、H.263、H.264等)、接收媒体的相关信息端口和格式等。SDP的详细介绍请参考IETF RFC2327。
RTSP
(1)RTSP是应用级协议,用于流媒体服务器和终端播放器之间的媒体流会话的建立和控制。RTSP本身不被用于传输媒体数据,而是用于控制媒体流播放的过程,如会话建立、暂停、停止、快进、快退、录制等。媒体传输协议和相应的参数在会话建立过程中双方协商确定,一般采用RTP协议。RTSP是文本协议,其功能和HTTP及SIP类似,不同之处是RTSP及SIP本身不传输媒体流数据,而HTTP可以。
(2) RTSP可以承载在TCP或UDP之上(一般为TCP),端口号为554。RTSP通过定义一些“Method”来实现会话的控制,其主要的Mothod有:DESCRIBE、SETUP、PLAY、PAUSE、RECORD、REDIRECT、TEARDOWN等。同时,RTSP通过会话描述协议(SDP)来协商双方的媒体格式、传输协议等。RTSP的详细介绍请参考IETF RFC2326。
RTP/RTCP
(1)整个RTP 协议由两个密切相关的部分组成:RTP 数据协议和RTP控制协议,当应用程序开始一个RTP会话时将使用两对端口:一对用于RTP,另外一对用于RTCP。RTP是针对多媒体数据流的传输协议,能够提供时间信息并提供流同步,但本身并不能提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。RTP通常采用UDP来传送数据。
(2) RTCP和RTP一起提供流量控制和拥塞控制服务,RTCP的主要功能是为数据的传送情况提供反馈。在RTP会话期间,各参与者周期性..传送RTCP包,RTCP包中含有已发送的数据包数量、丢失的数据包数量等统计信息,服务器可以据这些信息动态收变传输速率,甚至收变有效负荷的类。RTP和RTCP配合使用,能够以有效的反馈和最小的开销使传输效率最佳化。