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 ?