OLD
Streaming with QuickTime
Serving
Streaming QuickTime can be done with both the QuickTime Streaming Server (commercial, Mac only) or the Darwin Streaming Server (open source, Mac, Linux and Windows). They are very similar products varying only in some extra options and user interface components.
We have a QuickTime Streaming Server installed and
information about it can be found on our wiki.
Encoding/Broadcasting
There are a myriad of encoders that can be used for both streaming and compression with QuickTime. For now we will focus on QuickTime Broadcaster. Unfortunately, QuickTime Broadcaster while free is a Mac only program. We have it installed on the
streaming kit available in the ER if you want to check it out.
Using QuickTime Broadcaster
Once you have gone through the audio, video and network settings and broadcasting seems to be working you then have to go through the following steps in order to share the live video.
First you have to create a
Reference Movie. Reference movies are generally movie files that only contain a link to the live stream. The easiest way to create a reference movie is to open the live stream URL in QuickTime Pro (the URL should take the form:
rtsp://hostname:portnumber/stream.sdp) and to
Save As a Reference Movie. This reference movie can then be uploaded to a standard webserver and used in an embedded player or as a direct link.
For a live stream, the server sends an
SDP (Session Description Protocol)
to the player which then starts requesting the live stream. This is a standard
way of doing things in the MPEG-4/RTSP world.
For more information:
QuickTime Broadcaster
Session Description Protocol RFC
QuickTime - Delivering Live Streaming Media
QuickTime Pro
The QuickTime swiss army knife. Great for compressing for on-demand
files and translating files for use on or off a QuickTime Streaming Server.
For use on a streaming server, you need to export as a
hinted file.
For use on a web page it is a good idea to use
fast start so that
the file can be played while downloading.
Embedding
Embedding a live stream on a page once you have the reference movie is the same as embedding any other QuickTime content. You use the following tags changing the "src" to be the reference movie:
<OBJECT CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" WIDTH="320" HEIGHT="240" CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab">
<PARAM name="SRC" VALUE="http://server.name/reference_movie.mov" />
<PARAM name="AUTOPLAY" VALUE="true" />
<PARAM name="CONTROLLER" VALUE="true" />
<EMBED SRC="http://server.name/reference_movie.mov" WIDTH="320" HEIGHT="240" AUTOPLAY="true" CONTROLLER="true" PLUGINSPAGE="http://www.apple.com/quicktime/download/">
</EMBED>
</OBJECT>
(Be careful of line breaks, only new tags should be on new lines.)
Another way of embedding or
Apple's way.
Streaming with Flash
Flash Streaming has come a long way recently. It supports the (almost) standard H.264 codec which in combination with it's near ubiquitous installed base makes it a great choice for live streaming. Unfortunately, Flash doesn't do everything in standard way, it has introduced it's own transport protocol (instead of using RTSP) and therefore has it's own Flash Media Server to do live streams.
We have a Flash Streaming Server setup and information about it can be
found on our wiki.
Encoding/Broadcasting
One of the great things about streaming with Flash is that you don't nessecarily need a dedicated piece of software to encode/broadcast (although to get the highest quality with the latest codecs you do,
Flash Media Live Encoder (windows only)).
Here is a very straight forward encoder/broadcaster built in flash that works through a browser:
Flash Broadcaster. It is built off of this example:
Building a Broadcaster and a Receiver in Flash (with the Flash Communication Server). The settings you need can be
found on our wiki.
Player
To receive a live stream you need a Flash video player (built in Flash). Here is a quick example that you can pass in the address and name of the stream into:
Flash Video Player
Download the Flash Project for the Player
Flash Media Encoder
Adobe also has a piece of software called
Flash Media Encoder which can stream live to the Flash Media Server. Unfortunately it is Windows only so we won't be going over it in class but if you have a Windows machine, give it a shot (you will get the highest quality)..
Further Reference:
Building a Broadcaster and a Receiver in Flash (with the Flash Communication Server).
Encoding Best Practices for Live Video
Flash Video | Optimizations and Tools
The Leonard Lopate Show: Why Videocommunication Didn't Catch On - Jaron Lanier -July 25th 2006