RTSP协议状态机.docVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
RTSP协议状态机

RTSP协议状态机RTSP客户端和服务器端的状态机描述了从RTSP会话初始化到会话终止的过程中协议的行为。 ??? 根据每个对象的要素来定义其状态。可以通过媒体流URL和RTSP会话标志符来唯一地标识每个对象。聚合URL(aggregate URLs)用以标识由多个媒体流组成的表示,任何使用这种聚合URL的请求/回复都将会影响表示中所有媒体流的状态。例如,如果表示/movie包含两个 媒体流/movie/audio和/movie/video,使用下面的命令 PLAY rtsp:///movie RTSP/1.0 CSeq: 559 Session:/movie/audio和/movie/video的状态将会受到影响。 ??? OPTIONS, ANNOUNCE, DESCRIBE, GET PARAMETER, SET PARAMETER等请求不会影响客户端或服务器端的状态机,因此它们没有在状态表中列出。 A.1 客户端状态机 ??? 客户端呈现以下状态: ??? 初始态(Init):SETUP请求已经发出,等待回复 ??? 就绪态(Ready):收到SETUP回复,或在播放态时收到PAUSE回复 ??? 播放态(Playing):收到PLAY回复 ??? 记录态(Recording):收到RECORD回复 ??? 通常来说,客户端在收到对请求的回复后立即改变状态。但要注意某些请求会在将来某个时间或某个位置才生效,比如PAUSE请求,到时状态也要作相应改变。 如果对象不需要显式的SETUP请求,比如它在一个可用组播群中,那么其起始态就为就绪态。在这种情况下只有两种状态:就绪态和播放态。当到达被请求范围 (the requested range)的结尾时,客户端也会将状态从播放态/记录态迁移到就绪态。 ??? 下一状态列表示在收到一个成功响应(2xx)后的状态。如果请求产生状态码3xx,状态将变成初始态,而要是4xx,状态将不作改变。在当前状态不能 发出的消息没有在状态机中列出,上文提到的那些不影响当前状态的消息也没有列出。从服务器端收到一个REDIRECT方法等同于从服务器接收到一个3xx 的重定向状态码。 状态 发出的消息 响应后下一状态 初始态 SETUP 就绪态 ? TEARDOWN 初始态 就绪态 PLAY 播放态 ? RECORD 记录态 ? TEARDOWN 初始态 ? SETUP 就绪态 播放态 PAUSE 就绪态 ? TEARDOWN 初始态 ? PLAY 播放态 ? SETUP 播放态(改变传输) 记录态 PAUSE 就绪态 ? TEARDOWN 初始态 ? RECORD 记录态 ? SETUP 记录态(改变传输) A.2 服务器端状态机 ??? 服务器端呈现以下状态: ??? 初始态(Init):最初的状态,未收到有效的SETUP请求 ??? 就绪态(Ready):成功接收上一个SETUP请求,回复发出,或者从播放态迁移而来,成功接收上一个PAUSE请求,向客户端发回回复 ??? 播放态(Playing):成功接收上一个PLAY请求,对其回复发出。数据正在发送 ??? 记录态(Recording):服务器正在记录媒体数据 ??? 通常来说,服务器端在收到对请求后立即改变状态。在单播模式下,如果服务器在一个定义的时间间隔内(默认是1分钟)没有从客户端收到满意的 (wellness)的信息,那么它将从播放态或记录态回复到初始态,并且关闭(tear down)RTSP会话。服务器在会话响应头(Session response header)中声明另一个超时值(timeout value)。 ??? 如果处在就绪态的服务器在超过1分钟的时间间隔内没有收到一个RTSP请求,它将回复到初始态。注意某些请求(比如PAUSE)可能会在将来某个时间或某 个位置生效,服务器状态会在恰当的时间改变(而不是在收到请求后立即改变)。到达客户端请求范围的结尾时,服务器状态从播放态或记录态回复到就绪态。 ??? 除非REDIRECT消息有Range首部域指出重定向生效的时间,否则它在发出后立即生效。在有Range的情况下,服务器状态也会在恰当的时间改变。 ??? 如果对象不需要显式的SETUP请求,那它将以就绪态开始,并且只有就绪和播放两个状态。 ??? 下一状态列表示发出一个成功响应(2xx)后的状态。如果某个请求引起状态码3xx,则状态变成初始态。4xx的状态码不会引起状态改变。 状态 收到的消息 下一状态 初始态 SETUP 就绪态 ? TEARDOWN 初始态 就绪态 PLAY 播放态 ? SETUP 就绪态 ? TEARDOWN 初始态

您可能关注的文档

文档评论(0)

aicencen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档