Warning, /frameworks/kio/src/kioworkers/http/shoutcast-icecast.txt is written in an unsupported language. File is not indexed.

0001 
0002 Audio and Apache HTTPD
0003 ApacheCon 2001
0004 Santa Clara, US
0005 
0006 April 6th, 2001
0007 
0008 Sander van Zoest <sander@vanZoest.com>
0009 Covalent Technologies, Inc. 
0010 <http://www.covalent.net/>
0011 
0012 Latest version can be found at:
0013  <http://www.vanZoest.com/sander/apachecon/2001/>
0014 
0015 Introduction:
0016 
0017 About this paper:
0018 
0019 Contents:
0020 
0021  1. Why serve Audio on the Net?
0022 
0023  This is almost like asking, why are you reading this? it might be
0024  because of the excitement caused by the new media that has recently
0025  crazed upon the internet. People are looking to bring their lifes onto
0026  the net, one of the things that brings that closer to a reality is the
0027  ability to hear live broadcasts of the worlds news, favorite sport; 
0028  hear music and to teleconference with others. Sometimes it is simply
0029  to enhance the mood to a web site or to provide audio feedback of
0030  actions performed by the visitor of the web site.
0031 
0032  2. What makes delivering audio so different?
0033 
0034  The biggest reason to what makes audio different than traditional
0035  web media such as graphics, text and HTML is the fact that timing
0036  is very important. This caused by the significant increase in size
0037  of the media and the different quality levels that exist.
0038 
0039  There really are two kinds of goals behind audio streams.
0040  In one case there is a need for immediate response the moment
0041  playback is requested and this can sacrifice quality. While
0042  in the other case quality and a non-interrupted stream are much
0043  more important.
0044 
0045  This sort of timing is not really required of any other media,
0046  with the exception of video. In the case of HTML and images the
0047  files sizes are usually a lot smaller which causes the objects
0048  to load much quicker and usually are not very useful without
0049  having the entire file. In audio the middle of a stream can have
0050  useful information and still set a particular mood.
0051  
0052  3. Different ways of delivery Audio on the Net.
0053  Embedding audio in your Web Page
0054 
0055  This used to be a lot more common in the past. Just like embedding
0056  an image in a web page, it is possible to add a sound clip or score
0057  to the web page.
0058 
0059  The linked in audio files are usually short and of low quality to 
0060  avoid a long delay for downloading the rest of the web page and the
0061  audio format needs to be supported by the browser natively or with
0062  a browser plug-in to avoid annoying the visitor.
0063 
0064  This can be accomplished using the HTML 4.0 [HTML4] object element which
0065  works similar to how to specify an applet with the object element.
0066  In the past this could also be accomplished using the embed and bgsound
0067  browser specific additions to HTML.
0068 
0069  example:
0070    <object type="audio/x-midi" data="../media/sound.mid" width="200" height="26">
0071      <param name="src" value="../media/sound.mid">
0072      <param name="autostart" value="true">
0073      <param name="controls" value="ControlPanel">
0074    </object> 
0075 
0076  Each param element is specific to each browser. Please check with each
0077  browser for specific information in regards to what param elements are
0078  available.
0079 
0080  In this method of delivering audio the audio file is served up via the
0081  web server. When using an Apache HTTPD server make sure that the appropriate
0082  mime type is configured for the audio file and that the audio file is
0083  named and referenced by the appropriate extension.
0084 
0085  Although the current HTML 4.01 [HTML4] says to use the object element
0086  many browsers out on the market today still look for the embed element.
0087  Below find a little snipbit that will work in many browsers.
0088 
0089   <object type="audio/x-midi" data="../media/sound.mid" width="200" height="26">
0090     <param name="src" value="../media/sound.mid">
0091     <param name="autostart" value="true">
0092     <param name="controls" value="ControlPanel">
0093 
0094     <embed type="audio/x-midi" src="../media/sound.mid"
0095      width="200" height="26" autoplay="true" controls="ControlPanel">
0096     <noembed>Your browser does not support embedded WAV files.</noembed>
0097   </object> 
0098 
0099  With the increasing installation base of the Flash browser plug-in by
0100  Macromedia most developers that are looking to provide this kind of
0101  functionality to a web page are creating flash elements that have their
0102  own way of adding audio that is discussed in Flash specific documents.
0103 
0104  Downloading via HTTP
0105 
0106  Using this method the visitor to the website will have to download the
0107  entire audio file and save it to the hard drive before it can be
0108  listened to. (1) This is very popular with people that want to listen 
0109  to high quality streams of audio and have a below ISDN connection to
0110  the internet. In some cases where the demand for a stream is high or
0111  the internet is congested downloading the content even for high bandwidth
0112  users can be affective and useful.
0113 
0114  One of the advantages of downloading audio to the local computer hard
0115  drive is that it can be played back (once downloaded) any time as long
0116  as the audio file is accessable from the computer.
0117 
0118  There are a lot of sites on the internet that provide this functionality
0119  for music and other audio files. It is also one of the easiest ways to
0120  delivery high quality audio to visitors.
0121  
0122  (1) Microsoft Windows Media Player in conjunction with the Microsoft
0123      Internet Explorer Browser will automatically start playing the 
0124      audio stream after a sufficient amount of the file has been 
0125      downloaded. This can be accomplished because of the tight 
0126      integration of the Browser and Media Player. With most audio players
0127      you can listen to a file being downloaded, but you will have to
0128      envoke the action manually.
0129  
0130  . On-Demand streaming via HTTP
0131 
0132  The real difference between downloading and on-demand streaming is
0133  that in on-demand streaming the audio starts playing before the entire
0134  audio file has been downloaded. This is accomplished by a hand of off
0135  the browser to the audio player via an intermediate file format that
0136  has been configured by the browser to be handled by the audio player.
0137 
0138  Look in a further section entitled "Linking to Audio via Apache HTTPD"
0139  below for more information about the different intermediate file formats.
0140 
0141  This type of streaming is very popular among the open source crowd and
0142  is the most widely implemented using the MP3 file format. Apache,
0143  Shoutcast [SHOUTCAST] and Icecast [ICECAST] are the most common 
0144  software components used to provide on-demand streaming via HTTP. Both
0145  Icecast and Shoutcast are not fully HTTP compliant, but Icecast is 
0146  becoming closer. For more information about the Shoutcast and Icecast 
0147  differences see the section below.
0148 
0149  Sites like Live365.com and MP3.com are huge sites that rely on this
0150  method of delivery of audio.
0151 
0152  . On-Demand Streaming via RTSP/RTP
0153 
0154  RTSP/RTP is a new set of streaming protocols that is getting more 
0155  backing and becoming more popular by the second. The specification
0156  was developed by the Internet Engineering Task Force Working Groups
0157  AVT [IETFAVT] and MMUSIC [IETFMMUSIC]. RTP the Realtime Transfer
0158  Protocol has been around longer than RTSP and originally came out
0159  of the work towards a better teleconferencing, mbone, type system.
0160  RTSP is the Real-Time Streaming Protocol that is used as a control
0161  protocol and acts similarily to HTTP except that it maintains state
0162  and is bi-directional.
0163 
0164  Currently the latest Real Networks Streaming Servers support RTSP
0165  and RTP and Real Networks own proprietary transfer protocol RDT.
0166  Apple's Darwin Streaming server is also RTSP/RTP compliant.
0167 
0168  The RTSP/RTP protocol suite is very powerful and flexable in regards
0169  to your streaming needs. It has the ability to support "server-push"
0170  style stream redirects and has the ability to throttle streams to
0171  ensure the stream can sustain the limited bandwidth over the network.
0172 
0173   For On-Demand streams the RTP protocol would usually stream over
0174  TCP and have a second TCP connection open for RTSP. Because of the
0175  rich features provided by the protocol suite, it is not very well
0176  suited to allow people to download the stream and therefore the
0177  download via HTTP method might still be preferred by some.
0178 
0179  . Live Broadcast Streaming via RTSP/RTP
0180 
0181  In the case of a live broadcast streaming RTSP/RTP shines. RTP allowing
0182  for UDP datagrams to be transmitted to clients allows for fast immediate
0183  delivery of content with the sacrifice of reliability. The RTP stream
0184  can be send over IP Multicast to minimize bandwidth on the network.
0185 
0186  Many Content Delivery Networks (CDNs) are starting to provide support for
0187  RTSP/RTP proxies that should provide a better quality streaming environment
0188  on the internet. 
0189 
0190  Much work is also being done in the RTP space to provide transfers over 
0191  telecommunication networks such as cellular phones. Although not directly
0192  related, per se, it does provide a positive feeling knowing that all the
0193  audio related transfer groups seem to be working towards a common standard
0194  such as RTP.
0195 
0196  . On-Demand or Live Broadcast streaming via MMS.
0197 
0198  This is the Microsoft Windows Media Technologies Streaming protocol. It
0199  is only supported by Microsoft Windows Media Player and currently only
0200  works on Microsoft Windows.
0201 
0202  5. Configuring Mime Types
0203 
0204  One of the most hardest things in serving audio has been the wide variety
0205  of audio codecs and mime types available. The battle of mime types on the
0206  audio player side of things isn't over, but it seems to be a little more
0207  controlled.
0208 
0209  On the server side of things provide the appropriate mime type for the 
0210  particular audio streams and/or files that are being served to the audio 
0211  players. Although some clients and operating systems handle files fully 
0212  based on the file extension. The mime type [RFC2045] is more specific 
0213  and more defined.
0214 
0215  The registered mime types are maintained by IANA [IANA]. On their site
0216  they have a list of all the registered mime types and their name space.
0217 
0218  If you are planning on using a mime type that isn't registered by IANA
0219  then signal this in the name space by adding a "x-" before the subtype. 
0220  Because this was not done very often in the audio space, there was a 
0221  lot of confusion to what the real mime type should be.
0222 
0223  For example the MPEG 1.0 Layer 3 Audio (MP3) [ORAMP3BOOK] mime type 
0224  was not specified for the longest time. Because of this the mime type 
0225  was audio/x-mpeg. Although none of the audio players understood 
0226  audio/x-mpeg, but understood audio/mpeg it was not a technically 
0227  correct mime type. Later audio players recognized this and started 
0228  using the audio/x-mpeg mime type. Which in the end caused a lot 
0229  of hassles with clients needing to be configured differently depending
0230  on the website and client that was used. Last november we thanked
0231  Martin Nilsson of the ID3 tagging project for registering audo/mpeg
0232  with IANA. [RFC3003]
0233 
0234  Correct configuration of Mime Types is very important. Apache HTTPD
0235  ships with a fairly up to date copy of the mime.types file, so most
0236  of the default ones (including audio/mpeg) are there.
0237 
0238  But in case you run into some that are not defined use the mod_mime 
0239  directives such as AddType to fix this.
0240 
0241  Examples:
0242         AddType audio/x-mpegurl .m3u
0243         AddType audio/x-scpls   .pls
0244         AddType application/x-ogg .ogg
0245 
0246 
0247  6. Common Audio File Formats
0248 
0249  There are many audio formats and metadata formats that exist. Many of
0250  them do not have registered mime types and are hardly documented.
0251  This section is an attempt at providing the most accurate mime type
0252  information for each format with a rough description of what the files
0253  are used for.
0254 
0255  . Real Audio
0256  
0257    Real Networks Proprietary audio format and meta formats. This is one
0258    of the more common streaming audio formats today. It comes in several
0259    sub flavors such as Real 5.0, Real G2 and Real 8.0 etc. The file size
0260    varies depending on the bitrates and what combination of bitrates are
0261    contained within the single file.
0262    The following mime types are used
0263       audio/x-pn-realaudio .ra, .ram, .rm
0264       audio/x-pn-realaudio-plugin .rpm
0265       application/x-pn-realmedia
0266 
0267  . MPEG 1.0 Layer 3 Audio (MP3)
0268    
0269    This is currently one of the most popular downloaded audio formats
0270    that was originally developed by the Motion Pictures Experts Group
0271    and has patents by the Fraunhofer IIS Institute and Thompson 
0272    Multimedia. [ORAMP3BOOK] The file is a lossy compression that at
0273    a bitrate of 128kbps reduces the file size to roughly a MB/minute.
0274    The mime type is audio/mpeg with the extension of .mp3 [RFC3003]
0275 
0276  . Windows Media Audio
0277    
0278    Originally known as MS Audio was developed by Microsoft as the MP3
0279    killer. Still relatively a new format but heavily marketed by
0280    Microsoft and becoming more popular by the minute. It is a successor
0281    to the Microsoft Audio Streaming Format (ASF).
0282 
0283  . WAV
0284 
0285    Windows Audio Format is a pretty semi-complicated encapsulating 
0286    format that in the most common case is PCM with a WAV header up front.
0287    It has the mime type audio/x-wav with the extension .wav.
0288 
0289  . Vorbis
0290 
0291    Ogg Vorbis [VORBIS] is still a relatively new format brought to 
0292    life by CD Paranoia author Christopher Montgomery; known to the 
0293    world as Monty. It is an open source audio format free of patents 
0294    and gotchas. It is a codec/file format that is roughly as good as
0295    the MP3 format, if not much better. The mime type for Ogg Vorbis is
0296    application/x-ogg with the extension of .ogg.
0297 
0298  . MIDI
0299 
0300    The MIDI standard and file format [MIDISPEC] have been used by 
0301    Musicians for a long time. It is a great format to add music to
0302    a website without the long download times and needing special players
0303    or plug-ins. The mime type is audio/x-midi and the extension is .mid
0304 
0305  . Shockwave Flash (ADPCM/MP3) [FLASH4AUDIO]
0306 
0307    Macromedia Flash [FLASH4AUDIO] uses its own internal audio format
0308    that is often used on Flash websites. It is based on Adaptive 
0309    Differential Pulse Code Modulation (ADPCM) and the MP3 file format.
0310    Because it is usually used from within Flash it usually isn't served
0311    up seperatedly but it's extension is .swf
0312 
0313  There are many many many more audio codecs and file formats that exist.
0314  I have listed a few that won't be discussed but should be kept in mind.
0315  Formats such as PCM/Raw Audio (audio/basic), MOD, MIDI (audio/x-midi),
0316  QDesign (used by Quicktime), Beatnik, Sun's AU, Apple/SGI's AIFF, AAC
0317  by the MPEG Group, Liquid Audio and AT&T's a2b (AAC derivatives),
0318  Dolby AC-3, Yamaha's TwinVQ (originally by Nippon Telephone and Telegraph)
0319  and MPEG-4 audio.
0320 
0321  7. Linking to Audio via Apache HTTPD
0322 
0323  There are many different ways to link to audio from the Apache HTTPD
0324  web server. It seems as if every codec has their own metafile format.
0325  The metafile format is provided to allow the browser to hand off the
0326  job of requesting the audio file to the audio player, because it is
0327  more familiar with the file format and how to handle streaming or how
0328  to actually connect to the audio server then the web browser is.
0329 
0330  This section will discuss the more common methods to provide streaming
0331  links to provide that gateway from the web to the audio world.
0332 
0333  Probably the one that is the most recognized file is the RAM file.
0334 
0335  . RAM
0336 
0337  Real Audio Metafile. It is a pretty straight forward way that Real
0338  Networks allowed their Real Player to take more control over their
0339  proprietary audio streams. The file format is simply a URL on each
0340  line that will be streamed in order by the client. The mime type
0341  is the same as other RealAudio files audio/x-pn-realaudio where
0342  the pn stands for Progressive Networks the old name of the company.
0343 
0344  . M3U
0345  
0346  This next one is the MPEG Layer 3 URL Metafile that has been around
0347  for a very long time as a playlist format for MP3 players. It supported
0348  URLs pretty early on by some players and got the mime type 
0349  audio/x-mpegurl and is now used by Icecast and many destination sites
0350  such as MP3.com. The format is exactly the same as that of the RAM
0351  file, just a list of urls that are separated by line feeds.
0352 
0353  . PLS
0354  
0355  This is the playlist files used by Nullsoft's Winamp MP3 Player. Later
0356  on it got more widely used by Nullsoft's Shoutcast and has the mime
0357  type of audio/x-scpls with the extension .pls. Before shoutcast the
0358  mimetype was simply audio/x-pls. As you can see in the example below
0359  it looks very much like a standard windows INI file format.
0360 
0361  Example:
0362         [playlist]
0363         numberofentries=2
0364         File1=<uri>
0365         Title1=<title>
0366         Length1=<length or -1>
0367         File2=<uri>
0368         Title2=<title>
0369         Length2=<length or -1>
0370 
0371  . SDP 
0372  
0373  This is the Session Description Protocol [RFC2327] which is heavily
0374  used within RTSP and is a standard way of describing how to subscribe
0375  to a particular RTP stream. The mime type is application/sdp with the
0376  extension .sdp . 
0377 
0378  Sometimes you might see RTSL (Real-Time Streaming Language) floating 
0379  around. This was an old Real Networks format that has been succeeded 
0380  by SDP. It's mimetype was application/x-rtsl with the extension of .rtsl
0381  
0382  . ASX
0383  
0384  Is a Windows Media Metafile format [MSASX] that is based on early XML
0385  standards. It can be found with many extensions such as .wvx, .wax 
0386  and .asx. I am not aware of a mime type for this format.
0387  
0388  . SMIL
0389 
0390  Is the Synchronized Multimedia Integration Language [SMIL20] that
0391  is now a W3C Recommendation [W3SYMM]. It was originally developed
0392  by Real Networks to provide an HTML-like language to their Real Player
0393  that was more focused on multimedia. The mime type is application/smil
0394  with the extensions of either .smil or .smi
0395 
0396  . MHEG
0397 
0398  Is a hypertext language developed by the ISO group. [MHEG1] [MHEG5] 
0399  and [MHEG5COR]. It has been adopted by the Digital Audio Visual
0400  Council [DAVIC]. It is more used for teleconferencing, broadcasting
0401  and television, but close enough related that it receives a mention
0402  here. The mime type is application/x-mheg with the extension of
0403  .mheg
0404 
0405  8. Configuring Apache HTTPD specificly to serve large Audio Files
0406 
0407  Some of the most common things that you will need to adjust to be
0408  able to serve many large audio files via the Apache HTTPD Server.
0409  Because of the difference in size between HTML files and Audio files,
0410  the MaxClients will need to be adjusted appropriatedly depending on
0411  the amount of time listeners end up tieing up a process. If you are
0412  serving high quality MP3 files at 128kbps for example you should
0413  expect more than 5 minute download times for most people.
0414 
0415  This will significantly impact your webserver since this means that
0416  that process is occupied for the entire time. Because of this you
0417  will also want to in crease the TimeOut Directive to a higher 
0418  number. This is to ensure that connections do not get disconnected
0419  half way through a transfer and having that person hit "reload"
0420  and connect again.
0421 
0422  Because of the amount of time the downloads tie up the processes
0423  of the server, the smallest footprint of the server in memory would
0424  be recommended because that would mean you could run more processes
0425  on the machine.
0426 
0427  After that normal performance tweaks such as max file descriptor
0428  changes and longer tcp listen queues apply.
0429 
0430  9. Icecast/Shoutcast Protocol.
0431 
0432  Both protocols are very tightly based on HTTP/1.0. The main difference
0433  is a group of new headers such as the icy headers by Shoutcast and the
0434  new x-audiocast headers provided by Icecast.
0435 
0436  A typical shoutcast request from the client.
0437 
0438  GET / HTTP/1.0
0439 
0440  ICY 200 OK
0441  icy-notice1:<BR>This stream requires <a href="http://www.winamp.com/">
0442              Winamp</a><BR>
0443  icy-notice2:SHOUTcast Distributed Network Audio Server/posix v1.0b<BR>
0444  icy-name: Great Songs
0445  icy-genre: Jazz
0446  icy-url: http://shout.serv.dom/
0447  icy-pub: 1
0448  icy-br: 24
0449   
0450  <data><songtitle><data>
0451 
0452  The icy headers display the song title and other formation including if
0453  this stream is public and what the bitrate is.
0454 
0455  A typical icecast request from the client.
0456 
0457  GET / HTTP/1.0
0458  Host: icecast.serv.dom
0459  x-audiocast-udpport: 6000
0460  Icy-MetaData: 0
0461  Accept: */*
0462 
0463  HTTP/1.0 200 OK
0464  Server: Icecast/VERSION
0465  Content-Type: audio/mpeg
0466  x-audiocast-name: Great Songs
0467  x-audiocast-genre: Jazz
0468  x-audiocast-url: http://icecast.serv.dom/
0469  x-audiocast-streamid:
0470  x-audiocast-public: 0
0471  x-audiocast-bitrate: 24
0472  x-audiocast-description: served by Icecast 
0473 
0474  <data>
0475 
0476  NOTE: I am mixing the headers of the controlling client with those form
0477        a listening client. This might be better explained at a latter
0478        date.
0479  
0480  The CPAN Perl Package Apache::MP3 by Lincoln Stein implements a little of
0481  each which works because MP3 players tend to support both.
0482 
0483  One of the big differences in implementations between the listening clients 
0484  is that Icecast uses an out of band UDP channel to update metadata
0485  while the Shoutcast server gets it meta data from the client embedded within
0486  the MP3 stream. The general meta data for the stream is set up via the
0487  icy and x-audiocast HTTP headers.
0488 
0489  Although the MP3 standard documents were written for interrupted communication
0490  it is not very specific on that. So although it doesn't state that there is
0491  anything wrong with embedding garbage between MPEG frames the players that
0492  do not understand it might make a noisy bleep and chirps because of it.
0493 
0494 References and Further Reading:
0495 
0496 [DAVIC]
0497        Digital Audio Visual Council 
0498        <http://www.davic.org/>
0499 
0500 [FLASH4AUDIO]
0501        L. J. Lotus, "Flash 4: Audio Options", ZD, Inc. 2000.
0502        <http://www.zdnet.com/devhead/stories/articles/0,4413,2580376,00.html>
0503 
0504 [HTML4]
0505        D. Ragget, A. Le Hors, I. Jacobs, "HTML 4.01 Specification", W3C
0506        Recommendation, December, 1999.
0507        <http://www.w3.org/TR/html401/>
0508 
0509 [IANA]
0510         Internet Assigned Numbers Authority.
0511         <http:/www.iana.org/>
0512 
0513 [ICECAST]
0514         Icecast Open Source Streaming Audio System.
0515         <http://www.icecast.org/>
0516 
0517 [IETFAVT]
0518         Audio/Video Transport WG, Internet Engineering Task Force.
0519         <http://www.ietf.org/html.charters/avt-charter.html>
0520 
0521 [IETFMMUSIC]
0522        Multiparty Multimedia Session Control WG, Internet Engineering Task
0523        Force. <http://www.ietf.org/html.charters/mmusic-charter.html>
0524 
0525 [IETFSIP]
0526        Session Initiation Protocol WG, Internet Engineering Task Force.
0527        <http://www.ietf.org/html.charters/sip-charter.html>
0528 
0529 [IPMULTICAST]
0530        Transmit information to a group of recipients via a single transmission
0531        by the source, in contrast to unicast.
0532        IP Multicast Initiative
0533        <http://www.ipmulticast.com/>
0534 
0535 [MIDISPEC]
0536        The International MIDI Association,"MIDI File Format Spec 1.1",
0537        <http://www.vanZoest.com/sander/apachecon/2001/midispec.html>
0538 
0539 [MHEG1]
0540        ISO/IEC, "Information Technology - Coding of Multimedia and Hypermedia
0541        Information - Part 1: MHEG Object Representation, Base Notation (ASN.1)"; 
0542        Draft International Standard ISO 13522-1;1997;
0543        <http://www.ansi.org/>
0544        <http://www.iso.ch/cate/d22153.html>
0545 
0546 [MHEG5]
0547        ISO/IEC, "Information Technology - Coding of Multimedia and Hypermedia
0548        Information  - Part 5: Support for Base-Level Interactive Applications";
0549        Draft International Standard ISO 13522-5:1997;
0550        <http://www.ansi.org/>
0551        <http://www.iso.ch/cate/d26876.html>
0552 
0553 [MHEG5COR]
0554        Information Technology - Coding of Multimedia and Hypermedia Information
0555        - Part 5: Support for base-level interactive applications -
0556        - Technical Corrigendum 1; ISO/IEC 13552-5:1997/Cor.1:1999(E)
0557        <http://www.ansi.org/>
0558        <http://www.iso.ch/cate/d31582.html>
0559 
0560 [MSASX]
0561         Microsoft Corp. "All About Windows Media Metafiles". October 2000.
0562         <http://msdn.microsoft.com/workshop/imedia/windowsmedia/
0563          crcontent/asx.asp>
0564 
0565 [ORAMP3]
0566         S. Hacker; MP3: The Definitive Guide; O'Reilly and Associates, Inc.
0567         March, 2000.
0568         <http://www.oreilly.com/catalog/mp3/>
0569 [RFC2045]
0570         N. Freed and N. Borenstein, "Multipurpose Internet Mail 
0571         Extensions (MIME) Part One: Format of Internet Message Bodies",
0572         RFC 2045, November 1996. <http://www.ietf.org/rfc/2045.txt>
0573 
0574 [RFC2327]
0575         M. Handley and V. Jacobson, "SDP: Session Description Protocol",
0576         RFC 2327, April 1998. <http://www.ietf.org/rfc/rfc2327.txt>
0577 
0578 [RFC3003] 
0579         M. Nilsson, "The audio/mpeg Media Type", RFC 3003, November 2000.
0580         <http://www.ietf.org/rfc/rfc3003.txt>
0581 
0582 [SHOUTCAST]
0583         Nullsoft Shoutcast MP3 Streaming Technology.
0584         <http://www.shoutcast.com/>
0585 
0586 [SMIL20]
0587         L. Rutledge, J. van Ossenbruggen, L. Hardman, D. Bulterman,
0588         "Anticipating SMIL 2.0: The Developing Cooperative Infrastructure 
0589         for Multimedia on the Web"; 8th International WWW Conference, 
0590         Proc. May, 1999.
0591         <http://www8.org/w8-papers/3c-hypermedia-video/anticipating/
0592          anticipating.html>
0593 
0594 [W39CIR]  
0595         V. Krishnan and S. G. Chang, "Customized Internet Radio"; 9th
0596         International WWW Conference Proc. May 2000.
0597         <http://www9.org/w9cdrom/353/353.html>
0598 
0599 [VORBIS]
0600         Ogg Vorbis - Open Source Audio Codec
0601         <http://www.xiph.org/ogg/vorbis/>
0602 
0603 [W3SYMM] 
0604         W3C Synchronized Multimedia Activity (SYMM Working Group);
0605         <http://www.w3.org/AudioVideo/>