notes on Streaming Media * wikipedia http://en.wikipedia.org/wiki/Streaming_media * Tricky stuff - lots of pieces; more than a fair amount of technical savy to set up, needs a big bandwidth anyway... ------------------------------------------------------- audio : Vermont Public Radio (http://www.vpr.net/listen.shtml) has a link to http://www.npr.org/news2a.ram that .ram file is only one line : pnm://216.35.221.79/news.db.rm which is handed off to the RealPlayer client, which opens a port to using that new protocol, and starts grabbing the "stream". running last night at 3am, I was getting a reasonable playback at 16Kbps "systems" RealNetworks' RealSystem Apple's QuickTime Microsoft's WindowsMedia Icecast SHOUTcast VideoLAN "protocols" RTSP (control of stream; port 554 by default ) PNM (older streaming control; port 7070 by default) RTP (streaming : stop, start, rewind, ...) MMS (Microsoft, I think) "description formats" SDP SMIL RAM Typical model : client ----------------- | browser |-------- web server (http://.... on port 80) | | | player |----------- media server (some other port) ----------------- -------------------------------------------------------- video The embedded tags can be like the sound ones we saw before. Here's a quickTime example: KillBill trailer at http://www.apple.com/trailers/miramax/kill_bill/volume_II/ Link that you click on points at killbill2_med.html which contains (among other stuff) ... Here the tag embeds a plug in, which goes and fetches the .mov file. OR http://movies.guide.real.com/movielink/ has links to pages like http://real.movielink.com/m830287.smil which contains the following text Then the player sends "control" commands on the rtsp port, and the actual data is over RTP which uses UDP rather than TCP. A typical RTSP dialog : client: SETUP rtsp://audio.example.com/twister/audio RTSP/1.0 Cseq: 1 Transport: rtp/udp; compression; port 3056; mode=PLAY server: RTSP/1.0 200 OK Cseq: 1 Session: 4231 client: PLAY rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Range: npt=0- Cseq: 2 Session: 4231 server: RTSP/1.0 200 OK Cseq: 2 Session: 4231 client: PAUSE rtsp://audio.example.com/twister/audio.en/lofi RTSP/1.0 Range: npt=37 Cseq: 3 Session: 4231 server: RTSP/1.0 etc but 300Kbps wasn't enough to keep up last night... ----------------------------------------------------------- discuss TCP vs UDP differences, pros and cons discuss peer2peer ?