Searching for an Ideal High-definition Video Streaming Technology

Edgar Huang, Ph.D. School of Informatics
Clifford C. Marsiglio, Testing Center
Indiana University–Purdue University Indianapolis

QuickTime High-definition Streaming Video Tutorial

In this tutorial, the terms "movie" and "video" are equivalent.

ENCODING

1. Importing

The best tool for encoding a QuickTime HD streaming video is QuickTime Pro. It costs $29.99. QuickTime Pro is available both for Mac and PC. If QuickTime Pro is already installed on your computer, you only need to double-click the target file, and it will open automatically in QuickTime Pro no matter whether it is an MOV file or an AVI file unless you intentionally designated all media file for another program to open. The original video to be added can be in many popular formats, such as AVI, MOV (non-streaming version) or MP4. In order to achieve the best encoding result, always try to encode the original video output in AVI or MOV format with a large file size.

2. Exporting

Go File > Export. Type name_4000 for Save As and create a new folder for this video to be exported. By the way, it is a convention among streaming video professionals to name streaming videos for different Internet connection speeds this way. In the United States, as of 2007, the average broadband connection speed was 4.8Mbps. Many families should have no problem watching at home, let alone at work/school, an HD streaming video encoded at the 4000Kbps level. Therefore, we are going to encode the video at the 4000Kbps level. If you are a conservative person, try 2500. The image quality, however, will suffer.

For Export, choose Movie to QuickTime Movie. Click Options. Click Settings in Video. Keep the default compression type, H.264, because this codec generates high-quality videos with comparatively smaller file sizes. Keep Current for Frame Rate. Choose Automatic for Key Frames. For Encoding, choose Best Quality (Multi-pass). For Data rate, click Restrict to and type 4000. Choose Streaming for Optimized for. OK.

Check the information palette to make sure the dimension is your original dimension. If you have chosen a 720p HD video, you don't need to deinterlace the video since the file is already in the progressive format. If yours is a 1080i video, you do need to click Size now and check Deinterlace Source Video if you have not done deinterlacing in another program earlier yet.

Click Sound. Choose AAC for Format. For Rate, leave it on Recommended. Quality: Best. Target Bit Rate: 128. OK.

Make sure Prepare for Internet Streaming is checked, and choose Hinted Streaming. Click Settings by it. Check Optimize Hints For Server. By checking this option, you will create a much larger file size, but the streaming will come up much faster. OK. Click Save.

 

IMPLEMENTING TO SERVER

The encoded MOV file now needs to be FTPed to a QuickTime Streaming Server either hosted in-house or by a content delivery network (CDN). If you are not familiar with this process, talk to your server admin.

 

MAKING A REFERENCE MOVIE

The so-called QuickTime reference movie is actually a very short meta file that assigns a QuickTime movie with an appropriate data rate, if multiple bit rates are used for streaming one video, for the user's Internet connection speed. Another possibly serendipitous function of the reference movie is making sure that a QuickTime movie can be played in all Web browsers across operating systems, especially in Windows, even though you might have only one bit rate to stream. Therefore, it is recommended that a reference movie be used.

To create a QuickTime reference movie, you need MakeRefMovie. MakeRefMovie is available for free both for Mac and PC users. After you have created a reference movie, you can open the movie file in TextEdit on a Mac or Notepad on a PC.

Launch MakeRefMovie either on a Mac or on a PC. Save the file with a name you desire ideally under the same folder that holds the streaming video file. Instead of adding a movie file, you need to add the streaming server link so that the file can be directly called from the server. Go Movies menu > Add URL. The URL looks something like

rtsp://qtss.indiana.edu/ip/nmstream/qt/nz_4000.mov

What does this link mean?

Click Add.

Since you have added movies from a remote server, you can't see the video image in this reference movie. Let's assign the following values to the reference movie file:

Save the file. Quit MakeRefMovie. You can use TextEdit on a Mac or Notepad on a PC to view this file. It should look something like the picture below.

 

WEB AUTHORING

A QuickTime HD video can be embedded in a Web browser. To learn how to embed a QuickTime video, go to the on-demand tutorial page. One problem with embedding an HD QuickTime video is that the user will be deprived of the right to view full-screen video. Therefore, this tutorial teaches an approach to use an image link to trigger an external QuickTime Player to play the HD video.

First, you need to produce a small photo, probably a small screen capture of your video. In the following example, it is nz.png, which is 72 by 80 pixels. The reference movie to be used is called nz4000ref.mov.

Insert the following code into your Web page after you have replaced the file names to your own:

 <object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="72" height="80" 
    codebase="http://www.apple.com/qtactivex/qtplugin.cab">
 <param name="src" value="nz.png">
 <param name="href" value="nz4000ref.mov">
 <param name="type" value="video/quicktime">
 <param name="target" value="quicktimeplayer">


 <embed src="nz.png" href="nz4000ref.mov target=quicktimeplayer 
 type="video/quicktime" width"72 height="80" autoplay="true" controller="true 
 pluginspage="http://www.apple.com/quicktime/download/">
 </embed></object>

The object line contains the ClassID used by the Quicktime Player, the codebase that instructs the browser where to find the plug-in if it was not installed, and the dimensions of the video. In this code, the video is replaced with a small photo.

The next line, the Source Parameter tells your browser where to find the video, which has been replaced with the photo nz.png. The HREF parameter links the photo to the reference movie. The Type parameter tells what kind of movie this is. The Target parameter designates an external QuickTime Player as the media player for this movie. Inside the Embed tag, Autoplay is set to start the video automatically and we are asking that the controller be shown.

Within the Object code, the Embed code is nested. It uses most of the same parameters put together in a slightly different manner along with a "Pluginspage" parameter that takes the user to a slightly more universal download section if the plug-in does not exist. Instead of pointing solely at an ActiveX control that works on a single platform family, one should be able to find the download for different operating systems and browsing platforms.

The Embed is closed and so is the Object, completing this tutorial. Drop this code into the body of your HTML file.

If you open this HTML in Dreamweaver, chances are it will warn you that this page may not play properly in the latest version of Internet Exploror. Ignore the warning and don't let Dreamweaver add any more script to the file, or the movie won't play in the latest Internet Explorer. Why? Because the embedded video in our case is a photo, not a real video.

Now, you need to FTP the HTML file, the image file, and the reference movie file to your Web server. You should be able to play an HD Quicktime video in an external QuickTime Player. Click Comm+ F to toggle between full screen and regular view.

Watch a sample video.

NEXT: DivX