Latest version of this document
Apple Computer's Darwin Streaming Server is the version for Linux, Solaris and FreeBSD of their free QuickTime Streaming Server, which is solely for Mac OS X. It can be used to stream live video over the RTSP protocol as well as for sending live MPEG-3 audio broadcasts. It also provides for a media server for archives, delivering video and audio in stand-alone file format or as a stream.
The main issue with the software currently is it's licence. It is released under Apple's Apple Public Source License, version 2.0 of which according to the Free Software Foundation is a compatible free software licence, although it is not compatible with the GNU Public Licence. Please refer to the what the Free Software Foundation has to say about the APSL 2.0 and the APSL 2.0 licence itself before proceeding to download, install and use (and possibly even modify) Darwin Streaming Server.
The benefit of the software is that it's free to download and generally works very well. The caveat is generally heralded as being that although you use a free software platform such as Linux, FreeBSD or Darwin to run the server, you still are likely to need a Macintosh running OS X to be able to broadcast your stream. The most commonly used tool for this is Apple's QuickTime Broadcaster, which is once again a free download, but it is a closed-source product. You are also able to send from programmes such as the open source Pure Data (Pd).
To connect to the stream, you'll need a compatible player. This is normally QuickTime Player, but there are also a number of options for those of us who run Linux or FreeBSD. See this document for various tips on this topic.
Anyway enough said. Let's get on with setting it up.
I've found it occasionaly difficult to actually find the page for downloading the software. You also need to sign-up to the Apple Developer Connection and accept various licences before you're allowed to.
*Note: In the past, I have had good results with version 4.1.3 of the server, at least under Debian. This version is no longer available from Apple's site, but you can download it here. Other than that, I've found version 5.0 to be rather poor and it did not work very well at all under Linux. So the recommendation is to use the current version 5.5.4, or if that doesn't work for you, then 4.1.3.
Point your favourite web browser at http://yourserver:1220, where yourserver is the IP address or name of the server that you installed Darwin Streaming Server on in the previous step. You should get presented with the login screen:

Enter the username and password you specified when you installed and click 'Log In', you'll be taken to the next screen to set-up the password for MP3 broadcast:

Enter some password here. This you will use to give to those who wish to do MP3 audio broadcasts to your streaming server, although you should consider using Icecast instead for this rôle as it also supports Ogg/Vorbis format. Click 'Next', and you'll get to:

Now this screen asks you if you're using SSL to access the server. This HOWTO doesn't currently cover setting up SSL for Darwin Streaming Server, so for now it will suggest you don't tick the box and that you simply click 'Next' to get to:

Here you should enter the directory on the server where your media archive is. This will be the location that you store your video and audio files (mov and mp3) to be streamed out by the server. It is also where the server will create it's sdp files for both live and archived streams. The default is /usr/local/movies/. You should check that this directory exists on your server and that there is sufficient disc space for the partition where this directory is located. If not, then choose where to keep them, create the directory if necessary (the 'qtss' user will need write permissions) and then click 'Next' to get to:

Streaming on port 80 can be useful, but not if you're running a web server as it will clash with it. If you are, then do not select this option. If you aren't then you probably don't want to do it anyway. It's useful for getting through certain firewalls, but there are other ways to do it, and you can always enable it at a later date anyway. So just click 'Finish' and you should get to the main screen:

Congratulations you have installed and configured Darwin Streaming Server.
The following is a list of tricks, tips and hacks that are verified by the author to work with version 5.5 of Darwin Streaming Server:
You may well be also wishing to run or already running Icecast for streaming audio. Although Darwin Streaming Server does provide the facility for MP3 streaming, I would reccommend that you use Icecast for this; Icecast supports both MP3 and OGG streaming of audio (and video using Theora).
Now Icecast by default runs on ports 8000 & 8001, but Darwin Streaming Server also expects to run on these ports by default. If you start the DSS process before Icecast on your server, DSS will grab ports 8000 and 8001 and stop Icecast from starting up. What you need to do is to stop DSS from doing this by editing the file /etc/streaming/streamingserver.xml and looking for an entry similar to:
<LIST-PREF NAME="rtsp_port" TYPE="UInt16" >
<VALUE>554</VALUE>
<VALUE>7070</VALUE>
<VALUE>8000</VALUE>
<VALUE>8001</VALUE>
</LIST-PREF>
And remove the two lines containing the entries for '8000' and '8001'.
You may choose to run a different server, such as Icecast or Shoutcast for MP3 streaming. If you do that, you may like to disable MP3 streaming in Darwin Streaming Server. Do this by changing the option for mp3_streaming_enabled under the MODULE section for QTSSMP3StreamingModule from true to false. E.g.:
<MODULE NAME="QTSSMP3StreamingModule" >
...
<PREF NAME="mp3_streaming_enabled" TYPE="Bool16" >false</PREF>
..
</MODULE>
You can disable all authentication for the whole of Darwin Streaming Server by editing the file /etc/streaming/streamingserver.xml and by changing the option for Authenticate under the MODULE section for QTSSAdminModule from true to false. E.g.:
<MODULE NAME="QTSSAdminModule" >
...
<PREF NAME="Authenticate" TYPE="Bool16" >false</PREF>
...
</MODULE>

Article copyright (c) 2005-2007 Radio Vague. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".