I need to build a server for a website that will stream live audio and video. The functionality will be like www.ustream.tv with channels with one broadcaster and unlimited subscribers (who can only chat via text). The stream will have several bit-rates depending on the connection. For start I need to be able to have 100 broadcasting users with 1000 subscribers.

Which is the best software and hardware combination? I'll start with one server for start and then I'll build more if needed.

I've heard about media servers based on flash media server 3.5 or Red5. But I dont know which one to prefer.

Thanks in advance (and sorry for my English)


A few thoughts;

  • What's your client software, this is very important, specific versions on specific OSs - this will define your streaming software.
  • What are your stream profiles, do you intend to pre-encode or do you have/expect-to cross-encode on the fly?
  • Have you done your maths on average and burst bandwidth requirements for this, is your top end figure taking into account the entire path from disk/memory to CPU, IO, NICs, L2, L3, load-balancers, firewalls, any VPNs you might have/need, external routing, onward transit etc.
  • Are you planning on serving non-stream traffic (front page, transactional etc) from the streaming server? if so why as this traffic can easily handle jitter but video can't - consider splitting your front-end into workload types, makes for easier scale-out.
  • Consider now how you're going to 'tap' into live content, there's a good chance that you'll need this ability for rights compliance.

As for hardware, well it sounds to me that you need both performance and resilience, you'll struggle to get this at bargain basement prices, stick to one of the mid/big-boys (Dell or better) rather than build-your-own - you're going to be busy enough as it is.

Hope this has been of some use.


On-the-fly encoding of 100 video streams time however many bitrates you want, will more than bring down any server unless your going for big iron and it sounds like you want a cheap solution so thats not an option. If your client does the encoding and your server is just handling distribution it'll still be a big hit but dramatically less so, but it would mean getting the client to encode the different bitrates and streaming the all back to you simultaneously.

This is the type of thing where you will probably have to write your own client, or adapt an open source project that does streaming screen capture to get you the feeds. I'd look into this and see what kind of servers you can stream to and then go from there.


Windows 2008 Media Services.

  • That's alright if you KNOW all your client have Windows Media Player - but lots don't, lots. – Chopper3 Mar 2 '10 at 15:42
  • That's just nonsense, you would install a plug-in for your browser. – Nasa Mar 2 '10 at 16:19

The only way you're going to be able to do something like this without a massive investment of hardware and network planning is using a hosted streaming service (similar to web hosting services, but more niche). You can also look into using Amazon's CloudFront Streaming service.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.