Darwin Streaming Server

Darwin Streaming Server allows you to stream video and audio clips in MP3 and MPEG-4 formats. Darwin Streaming Server is the open source version of Apple's QuickTime Streaming Server technology that allows you to send streaming media to clients across the Internet using the industry standard RTP and RTSP protocols. Based on the same code base as QuickTime Streaming Server, Darwin Streaming Server provides a high level of customizability and runs on a variety of platforms allowing you to manipulate the code to fit your needs.

Installing Darwin Streaming Server

For installation instructions, please click here.

Using Darwin Streaming Server

Darwin Streaming Server is a streaming media solution provided by Apple as a free product to allow you to stream MP3's and MPEG-4's. For more information about Darwin Streaming Server, visit their site at http://developer.apple.com/darwin/projects/streaming/.

Logging Into Darwin Streaming Server Administration

Once Darwin Streaming Server is installed on your account, you will be able to access the administration page the following ways:

  1. Click on Darwin Streaming Server under Media in the Site Application section of your Site Manager. There will be a link on this page called Darwin Streaming Server Administrator.

    OR

  2. You can access the administration page directly by pointing your preferred browser to the following address:

    http://yourdomain.com:1220/
    (make sure to replace yourdomain.com with your actual domain name)

You will then be required to enter the administrator username and password you created when installing Darwin Streaming Server. Once you have entered them in the appropriate fields, click the Log In button to log into your Darwin Streaming Server Adminstration (Figure 1).


(Figure 1: Darwin Streaming Server Administration Login Screen Example)

Navigating Darwin Streaming Server Administration

The Darwin Streaming Server Administration is split into 3 different sections (Figure 2):


(Figure 2: Darwin Streaming Server Administration Main Window Example)

Connected Users

To see the Connected Users pane, click Connected Users in Streaming Server Admin (Figure 3).

In this pane, you can view information about the client users currently connected to your streaming server. You can display the information in a number of ways using the onscreen controls:


(Figure 3: Connected Users Screen Example)

Relay Status

Relays are used to accept a stream from one streaming server and send the stream on, or "relay" it, to another streaming server. The Relay Status section allows you to view the connected relays on your Darwin Streaming Server (Figure 4).


(Figure 4: Relay Status Example Screen)

General Settings

Use General Settings in Streaming Server Admin to access the streaming server functions listed (Figure 5).

To see the general settings, click General Settings.


(Figure 5: General Settings Example Screen)

Change Administrator Username/Password

The Change Administrator Username/Password section allows you to change your Darwin Streaming Server username and password (Figure 6). You will need to supply your current username and password and then enter your desired new username and password, then click the Change Password button to finish.


(Figure 6: Changing Administration Username/Password Example Screen)

Port Settings

You can view and change port settings in Streaming Server Admin (Figure 7).

To see the port settings, click Port Settings.


(Figure 7: Port Settings Example Screen)

Relay Settings

Relays are used to accept a stream from one streaming server and send the stream on, or "relay" it, to another streaming server. You set up relays using the Relay Settings pane in Streaming Server Admin (Figure 8).

To see the Relay Settings pane, click Relay Settings.

The Default Relay relays all incoming broadcasts that are automatically announced to the streaming server to one or more destinations. The default relay is set up just like any other relay except there are no source settings. The default relay appears in the Relay Status pane with the name ***qtssDefaultRelay***. The default relay can accept only forwarded media streams using the RTSP announce protocol. UDP streams are not supported.


(Figure 8: Relay Settings Example Screen)

Log Settings

You can view logs and change log settings in Streaming Server Admin (Figure 9).

To see the log settings, click Log Settings.

You can specify that each log be reset after a certain number of days or after it reaches a certain size (in KB).


(Figure 9: Log Settings Example Screen)

Viewing Error Logs and Access History

If logging is turned on in the Logging Settings pane of Streaming Server Admin, information about access and errors are saved to log files.

Click Error Log (Figure 10) or Access History (Figure 11) to choose which log you want to view.

The information stored in the access log can be analyzed using software from other vendors. The access history log is updated only as client connections are disconnected. Any currently connected clients at the time of a power failure or server crash are never logged, and won't appear in the access log when the server is restarted.

These logs and some additional logs you might find useful are, with the exception noted below, stored in the following locations:

The default file names are as follows:

Where playlistname is the name of the playlist.

The playlists log is stored in the following locations (where playlistname is the name of the play list):


(Figure 10: Error Log Example Screen)


(Figure 11: Access History Example Screen)

Embed a Movie On an HTML Page

While we try to provide the basics of using the Darwin Streaming Server with your account, we can not provide full documentation on every aspect of the third party applications we provide. If the below documentation does not answer all of your questions, we ask that you consult the official QuickTime Streaming Server Administration Documentation.

Here are the following steps in embedding a movie on an HTML page:

  1. Create your HTML page (e.g. streaming.html):

    <html>
    <head>
      <title>Streaming Test</title>
    </head>
    <body>
    Streaming Example<br />
    <object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="320" height="256" codebase="http://www.apple.com/qtactivex/qtplugin.cab">
    <param name="src" value="sampleref.mov">
    <param name="autoplay" value="true">
    <embed src="sampleref.mov" width="320" height="256" pluginspage="http://www.apple.com/quicktime/" autoplay="true" />
    </object>
    </body>
    </html>

  2. Create a reference file, which is used in the "param" and "embed" links above. You can name it anything you want, and it does not need to have the same name as the movie being streamed. This is a regular text file. You can put this file anywhere in the webroot, and all you need to do is customize the domain name (yourdomain.com), and the movie name. You can create a reference file by running the following command via an SSH command prompt:

    $ cat >/var/www/html/sampleref.mov <<EOI
    RTSPtextRTSP://example.com:8554/sample.mov
    EOI

  3. Make sure that the movie referenced in your reference file is in the movies directory (this directory is defined in the General Settings section of your Darwin Streaming Server administration) and that it is a properly hinted movie. In this case, the file "sample.mov" would be "/usr/local/darwin-streaming-server-5.5.4/movies/sample.mov".
  4. Point your browser to http://yourdomain.com/streaming.html (make sure to replace yourdomain.com with your actual domain name) and click on the movie to watch it stream.