Streaming Video Tips
Streaming Video Players & Servers
Streaming Video provides a key benefit, namely that you can begin watching a video or animation seconds after clicking a link rather than waiting for the whole file to download first. This is a huge benefit when you're dealing with files 30 MB in size as many of our scientific animations are.
Instead of putting your video on your web server, you put it on a streaming media server and link to it via a special URL. However, before you do that, you need to encode your video for streaming.
The article Streaming Video for the Masses at Webmonkey.com is an excellent introduction to streaming video formats if you want to find out more about streaming.
UCAR Streaming Media Server
The Web Engineering Group (WEG) provides a streaming media service which is powered by the Real Helix server. This enterprise-grade software supports streaming video and audio in QuickTime, Real and Windows Media Player formats. For more information on this service, see the WEG website.
Players, Platforms and Formats
VETS has chosen to support QuickTime and Real streaming formats and MPEG-1 downloads. Here's why:
QuickTime and Real players are on par in terms of quality, with Real producing smoother video and sharper imagery at lower bandwidths. QuickTime 6 now supports MPEG-4 which brings the players very close in performance.
QuickTime is available for Mac OS and Windows 95 to XP. The QuickTime player comes standard on Macs but does not come standard on Windows. Amazingly, the Real player does come standard on Windows. So to support our Windows users, we support Real. To support our Mac users, we support QuickTime. Windows Media Player enjoys a large installed base since it comes standard on Windows, but presents workflow problems with our automation solution (Discreet Cleaner) so we are not currently supporting it.
In order to meet the needs of our UNIX users, we offer MPEG-1 downloads since QuickTime is not available for UNIX, and Real seems to have stopped updating the UNIX version of its player. It is still possible to view QuickTime and Real streams on UNIX machines, particularly Linux running on Intel processors using a variety of third-party software options. We look forward to good free MPEG-4 players like Xine enjoying a larger installed base on UNIX so we can move to the MPEG-4 format and give our UNIX users the benefits of streaming and a higher quality codec. See the list of recommended MPEG players for UNIX.
Converting MPEGs to QuickTime and RealVideo
We use two methods to do this with similiar results. One is to open the MPEG with QuickTime Player and use the Export command in the File menu to select a QuickTime codec and convert the file into a QuickTime movie. Similiarly, one can purchase authoring software from Real Networks or numerous other vendors. The other method is to use Discreet Cleaner, a product that automates movie format conversion to and from all the popular formats. If you are going to be converting a large number of movies into several formats, Cleaner is the preferred tool, since it supports RealVideo, QuickTime, and MPEG formats and provides time saving batch conversions. Cleaner is available for Mac OS and Windows. Be advised that the Mac OS X version of Cleaner does not currently support encoding in Real format. You need to run in Classic mode to encode Real.
Discreet Cleaner recommends the following frame and data rate constraints which I have used to generate files that will give you a sense of the quality loss at lower bandwidths. Unfortunately, there is enough loss at 56kbps modem rates that you may need to consider progressive download rather than streaming for 56k QuickTime 5 users. Real Player does a better job at lower bandwidths and is satisfactory even at 56kbps.
All of the QuickTime movies use the Sorenson 3 codec, which is recommended until QuickTime 6 has a larger installed base, at which time, MPEG-4 will likely become the preferred format.
Click an icon to see the animation in that format and bandwidth. These links are being served by the UCAR Streaming Media Server. If you don't have QuickTime and Real Player installed, you'll need to do that. If you have one of those players installed and these links still don't work, you may need to install a newer version of the player.
In addition, I have created a 15 minute movie that combines many of our animations so that we can perform load testing on the streaming servers by running the movie from numerous computers simultaneously.
Linking to Files on the Streaming Server
RealVideo files are saved with a .rm extension. An optional .ram text file simply contains the absolute URL to the .rm file. When linking to your streaming movie, it is simplest to create an HTTP link to the .rm file residing on the RealVideo Server.
FTP content to: ftp://web.ucar.edu/web/streaming/[your directory]/
Use this URL along with the path to your file:
QuickTime movies are saved with a .mov file extension by default by most applications.
QuickTime is not as straightforward as RealVideo for linking to the movie file. However it provides the flexibillity of creating movies of varying dimensions for different bandwidths. It is necessary to create a reference movie in addition to the streaming movie. You can use a utility called MakeRefMovie, available for free from Apple, to do this. Discreet Cleaner can automatically create a reference movie for all the QuickTime alternates you create for a movie. See QuickTime Alternates in the Cleaner manual for details.
The reference movie holds the URL to the streaming movie, the bandwidth required, and several optional parameters. One reference movie can be created to point to all the files you have created for different bandwidths. The QuickTime Player will choose the correct movie based on the user's bandwidth preference setting.
FTP content to: ftp://web.ucar.edu/web/streaming/[your directory]/
Use this URL along with the path to your file when adding a URL in MakeRefMovie:
Save the reference movie on your web server rather than the streaming server and create an HTTP link to the reference movie from your HTML page.
When the user clicks on your QuickTime movie link, the reference movie will download via your HTTP server, the browser will open QuickTime, and QuickTime will then open the appropriate RTSP URL for the bandwidth selected in the user's QuickTime preferences.
Real Networks RealVideo
RealVideo files are played using the Real One Player, which is available for purchase and also for free. When you install the player, you are asked to choose between a trial of the purchase version or the free version. RealVideo uses its own proprietary codec and provides excellent playback quality. It also provides some conveniences for streaming media authors. Using the SureStream feature, you can save several streams for different bandwidths into a single file. The server then provides the appropriate stream to the player based on its bandwidth preference. It can even step down to a lower bandwidth in mid-stream if network congestion is encountered.
RealVideo files are saved with a .rm extension. You link directly to the file via an HTTP URL. Although not necessary, you can also save a .ram text file which simply contains the absolute URL to the .rm file.
Real Networks makes their own authoring tools which I did not purchase and test. Instead, I am using Discreet Cleaner which supports the full feature set of RealVideo authoring options.
The Future: MPEG-4
MPEG-4 promises to be a widespread video streaming standard. It is built on the QuickTime architecture and file format for integrating numerous media tracks which bodes well for QuickTime. Apple has released a preview of QuickTime 6 which supports MPEG-4. Real Networks and Sorenson are both working on MPEG-4 codec support in their products. It's worth noting that Real's current support of MPEG-1 in their Real One Player through a codec plug-in is hideously bad for multi-megabyte files. Playback is very choppy. Hopefully, their support of MPEG-4 will be a better implementation.
Microsoft, as usual isn't playing nice when it comes to industry standards. WMP uses an early development version of MPEG-4 as it's codec, but now that MPEG-4 is a finished standard, Microsoft has not committed to supporting the final standard. What this means is that WMP may not be able to play files saved in MPEG-4 format. So Real Player will most likely continue to be an important format for us to support for Windows users.
MPEG-4 is not ready for prime time however. Until more authoring applications and players provide MPEG-4 support, we'll just have to wait for the promise of this more unified standard file format and encoding mechanism for streaming video. Even after the release of new players, we'll still need to deal with legacy players for awhile.
It is best to stay away from MPEG-2 format unless you are developing a DVD (which requires the use of MPEG-2). QuickTime 6 does not support MPEG-2 without the purhase of an additional codec (an annoying decision on Apple's part). We have also received reports that Windows Media Player doesn't play MPEG-2s at all on some machines. The conjecture is that unless the machine has a DVD player, then WMP will not recognize the MPEG-2 format.
Author: Markus Stobbs