Installing the Darwin Streaming Server
19 February 2005
This page describes the installation exactly. Rather than describing what you're doing, I'll show you what to do. You'll do the work of acquiring and installing software from within the Terminal application, using a web browser only for the testing steps.
I assure you that the UNIX commands I'll direct you to invoke have been taken directly from a Terminal window - these are the commands I just used to do a clean install - rather than having been composed after the fact. This is *exactly* what worked for me. I've taken pains to choose forms of the commands which should make sense to you even if you're new to UNIX.
Get and install fink and the prerequisites for DSS
Instructions are available from Apple at
http://developer.apple.com/darwin/projects/streaming/
The steps listed below are needed to have DSS interoperate with our other installs, specifically Cocoon and Icecast.
DSS wants to serve port 80, taking over from Apache
DSS, by default, wants to support streaming on both the default rtsp ports and on port 80 to accommodate users behind restrictive firewalls. This is not good. We disable this with the DSS Admin Server:
The DSS install should have things configured so this URL answers and demands a username/password. If not, you may have to manually start /usr/sbin/streamingadminserver.pl. Visit the 'Port Settings' page and deselect the 'enable port 80 streaming' checkbox. Once cleared DSS will require the default rtsp port (554) or mp3 port 8000/8001.
Icecast also wants port 8000, so we'll need to change this to some values which don't conflict, perhaps 9000,9001. Edit the file
/Library/QuickTimeStreaming/Config/streamingserver.xml
a section of which looks like this
<LIST-PREF NAME="rtsp_port" TYPE="UInt16" >
<VALUE>554</VALUE>
<VALUE>7070</VALUE>
<VALUE>8000</VALUE>
<VALUE>8001</VALUE>
</LIST-PREF>
(We're using Icecast because DSS is unable to stream MP3s.)
Restarting DSS
For some bizarre reason there's no way to restart the DSS (after changing the settings, for example) from within the administration web pages. To manually restart DSS start a Terminal window and type the command
ps -ax | grep QuickTimeStreamingServer
which should return something like
308 ?? Ss 0:00.00 /usr/sbin/QuickTimeStreamingServer
309 ?? S 0:24.47 /usr/sbin/QuickTimeStreamingServer
6825 std R+ 0:00.00 grep QuickTimeStreamingServer
In this example the DSS processes are 308 and 309. We kill them with the command
sudo kill 308 309
Then, to start DSS, use the command
sudo QuickTimeStreamingServer
To test the installation, visit the URL
rtsp://localhost:554/sample_100kbit.mov
You might want to - okay, you really ought to - jump up one level, to see how this fits into the big picture of developing and deploying web-based applications (and to see what other tools I've installed to work with this).