After struggling with Apple's Darwin Streaming Server over the weekend, I've found that DSS isn't too bad, but there are definite problems with running a streaming server. The Real Time Protocol/Real Time Streaming Protocol (RTP/RTSP) is one of those "promiscuous" protocols that open a wide range of ports between the client and server; it uses a range in the 6900's as well as several others, and it uses UDP transport as well. RTSP also uses statefull connections that identify the client to the server. This means that servers behind firwalls will that the firewall be opened a bit, that clients behind a firewall will require a considerable opening, and that clients using NAT will need either a proxy server on the firewall or will not be able to use the protocol at all. DSS accommodates this by being able to run over HTTP instead of RTSP, and for most clients this works fairly well, even through a NAT firewall. The problem with this is that you can't run DSS over HTTP on port 80 on the same server that's already running a web server. I suppose you could run it on a multi-homed box, but there don't seem to be any provisions for specifying which interface (NIC) it uses. There were modules for the 2.2 kernel using ipchains to allow the statefull connections over a NAT firewall, but with 2.4 and iptables nobody seems to have pursued them. It seems likely that unless you can dedicate a box to host the streaming server, you're going to have a range of clients who can not receive your streams. Darwin Streaming Server was easy to set up once the transport issues were dealt with, and it seemed to have a fairly low system load. A nice product if you can afford the dedicated host.