RTSP协议学习


http://blog.csdn.net/perfectpdl/article/details/8654093

本文来自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-messages

S->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用其他方法 交互这个信息。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值