RTSP 协议学习笔记一

来源:互联网 发布:知己知彼软件 编辑:程序博客网 时间:2024/05/10 14:51

本文来自csdn lidp  http://blog.csdn.net/perfectpdl  转载注明出处,谢谢。


RTSP 协议为网络流媒体上的控制协议,与SIP,http 协议类似,都属于控制协议,并基于文本的,传输端口为 554,rtsp同样属于 请求,响应式协议,定义了用于交互媒体信息的几个方法,并规定了交互流程。

下面为一个交互流程图,以及这个流程中各个方法的用途




OPTIONS
   与SIP/http 类似, options请求用于客户端咨询服务器,其所支持的方法有哪些,服务器响应 200ok,在public消息头携带 服务器所支持的方法。

C->S:  OPTIONS rtsp://example.com/media.mp4 RTSP/1.0       CSeq: 1       Require: implicit-play       Proxy-Require: gzipped-messagesS->C:  RTSP/1.0 200 OK       CSeq: 1       Public: DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE

通常客户端首先发起options请求以检测服务器的能力。


DESCRIBE

  DESCRIBE请求是客户端向服务器请求具体媒体内容的第一个方法,包括请求URL以及客户端支持的消息体类型,此请求的响应通常是 服务器告诉客户端,其所请求的媒体的具体信息,与SIP类似,媒体信息由SDP承载,所以DESCRIBE请求的消息头 accept 通常为 appliaction/sdp。


C->S: DESCRIBE rtsp://example.com/media.mp4 RTSP/1.0      CSeq: 2
      Accept: application/sdp
S->C: RTSP/1.0 200 OK      CSeq: 2      Content-Base: rtsp://example.com/media.mp4      Content-Type: application/sdp      Content-Length: 460      m=video 0 RTP/AVP 96      a=control:streamid=0      a=range:npt=0-7.741000      a=length:npt=7.741000      a=rtpmap:96 MP4V-ES/5544      a=mimetype:string;"video/MP4V-ES"      a=AvgBitRate:integer;304018      a=StreamName:string;"hinted video track"      m=audio 0 RTP/AVP 97      a=control:streamid=1      a=range:npt=0-7.712000      a=length:npt=7.712000      a=rtpmap:97 mpeg4-generic/32000/2      a=mimetype:string;"audio/mpeg4-generic"      a=AvgBitRate:integer;65790      a=StreamName:string;"hinted audio track"

DESCRIBE 响应分消息头和消息体,消息体由SDP协议承载,此sdp 消息体描述了客户端所请求的媒体的 音频,视频 描述,如编码,码率等,带不同于sip,此消息体并不包含 具体的ip和端口信息,rtsp用其他方法 交互这个信息。


原创粉丝点击