The streaming server requires that files are compressed and hinted. Uncompressed video is too bandwidth intensive to stream: Standard definition video would consume over 160 megabits per second for a single stream. As a result, all streaming video for the web is compressed and decompressed with a codec. QuickTime/Darwin streaming server support a variety of different video codecs, and three file formats for streaming video:
|
File Format:
|
Video Codecs Supported Include: |
|
.mov
|
Cinepak, H.261, H.263, MPEG-4 Video, Sorenson Video, Sorenson Video 3, Video |
|
.mp4
|
MPEG-4 Video |
|
.3gp
|
MPEG-4 Video |
Note: The codecs above are all built into QuickTime 6 or later. The QuickTime architecture is extensible, and other codecs are available. For example, the ZyGoDigital Pro codec and Streambox ACT-L2 codec both provide exceptional quality for streaming at low bit-rates.
While not as demanding as video, audio still benefits from compression for streaming. QuickTime/Darwin streaming server support a variety of different video codecs, and three file formats for streaming video:
|
File Format:
|
Audio Codecs Supported Include: |
|
.mov
|
IMA 4:1, MPEG-4 Audio (AAC Low Complexity), QDesign Music 2, Qualcomm PureVoice, uLaw 2:1 |
|
.mp4
|
MPEG-4 Video (AAC Low Complexity) |
|
.3gp
|
AMR-NB (Speech), AAC Low Complexity |
All of the file formats must be hinted for streaming. The hint track is a special track of control data in a streaming movie. It is used by the streaming server to optimize delivery of the media and is never sent over the network during streaming.
The basic workflow for compressing and hinting media is:
Notes:
These step-by-step instructions for compressing in MPEG-4 format with Apple QuickTime Pro demonstrate "Compression for Delivery" in the workflow outlined above (see Tools below for more information on QuickTime Pro and other compression tools). This tutorial assumes that you have a high quality "archival" source file to begin with, that we are exporting for newer systems that can play back MPEG-4, and that clients will be connecting at 512 kbits/second or higher.








Following the procedure above, we can create compressed versions of the file for streaming to a variety of connection types. These movies would then be placed on the streaming server as described in Posting Files to Your Streaming Server.
↑ Using MakeRefMovie
It is often desirable to post a single movie on your web site that will playback a different media file based on the client's connection speed, processor speed, QuickTime version, platform, the user's language preference, etc. Apple provides MakeRefMovie, a free tool for creating reference movies that accomplish this task. A reference movie contains no media: It references media in other files or even on other servers. Based on the settings you provide, clients will load a specific piece of media from a specific server. Versions of the application are also available for Windows systems. Reference Movies can also be created from the command-line with the free tool XMLtoRefMovie (the command-line method is useful in building automated workflows).
The step-by-step procedure below was performed on Mac OS X with MakeRefMovie X. This simple example assumes that we are targeting three different connection speeds.






| Tool Name | Description | URL Link |
| QuickTime Pro | The "Pro" version of QuickTime (Macintosh and Windows) is available from Apple for $29.95. It also is available with the excellent book, QuickTime for the Web (highly recommended). QuickTime Pro can compress media in any of the formats listed above. On Macintosh systems, compression workflow can be automated with Applescript. | |
| MakeRefMovie MakeRefMovie X |
MakeRefMovie is a free, cross-platform utility from Apple to create reference movies. Reference movies provide a handy way to redirect clients to the appropriate stream based on their Internet connection and processor speed. | |
| Apple Compressor | Apple's Compressor comes bundles with DVD Studio Pro and Final Cut Pro (Mac OS X only). It is a professional level compression tool that supports batch compression, image processing, and live preview. | |
| Totally Hip HipFlics | HipFlics is an inexpensive graphical tool for video streaming compression (Macintosh and Windows). It provides batch compression and unique features such as the ability to change the data-rate over the course of a movie. | |
| Sorenson Squeeze for QuickTime Sorenson Squeeze for MPEG-4 |
Squeeze is suite of tools for video compression (Macintosh and Windows). It provides batch compression, direct input from DV sources or compression of individual media files. | |
| Popwire Compression Master, Compression Engine and Cluster Framework | Popwire's compression tools provide powerful capabilities for professional, high volume encoding (Mac OS X, Linux and Solaris). Compression Master is a graphical tool for creating compression settings and batch compression (MPEG-4, MPEG-2 and Real codecs). Compression Engine is a server-based tool that provides automatic compression and routing of compressed media. The Cluster Framework provides distributed compression across systems to speed up the workflow process. | |
| Discreet Cleaner 6 Discreet Cleaner XL |
Discreet's Cleaner products provide professional compression and workflow. They support a wide range of media formats including QuickTime, Windows Media and Real. Cleaner will automatically generate reference movies and web page templates. Discreet's Event Stream technology provides sophisticated abilities to add special features such as URL flips to streaming media. | |
| Canopus Procoder | Canopus Procoder is a professional level tool for media compression and workflow (Windows Only). It suppports a wide range of formats, but does not support MPEG-4. | |
| Dicas mpegable X4 | Dicas mpegable X4 (Windows only) provides MPEG-4 and 3G encoding. | |
| mpeg4ip | mpeg4ip is an Open Source set of tools for MPEG-4 compression and playback (primarily Linux with Windows, Solaris, FreeBSD, BSD/OS and Mac OS X binaries). | |
| Streambox Codecs | The Streambox ACT-L2 and ACT-L3 codecs provide QuickTime with alternatives to the built-in QuickTime codecs. They are engineered to deliver higher quality at lower bit-rates than MPEG-4 or MPEG-2. | |
| ZyGoDigital Codecs | The ZyGoVideoPro codecs are optimized to deliver high quality at lower bit-rates. Video compressed with ZyGo Digital's codecs compares favorably against video compressed with other codecs at lower bit-rates. |