时标头用来避免重发模糊性问题,避免对圆锥算法的依赖。
每个请求在CSeq头中携带一个系列号,每发送一个不同请求,它就加一。如由于没有确认而重发请求,请求必须携带初始系列号。
实现RTSP的系统必须支持通过TCP传输RTSP ,并支持UDP。对UDP和TCP,RTSP服务器的缺省端口都是554。许多目的一致的RTSP包被打包成单个低层PDU或TCP流。RTSP数据可与 RTP和RTCP包交叉。不象HTTP,RTSP信息必须包含一个内容长度头,无论信息何时包含负载。否则,RTSP包以空行结束,后跟最后一个信息头。
10 方法定义
方法表征(method token)表示了对请求统一资源标志符(Request-URI)识别的资源所执行的操作。方法名区分大小写。将来可能定义新的方法。方法名可能不以美元符'$'(十进制数24)开头,但必须具有表征意义(must be a token)。
表2是对方法的一个小结。rtsp协议 编码
method direction object requirement
------------------------------------------------------------------
DESCRIBE C -> S P,S recommended
ANNOUNCE C -> S,S ->C P,S optional
GET PARAMETER C -> S,S ->C P,S optional
OPTIONS C -> S,S ->C P,S required(S ! C: optional)
PAUSE C -> S P,S recommended
PLAY C -> S P,S required
RECORD C -> S P,S optional
REDIRECT S ->C P,S optional
SETUP C -> S S required
SET PARAMETER C -> S,S ->C P,S optional
TEARDOWN C -> S P,S required
表2:对RTSP方法,和其操作方向及所操作对象(P: 表示, S: 媒体流)的一个概览
注意:PAUSE方法是推荐的, 但在构建一个全功能的服务器(fully functional server)时可能不支持此方法,这时就不需要它,比如对于live feeds。如果服务器不支持某个特殊方法,它必将返回"501 Not Implemented",并且客户端应该不再向该服务器请求该方法。
(注:Presentation是一个以完整的media feed呈现给client的一个或多个媒体流的集合,暂且翻译成表示)
10.1 OPTIONS
其行为与[H9.2]中描述的等同。OPTIONS请求可能在任何时候发出,例如客户端将要发出一个非标准的请求时。它不影响服务器状态。
示例:
C->S: OPTIONS * 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
注意:这些都是必要的构造特征(necessarily fictional features)。 (你可能不希望我们去有意忽略那些实际上有用的特征,因此在这一部分中我们将给出一个详细的例子)。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-47670-18.html
太夸张了
某国际学校的老师出了一道开放性问题