示例:
Range:clock=19960213T143205Z-;time=19970123T143720Z
12.30 提交方(Referer)
见[H14.37]。指提及表示描述的URL,典型地是从HTTP中取得。
12.31 重试-自从(Retry-After)
见[H14.38]
12.32 要求(Require)
要求头部被客户端用于向服务器询问其能够或不能够支持的选项。服务器【必须】使用不支持(Unsupported)头部来响应该头部,以对不支持的选项作出否定确认。
这意在确保客户端-服务器交互将在所有选项头能被双方理解的情况下无延迟地进行,并仅在不能理解选项时(如上文情况)降低速度。对于一对配合得很好的客户端-服务器,交互将进行得很快,节约了协商机制经常需要的来回时间。另外,这也消除了当客户端需要服务器无法理解的特性时产生的不明确性。
Require ="Require" ":" 1#选项-标签
示例:
C->S: SETUP rtsp://server.com/foo/bar/baz.rm RTSP/1.0
CSeq: 302
Require: funky-feature
Funky-Parameter: funkystuff
S->C: RTSP/1.0 551 Option not supported
CSeq: 302
Unsupported: funky-feature
C->S: SETUP rtsp://server.com/foo/bar/baz.rm RTSP/1.0
CSeq: 303
S->C: RTSP/1.0 200 OK
CSeq: 303
在该示例中,"funky-feature"是向客户端指示需要虚构的Funky-Parameter域的特性标签。"funky-feature"和Funky-parameter之间的关系不通过RTSP交互来沟通,因为此关系是"funky-feature"的不变的属性,因此不应该在每次RTSP交互中都传输。
代理和其他中间设备【应该】忽略该域中不理解的特性。如果有需要中间设备支持的特殊扩展,此扩展应该用 代理-要求(Proxy-Require)域(见12.27节)标签代替。
12.33 RTP-信息(RTP-info)
该域用于设定PLAY响应中的RTP相关参数。
url:
指示后面的RTP参数跟哪个流UTL相关联。
seq:
指示流的第一个包的序列号。这使得客户端在搜索时方便地处理包。客户端使用该来区分搜索位置前生成的包和搜索位置后生成的包。
rtptime:
指示和Range响应头部的时间对应的RTP时间戳。(注意:对于合控制,某些特定的流可能在返回或暗含的Range时间内实际上不产生包。因此,无法保证用seq指示序列号的包实际上含有用rtptime指示的时间戳。)客户端用此来实现从RTP时间到NPT的映射计算。
从RTP时间戳映射到NTP时间戳(时钟时间)可以借助RTCP。但是,该信息还不足以完成从RTP时间戳到NTP的映射。此外,为了保证可以在必要的时候(启动后立即或搜索后)获得该信息,并且可靠地传输,该映射被置于RTSP控制信道内。
为了纠正较长的、不间断的表示的偏移,RTSP客户端还要额外地进行从NPT到NPT的映射,使用初始RTCP发送方报告来实现此映射,并用后续的报告来检查相对映射的偏移。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-47669-30.html
期待小王子
应该加收你1两鲜肉的钱