Quantcast
Channel: CSDN博客推荐文章
Viewing all articles
Browse latest Browse all 35570

RTSP 协议学习笔记一

$
0
0

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


作者:perfectpdl 发表于2013-3-9 16:55:05 原文链接
阅读:55 评论:0 查看评论

Viewing all articles
Browse latest Browse all 35570

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>