| ";" "server_port" "=" port ["-" port ]
| ";" "ssrc" "=" ssrc
| ";" "mode" = <"> 1\#mode<">
ttl= 1*3(DIGIT)
port= 1*5(DIGIT)
ssrc= 8*8(HEX)
channel= 1*3(DIGIT)
address= host
mode= <"> *Method <"> | Method
例子:
Transport:RTP/P;multicast;ttl=127;mode="PLAY",
RTP/P;unicast;client_port=3456-3457;mode="PLAY"
Transport头部只能描述单个RTP流。(RTSP也可以把多个流当一个实体进行控制。)把它作为RTSP的一部分而不是依赖它作为最通用的会话描述式,极大地简化了防火墙的设计。
12.40 Unsupported 不支持的
Unsupported响应头部列出服务器不支持的特性。在特性是通过Proxy-Require域给出的情况下(12.32节),代理【必须】把出错消息“551 选项不支持”插入回应消息。
见12.32节的用例。
12.41 User-Agent(用户-代理)
见[H14.42]。
12.42 Vary(变化)
见[H14.43]
12.43 Via(通过)
见[H14.44].
12.44 WWW-Authentica(-鉴权)
见[H14.46].
13 Caching
在HTTP中,响应-请求对是被缓存了的。RTSP在这方面有显著的不同。响应不可以缓存,除了DESCRIBE返回的或ANNOUNCE中包含的表示描述以外。(因为除了DESCRIBE和GET_PARAMETER以外任何响应不返回任何数据,缓存对于请求来说不是一个真正的问题。)但是,连续媒体数据--一般是是在RTSP之外传输--和会话描述,期望被缓存。
收到一个SETUP或PLAY请求后,代理要确认它是否有该连续媒体内容的最新拷贝和它的描述。它可以通过发出一个SETUP或DESCRIBE请求来判断拷贝是否是最新的,并跟所缓存的拷贝比较Last-Modified头部。如果拷贝不是最新的,它就修改SETUP transport参数为合适并向原始服务器转发请求。紧跟的控制命令如PLAY或PAUSE就不修改地经过代理。代理把连续媒体数据传送给客户端,可能同时为之后的重用生成本地拷贝。缓存允许的确切的行为通过12.8节描述的cache-response指令给出。如果缓存正在服务于请求者所请求的流,缓存【必须】回答任何DESCRIBE请求,因为原始服务器上的流描述的低级别细节可能已改变。
注意:RTSP缓存和HTTP缓存不一样,它有“cut-through”多样性。缓存直接拷贝流数据,就像数据是从它那里经过到达客户端一样。因此它没有引入额外的延时。
对客户端,RTSP代理的缓存表现得像是常规的媒体服务器一样;对媒体原始服务器则像客户端。就和HTTP需要储存所缓存对象的内容类型、内容语言等等一样,媒体缓存需要储存表述描述。典型地,缓存会消除表示描述中的所有transport-引用(即多播信息),因为从缓存到客户端的传送不需要这些。编码信息则保持不变。如果缓存有能力转译所缓存的媒体数据,它会生成一个新的包括了所有它能提供的编码可能的表示描述。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-47669-34.html
可以公开武装南海岛礁