流媒体使用的特有的应用和控制协议有RTP/RTCP、RSVP和RTSP。
(1)实时传输协议(RTP)和实时控制协议(RTCP)。RTP/RTCP是基于IP的应用层协议,支持实时数据(音频、视频流)的传输,其思想是传输实时数据的同时发送一些关于传输和接收的质量的反馈信息,这两个任务分别由RTP和RTCP完成。RTP提供一些机制用于进行时间重建、定时、丢包检测和重排序。RTP支持单播和组播,可用于单向传输也可用于双向业务,但是RTP本身不提供如何实时传输的机制,也不提供可靠的流阻塞控制,而是通过与RTCP和UDP的配合,使传输效率达到最优化。RTP/RTCP为传送实时数据提供需要的功能和控制机制,但是其本身不负责高层的任务,如重排序和同步,这些由应用程序完成。
(2)资源预留协议(RSVP)。RSVP允许数据接收方为数据流请求特殊的端到端QoS。实时应用使用RSVP在路由器上预留必要的资源,这样在传输的时候可以得到所要求的带宽。RSVP流程是单一的,不区别发送方和接收方。RSVP支持组播和单播,并适应变化的成员个数和路由。使用RSVP要求传输路径上的节点都支持RSVP,这很难得到保证,所以流应用一般不使用RSVP。
(3)实时流协议(RTSP)。RTSP是一个应用层协议,利用RTSP可以在服务器和客户端之间建立并控制连续的音频媒体和视频媒体流,进行服务器和客户端之间的“网络远程控制”,提供类似VCR的音频和视频的远程控制功能。但是RTSP要在独立于数据的通道中进行传输。RTSP支持单播和组播,提供选择传送通道的方法,可以选择UDP、组播UDP和TCP,而低层的传输机制依赖于RTP或TCP。RTSP与低层的协议(如RTP、RSVP)一起协调运行,提供完全的流服务。RTSP是有状态的、对称的协议,RTSP服务器维护会话状态且RTSP中媒体服务器和客户端都能发出请求。RTSP的语法和操作与HTTP相似,使用专用于音频和视频的类似于HTTP中的URL。