Range: smpte=0:10:00-0:20:00
RTP-Info: url=rtsp://audio.example.com/twister/audio.en;
seq=876655;rtptime=1032181
C->A:TEARDOWN rtsp://audio.example.com/twister/audio.en RTSP/1.0
CSeq: 3
Session: 12345678
A->C:RTSP/1.0 200 OK
CSeq: 3
C->V:TEARDOWN rtsp://video.example.com/twister/video RTSP/1.0
CSeq: 3
Session: 23456789
V->C:RTSP/1.0 200 OK
CSeq: 3
尽管音轨和视频轨在两个不同的服务器上,并可能在起始时间上有时间上的微小差别及互相有偏移量,客户端可以用标准RTP方法同步它们,具体就是RTCP发送方包括所包含的时间刻度。
14.2 容器文件的流化
在本示例内,容器文件就是可以容纳服务于同一个终端用户的表示的多个连续媒体类型的存储实体。在实际中,一个容器文件对应一个RTSP表示,它的每一种元素对应一个RTSP流。容器文件被广泛用于存储此类表示。而各元素作为互相独立的流来传输,它意在把一个服务端的多个流维护成一个公用的内容。
这使服务器可以用一个存储句柄方便地做打开操作。它还允许了服务器平等地处理各流,从而避免了对流的任何存在优先权的处理方式。
这还使得表示所有者可以防止别人为了得到该多媒体表示的艺术效果而通过客户端选择性地摘取流。类地,在这样紧密捆绑的表示中,我们可能希望可以通过一个控制消息,使用一个合URL来控制所有的流。
下面是一个使用一个RTSP会话控制多个流的例子。它也示范了合URL的使用。
客户端C向媒体服务器M请求一个表示。该电影存在一个容器文件中。客户端已经取得了该容器文件的RTSP URL。
C->M:DESCRIBE rtsp://foo/twister RTSP/1.0
CSeq: 1
M->C:RTSP/1.0 200 OK
CSeq: 1
Content-Type: application/sdp
Content-Length: 164
v=0
o=- 2890844256 2890842807 IN IP4 172.16.2.93
s=RTSP Session
i=An Example of RTSP Session Usage
a=control:rtsp://foo/twister
t=0 0
m=audio 0 RTP/P 0
a=control:rtsp://foo/twister/audio
m=video 0 RTP/P 26
a=control:rtsp://foo/twister/video
C->M:SETUP rtsp://foo/twister/audio RTSP/1.0
CSeq: 2
Transport: RTP/P;unicast;client_port=8000-8001
M->C:RTSP/1.0 200 OK
CSeq: 2
Transport: RTP/P;unicast;client_port=8000-8001;
server_port=9000-9001
Session: 12345678
C->M:SETUP rtsp://foo/twister/video RTSP/1.0
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-47669-36.html
烊烊吃午饭了没啊
简直屁话
钱多就可以多娶