加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

网络流媒体协议之——RTSP协议

发布时间:2019-07-11 05:06:02 所属栏目:教程 来源:linux内核
导读:RTSP(Real-Time Stream Protocol)协议是一个基于文本的多媒体播放节制协议,属于应用层。RTSP以客户端方法事变,对流媒体提供播放、停息、退却、提高等操纵。该尺度由IETF指定,对应的协议是RFC2326。 RTSP作为一个应用层协议,提供了一个可供扩展的框架,

SETUP哀求确定了详细的媒体流怎样传输,该哀求必需在PLAY哀求之前发送。SETUP哀求包括媒体流的URL和客户端用于吸取RTP数据(audio or video)的端口以及吸取RTCP数据(meta information)的端口。处事器端的回覆凡是包括客户端哀求参数简直认,并会增补缺失的部门,好比处事器选择的发送端口。每一个媒体流在发送PLAY哀求之前,都要起首通过SETUP哀求来举办响应的设置。

  1. C->S: SETUP rtsp://example.com/media.mp4/streamid=0 RTSP/1.0 
  2.  CSeq: 3 
  3.  Transport: RTP/AVP;unicast;client_port=8000-8001 
  4.   
  5. S->C: RTSP/1.0 200 OK 
  6.  CSeq: 3 
  7.  Transport: RTP/AVP;unicast;client_port=8000-8001;server_port=9000-9001;ssrc=1234ABCD 
  8.  Session: 12345678 

(4) PLAY

客户端通过PLAY哀求来播放一个或所有媒体流,PLAY哀求可以发送一次或多次,发送一次时,URL为包括全部媒体流的地点,发送多次时,每一次哀求携带的URL只包括一个响应的媒体流。PLAY哀求中可指定播放的range,若未指定,则从媒体流的开始播放到竣事,假如媒体流在播放进程中被停息,则可在停息处从头启动流的播放。

  1. C->S: PLAY rtsp://example.com/media.mp4 RTSP/1.0 
  2.  CSeq: 4 
  3.  Range: npt=5-20 
  4.  Session: 12345678 
  5.   
  6. S->C: RTSP/1.0 200 OK 
  7.  CSeq: 4 
  8.  Session: 12345678 
  9.  RTP-Info: url=rtsp://example.com/media.mp4/streamid=0;seq=9810092;rtptime=3450012 

(5) PAUSE

PAUSE哀求会停息一个或全部媒体流,后续可通过PLAY哀求规复播放。PAUSE哀求中携带所哀求媒体流的URL,若参数range存在,则指明在那里停息,若该参数不存在,则暂就绪即见效,且停息时长不确定。

  1. C->S: PAUSE rtsp://example.com/media.mp4 RTSP/1.0 
  2.  CSeq: 5 
  3.  Session: 12345678 
  4.   
  5. S->C: RTSP/1.0 200 OK 
  6.  CSeq: 5 
  7.  Session: 12345678 

(6) TEARDOWN

竣事会话哀求,该哀求会遏制全部媒体流,并开释处事器上的相干会话数据。

  1. C->S: TEARDOWN rtsp://example.com/media.mp4 RTSP/1.0 
  2.  CSeq: 8 
  3.  Session: 12345678 
  4.   
  5. S->C: RTSP/1.0 200 OK 
  6.  CSeq: 8 

(7) GET_PARAMETER

检索指定URI数据中的参数值。不携带动静体的GET_PARAMETER可用来测试处事器端或客户端是否可通(相同ping的成果)。

  1. S->C: GET_PARAMETER rtsp://example.com/media.mp4 RTSP/1.0 
  2.  CSeq: 9 
  3.  Content-Type: text/parameters 
  4.  Session: 12345678 
  5.  Content-Length: 15 
  6.   
  7.  packets_received 
  8.  jitter 
  9.   
  10. C->S: RTSP/1.0 200 OK 
  11.  CSeq: 9 
  12.  Content-Length: 46 
  13.  Content-Type: text/parameters 
  14.   
  15.  packets_received: 10 
  16.  jitter: 0.3838 

(8) SET_PARAMETER

用于配置指定媒体流的参数。

  1. C->S: SET_PARAMETER rtsp://example.com/media.mp4 RTSP/1.0 
  2.  CSeq: 10 
  3.  Content-length: 20 
  4.  Content-type: text/parameters 
  5.   
  6.  barparam: barstuff 
  7.   
  8. S->C: RTSP/1.0 451 Invalid Parameter 
  9.  CSeq: 10 
  10.  Content-length: 10 
  11.  Content-type: text/parameters 
  12.   
  13.  barparam 

(9) REDIRECT

重定向哀求,用于处事器关照客户端新的处事地点,客户端必要向这个新地点从头提倡哀求。重定向哀求中也许包括Range参数,指明重定向见效的时刻。客户端若需向新处事地点提倡哀求,必需先teardown当前会话,再向指定的新主机setup一个新的会话。

  1. S->C: REDIRECT rtsp://example.com/media.mp4 RTSP/1.0 
  2.  CSeq: 11 
  3.  Location: rtsp://bigserver.com:8001 
  4.  Range: clock=19960213T143205 

(10) ANNOUNCE

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读