Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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)

share|improve this question

4 Answers 4

up vote 2 down vote accepted

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.

share|improve this answer

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.

share|improve this answer

Windows 2008 Media Services.

share|improve this answer
    
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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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