精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
下面是QuickTime Broadcaster通过TCP发送MPEG 4流的踪迹。TCP连接使用同样系列的RTSP请求和端口标识,请求中带有由标准定义的RTP/AVP/TCP传输协议信息,每个流都有interleaved= 这样的关键字来指定端口。
对于这个例子,我们通过qtaccess文件中的设定将认证和授权禁用了,这使所有用户都可以向服务器发布流。播送文件的路径是相对于电影目录的。如果请求中的URL指定的SDP文件已经存在,则会被替代掉。已经连接到该URL的客户不会被更新,因为如果要更新的话,需要客户端重新发送一个新的DESCRIBE请求,目前没有办法可以将SDP的变化通知给客户。
客户端发送给服务器端:
ANNOUNCE rtsp://127.0.0.1/mystream.sdp RTSP/1.0\r\n |
|
服务器端发送给客户端:
RTSP/1.0 200 OK\r\n |
|
客户端发送给服务器端:
// The broadcaster is trying to determine if RECORD is supported. QTSS 4.0 used an Apple |
|
服务器端发送给客户端:
RTSP/1.0 200 OK\r\n |
|
客户端发送给服务器端:
// Here is the first setup with the transport defined from the client to the |
|
服务器端发送给客户端:
// The server responds with the interleaved values. If the values conflict, |
|
客户端发送给服务器端:
SETUP rtsp://127.0.0.1/mystream.sdp/trackid=2 RTSP/1.0\r\n |
|
服务器端发送给客户端:
RTSP/1.0 200 OK\r\n |
|
客户端发送给服务器端:
// This is the equivalent to a client PLAY request. The broadcaster is now |
|
服务器端发送给客户端:
// RTCPs will be sent back on the channels to show the number of watching |
|
客户端发送给服务器端:
PAUSE rtsp://127.0.0.1/mystream.sdp RTSP/1.0\r\n |
|
服务器端发送给客户端:
RTSP/1.0 200 OK\r\n |
|
客户端发送给服务器端:
// A TEARDOWN stops the broadcast streams. It does not stop the clients or |
|
服务器端发送给客户端:
// The server removes the SDP file from the movies directory on teardown or |
|