Re: Format of RTSP URLs

Bill Simpson-Young <bill@syd.dit.csiro.au> Thu, 17 July 1997 03:27 UTC

Received: from cnri by ietf.org id aa28878; 16 Jul 97 23:27 EDT
Received: from services.bunyip.com (services.Bunyip.Com [192.77.55.2]) by cnri.reston.va.us (8.8.5/8.7.3) with ESMTPid XAA10424; Wed, 16 Jul 1997 23:26:20 -0400 (EDT)
Received: (from daemon@localhost) by services.bunyip.com (8.8.5/8.8.5) id XAA13947 for uri-out; Wed, 16 Jul 1997 23:10:18 -0400 (EDT)
Received: from mocha.bunyip.com (mocha.Bunyip.Com [192.197.208.1]) by services.bunyip.com (8.8.5/8.8.5) with ESMTP id XAA13942 for <uri@services.bunyip.com>; Wed, 16 Jul 1997 23:10:13 -0400 (EDT)
Received: (from daemon@localhost) by mocha.bunyip.com (8.8.5/8.8.5) id XAA03608 for uri@services; Wed, 16 Jul 1997 23:10:12 -0400 (EDT)
Received: from alba.syd.dit.CSIRO.AU (alba.syd.dit.csiro.au [130.155.20.1]) by mocha.bunyip.com (8.8.5/8.8.5) with SMTP id XAA03605 for <uri@bunyip.com>; Wed, 16 Jul 1997 23:10:06 -0400 (EDT)
Received: from syd.dit.csiro.au by alba.syd.dit.CSIRO.AU (8.6.12/1.06S) id NAA17902; Thu, 17 Jul 1997 13:09:50 +1000
Message-Id: <199707170309.NAA17902@alba.syd.dit.CSIRO.AU>
X-Mailer: exmh version 1.6.9 8/22/96
To: Rob Lanphier <robla@prognet.com>
Subject: Re: Format of RTSP URLs
cc: www-talk@w3.org, uri@bunyip.com, confctrl@isi.edu
Reply-To: Bill Simpson-Young <bill.simpson-young@cmis.csiro.au>
In-reply-to: Your message of Tue, 15 Jul 1997 09:50:28 -0700. <3.0.32.19970715095024.01322938@mail.prognet.com>
X-Internet: bill.simpson-young@cmis.csiro.au
X-Snail: CSIRO DIT, Locked Bag 17, North Ryde NSW 2113, Australia
X-Phone: (+61 2) 325-3155 Fax: (+61 2) 325-3200
X-uri: http://www.syd.dit.csiro.au/staff/bill
X-face: "GS>_j9\.pW; Cs*01=u*o'&mic%_7Hxyz&_UR6{$Ai95Hc5,xn-jf-Z7"njhC<(@`Vr%Nrl &x/|0G%DtL\XmNdIo|eMF,W"ci_a\Z=#aSs+&$5Ia:/$@{'i:T.U]^2l!NarQF+Ldb.
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Date: Thu, 17 Jul 1997 13:09:39 +1000
From: Bill Simpson-Young <bill@syd.dit.csiro.au>
Sender: owner-uri@bunyip.com
Precedence: bulk

robla wrote:
> C->S  DESCRIBE rtsp://foo/db/moviebase?movie=twister RTSP/1.0 1
> 
> S->C  RTSP/1.0 200 1 OK
>       Content-length: 178
>       Content-type: application/sdp
> 
>       s= sample rtsp presentation
>       r = rtsp://foo/db/moviebase?movie=twister   /* aggregate URL*/
>       m= audio 0 RTP/AVP 0
>       r = :track=audio1                           /* URL to control audio*/
>       m=video 0 RTP?AVP 26
>       r = :track=video1                           /* URL to control video*/

I don't think this example would be a common one as surely, in practice, 
HTTP will be used to retrieve the SDP info rather than RTSP.  There are a 
load of advantages to using HTTP (eg access to the SDP data by existing 
robots, use of streaming control protocols other than rtsp, etc) and there 
would be even more advantages if later there is an XML DTD corresponding 
to SDP (eg human readability of the metadata).

I realise that the idea is to allow applications to use either protocol to 
do the bootstrapping but I still can't really see the point in using RTSP 
for this. I guess the advantage of using RTSP for the SDP data is that you 
can run just the RTSP server on the media server without the need for a 
separate HTTP server and without the need for the RTSP server to support 
HTTP but I would have thought that you'd usually want the SDP info to come 
from a different box anyhow which is running the metadata database and can 
run just an HTTP server.  I would have thought the use of RTSP for getting 
discrete data would be the exception rather than the rule and the 
incorporation of HTTP support in any RTSP servers that want to support 
this would be a better approach.

If I'm right, then this will have an impact on relative URLs specified in 
SDP (or some XML version of it) as they would be HTTP URLs not RTSP ones 
unless some form of base tag is used in the SDP data. Either way I agree 
with Roy about the specification of tracks using the path itself (using 
"/").  So, regardless of whether we're using container file formats or 
separate tracks in separate files, the respective URLs could be:

http://foo/db/moviebase/twister          (for the bootstrapping info)
rtsp://foo/db/moviebase/twister/video1
rtsp://foo/db/moviebase/twister/audio1

and we could have the following (using an imaginary XML DTD for the 
bootstrapping info):

C->S  GET http://foo/db/moviebase/twister HTTP/1.1

(if this was from a query you would have had a redirect stage before this 
as suggested by Roy)

S->C  HTTP/1.1 200 1 OK
      Content-length: 178
      Content-type: text/foo

      <?XML version="1.0"?>
      <!DOCTYPE foo SYSTEM "http://foo/foo.dtd">
      <session base="rtsp://foo/db/moviebase/twister"/>
      <summary>Sample RTSP Presentation</summary>
      <media type="audio" location="audio1" ... />
      <media type="video" location="video1" ... />
      </session>


Bill