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/>