Streaming (QuickTime)

From DreamHost
Jump to: navigation, search

QuickTime, the basis for Apple Computer's multimedia system, is in widespread use in both professional and consumer applications. As of March, 2007, we currently support QuickTime 7 via Darwin Streaming Server version 5.5.

DreamHost does not support live broadcasting of audio or video content at this time. Streaming of QuickTime movie files (.mov) that have been properly prepared and "hinted" for streaming are supported.

From Apple's QuickTime information:
"QuickTime is a cross platform system-level software package for Macintosh, Windows and Java which adds the capability to play movies, synthesize music, display animations, view virtual reality worlds and add multimedia capability to the computer desktop. QuickTime is implemented as a set of extensions on the Macintosh platform and a dynamic-link library (DLL) on Windows. It can process video data, still images, animated images (also known as sprites), vector graphics, multiple sound channels, MIDI music, 3D objects, virtual reality objects, panoramas and text. The number of data formats QuickTime recognizes is impressive. Currently, more than 70 different formats can be imported or exported and as formats are added, applications created today will work with them automatically."


Contents

How do I add QuickTime Streaming Service to my account?

You can add QuickTime streaming service to any DreamHost account with at least one active fully hosted domain and user account. You can add a new streaming service or view existing streaming services at the Media Streaming area under the Goodies tab on the DreamHost account control panel.

Adding streaming service can be done in just a few easy steps:

  1. Click 'Add a New QuickTime Streaming Service' to begin.
  2. Choose a subdomain to represent your new streaming service. 'streaming.domain.com' has already been selected for you and will work great for most uses. Click the "Continue..." button to continue.
  3. You will be asked to confirm your choice. Click "Add Quicktime Streaming Service Now!" and you've committed your choice to our system!
  4. Voila! Your new service has been set up. The changes will be put into effect on our servers in a short while (about 15 minutes to an hour) and the DNS for your new sub-domain that streams the movies will take up to a couple of days to propagate everywhere.

How much does QuickTime Streaming cost?

It is included with all of our hosting plans!

Remember that bandwidth used by the quicktime stream counts towards your total!

Accessing your QuickTime Streaming server.

You can access your QuickTime movie files from any QuickTime player at this URL:

rtsp://your_streaming_subdomain.com:554/your_streaming_subdomain.com/movie.mov

The right location to upload files so that they can be streamed is:

/home/user/your_streaming_subdomain.com/movie.mov

To see the correct values for YOUR specific QuickTime Streaming Service, just go to the Goodies -> Media Streaming area of our web panel.

To allow a visitor to your site to launch the Quicktime Player from your page, you should create a "poster movie" with the method described on Apple's site. Then, upload your "poster movie" file to wherever you want on your web site (not your streaming server directory!) and use HTML code similar to this to embed it the streaming movie in your web page:

<embed src="poster.mov" 
href="rtsp://your_streaming_subdomain.com:554/your_streaming_subdomain.com/movie.mov" 
width="200" height="240" target="quicktimeplayer">

You can also use a similar method to have the movie play directly in the web page like this:

<embed src="poster.mov" 
href="rtsp://your_streaming_subdomain.com:554/your_streaming_subdomain.com/movie.mov" 
width="200" height="240" target="myself">

Apple has more infos on the embed-tag, however note that these methods will only work with Netscape and compatible browsers. Internet Explorer requires the use of an Object tag to work. Check this kbase article for more information on that and here is an html snippet that incorporates both the embed tag and the object tag to have your quicktime movie play right in your web page in all browsers:

<OBJECT CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" 
    WIDTH="320" 
    HEIGHT="240"
    CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab">
<PARAM name="SRC" VALUE="poster.mov">
<PARAM name="QTSRC" VALUE="rtsp://your_streaming_subdomain.com:554/your_streaming_subdomain.com/movie.mov">
<PARAM name="AUTOPLAY" VALUE="true">
<PARAM name="CONTROLLER" VALUE="false">
    <embed src="poster.mov"
    qtsrc="rtsp://your_streaming_subdomain.com:554/your_streaming_subdomain.com/movie.mov" 
    width="320" height="240" target="myself" controller="false" autoplay="true">
    </embed>
</OBJECT>

Homie Cluster Streaming

On the Homie server cluster the streaming is hosted from each web server instead of a central server. Because of that it is necessary to specify the port number of the streaming server (port 554) when you enter the rtsp:// url.

rtsp://your_streaming_subdomain.com:554/your_streaming_subdomain.com/movie.mov

Without that port number it will use the default Apache server port 80 and you will receive a 404 error in QuickTime.

To figure out if you are on this cluster click the Account Status link at the top right corner of your Dreamhost panel. If your "Your Email Server:" setting shows "homie" then you need to add the port numbers. It shouldn't hurt to add the port numbers even if you aren't on this cluster.

You MUST Enable Hinting!

If your movie does not play even though you uploaded it correctly, it might mean that you didn't enable hinting when you encoded it. You'll need to re-encode your movie using a program such as Quicktime Pro, and tell it to enable hinting for internet streaming. For more details on this, check out this tutorial: http://soundscreen.com/streaming/compress_hint.html

Supporting ActiveX for Certain Browsers

Windows Internet Explorer 5.5 SP2 and 6.0 with QuickTime

IMPORTANT INFORMATION FOR WEB DEVELOPERS & WEBMASTERS

Microsoft Internet Explorer for Windows, versions 5.5 SP2 and 6.0 no longer support Netscape-style plug-ins, such as the plug-in installed as part of QuickTime 5.0.2 and earlier versions. Consequently, Windows customers using these versions of Explorer who visit your site may be unable to view QuickTime content in the browser. To mitigate this problem and to ensure a positive experience for your Web site visitors, you should add to your site the HTML code that makes available the new ActiveX control for QuickTime, as described below.


NOTE: THIS ISSUE AFFECTS ONLY USERS OF INTERNET EXPLORER ON WINDOWS.

Background

QuickTime uses a plug-in mechanism to display movies from your Web page in the user's browser. Before, you would use an EMBED element alone to display QuickTime content within the browser, much like in the example below:

<EMBED src="sample.mov" width="160" height="144" autoplay="true" CONTROLLER="false" 
PLUGINSPAGE="http://www.apple.com/quicktime/download/"> </EMBED>

For this mechanism to work, the user must have the QuickTime plug-in installed on his or her system. If the appropriate QuickTime plug-in is not installed, when your HTML page with QuickTime content is loaded into the user's browser, the movie is not visible. Instead, the browser replaces it with a "broken plug-in icon" and attempts to assist the user in obtaining the required software. An unfortunate side effect of this approach is that the user is directed away from your site and is distracted by the installation process.


The Issue

Until recently, the plug-in installed as part of QuickTime worked for both Netscape browsers and Microsoft Internet Explorer on both Windows and Mac OS. Now Windows users who try to play a QuickTime movie in Internet Explorer version 5.5 SP2 or later will encounter the "broken plug-in icon" until they install the new QuickTime ActiveX control from Apple in addition to the QuickTime plug-in. Users of other browsers on either Windows or Mac OS are unaffected--they can continue to use the plug-in installed with QuickTime and do not need to get the new QuickTime ActiveX control.
Once users have the new ActiveX control installed, they are also unaffected; they can also view existing pages.


The Solution

When authoring web pages, you can easily prevent this problem by authoring your HTML to check that the required ActiveX control is installed wherever you have QuickTime content embedded. This HTML change will result in web pages compatible with Netscape and Internet Explorer browsers on both Mac and Windows systems (see below for more information).

The required code consists of an HTML OBJECT element with an enclosed EMBED element as in the following example:

<OBJECT CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="160" height="144"
CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab"> 
<param name="src" value="sample.mov">
<param name="autoplay" value="true">
<param name="controller" value="false">
    <embed src="sample.mov" width="160" height="144" autoplay="true"
        CONTROLLER="false" PLUGINSPAGE="http://www.apple.com/quicktime/download/">
    </EMBED>
</OBJECT> 

CLASSID must always equal clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B
CODEBASE must always equal http://www.apple.com/qtactivex/qtplugin.cab
PLUGINSPAGE must always equal http://www.apple.com/quicktime/download/

The other attributes should be customized to your web page. You need to substitute "sample.mov" (in both SRC attribute elements) with the URL of the actual movie to be played. You should also change the HEIGHT and WIDTH parameters to match the height and width of the movie (in pixels).

If you already have EMBED elements for the QuickTime plug-in on the relevant pages, you need to enclose each of them in an OBJECT element with CLASSID and CODEBASE parameter values as shown above and with SRC and other parameter values to match those in your existing EMBED element. The OBJECT element can use any EMBED attributes QuickTime understands. Visit http://www.apple.com/quicktime/tutorials/embed.html for more information.

For existing web pages, it may be sufficient to add such an OBJECT element to the "front door" page of your site. Once the OBJECT element on the "front door" page has caused the user to install the ActiveX control, all subsequent pages with the original EMBED elements will work properly. In cases where you cannot be certain that the "front door" page is always visited, then all your pages should be revised to use these OBJECT elements.


How It Works

The OBJECT element is used by Internet Explorer on Windows 9x/NT/2000/XP platforms and by other browsers that support the QuickTime ActiveX control. The enclosed EMBED element is used by Netscape browsers, Internet Explorer for the Mac, and other browsers that support the "Netscape style" QuickTime plug-in. Browsers that understand the OBJECT element ignore the EMBED element; those that don't understand the OBJECT element use the EMBED element.

Within the OBJECT element, the CLASSID parameter uniquely identifies which ActiveX control to use. A CLASSID parameter with the value "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" tells Internet Explorer to use the QuickTime ActiveX control. (You must use exactly this value; it is the only value that identifies the QuickTime ActiveX control). If the user does not already have the ActiveX control installed on his or her system, the CODEBASE parameter tells the browser where to find it for downloading. Internet Explorer will automatically offer to download and install the ActiveX control for the user, after which the movie can be played without restarting the browser, or, if QuickTime is not already installed, will prompt the user to download and install QuickTime. You must always use "http://www.apple.com/qtactivex/qtplugin.cab" for the CODEBASE URL. This URL will always have the latest version of the QuickTime ActiveX control.

Because a browser will use either the OBJECT element or the EMBED element, but not both, most of the element attributes must be included in each. Note that in the example above the EMBED element has autoplay="true" and the OBJECT element has <param name="autoplay" value="true">, so the movie will begin to play automatically whether it is loaded with the QuickTime ActiveX control or the QuickTime plug-in. The only attributes that should not be duplicated are CLASSID, CODEBASE, and PLUGINSPAGE. CLASSID and CODEBASE are specific to the OBJECT element. PLUGINSPAGE is specific to the EMBED element.

Although Windows Internet Explorer 5.5 SP2 and 6.0 will no longer use the QuickTime plug-in, once the QuickTime ActiveX control has been installed on a user's system, these versions of Internet Explorer will use the installed ActiveX control to satisfy a properly coded EMBED element.


See also

Further reading

For more information on HTML in general, see:

  • HTML & XHTML: The Definitive Guide 4th Edition, by Chuck Musciano & Bill Kennedy, published by O'Reilly.
  • Dynamic HTML: The Definitive Reference, by Danny Goodman, published by O'Reilly.

External links

For more information about QuickTime on Web sites, see: QuickTime for the Web, published by Morgan Kaufmann Publishers. http://developer.apple.com/techpubs/quicktime/qtdevdocs/QT4WebPage/QT4WebBook.htm (http://developer.apple.com/mac/library/documentation/QuickTime/Conceptual/QTScripting_HTML/QTScripting_HTML_AIntroduction/Introduction.html looks like the replacement.)

For more information on the OBJECT element, see:

For more information on Internet development, see: http://developer.apple.com/internet/


 Darwin Quicktime Streaming Server

Every DreamHost hosting account includes access to a limited version of Apple "Darwin" Streaming Server for streaming QuickTime media. For information about embedding streaming video, see Object Embedding. See Also

   * http://www.apple.com/quicktime/tutorials/embed2.html
   * Apple manual on QuickTime (PDF) 

Additional Note

Streaming is not the same thing as Pod-Casting. If you place a file you intend to podcast in your streaming directory, it will not work. Live Streaming

Live streaming is not officially supported by Dreamhost but it is possible to do using Dreamhost servers. Essentially you need to use something like QuickTime Broadcaster and find some instructions related to Manual Unicast.

A student of mine put these instructions together: Open QuickTime Broadcaster and click “Network” tab.

Select “Manual Unicast” for Transmission.

Enter your streaming server address (it has to be the IP address of your QuickTime/Darwin streaming server. You can get this information via terminal by running host streamingserver.yourdomain. I use host streaming.walking-productions.com.)

You should be able to leave Audio port and Video ports as shown (If it doesn’t work, add 1 or 2 to the number. If it didn’t work the first time it might mean that someone else is using those ports on the server.)

Click “Broadcast” and it will start broadcasting.

Then go to File menu, choose Export > SDP and save it with filename.sdp

Upload the .sdp file to your streaming server (under streamingserver.yourdomain for Dreamhost).

Next, open QuickTime Pro, choose File menu and select Open URL. Then put the URL, like rtsp://streamingserver.yourdomain/streamingserver.yourdomain/filename.mov (again, this is how it is on Dreamhost, modify for other servers).

It should connect to your live video.

To embed this on a page or offer it available over the internet, choose File > Save As and save it as a “reference movie”.

Upload this file to a webserver and you can embed or link to the mov file just like any normal QuickTime movie.

Personal tools