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

I am looking for a video streaming server solution, something like online TV server, with ability to make live broadcasts in the internet.

What software could you recommend for that?

What kind of hardware it should run on, should be there anything special?

I am looking for a solution that could be scaled up to at least 1000 simultaneous users online with good resolution of video.

I think it is good to have general answer on what direction to choose. But here more details on my specific case:

  • I just looking for a solution almost from scratch. We have some video content that we've produced, but it is not delivered over internet yet.
  • We do not tied to any particular vendor for now.
  • We want to make 24 hours of steaming three 8 hour blocks with change of content every day.
  • We want the ability to make regular live broadcasts.
  • I guess we will need to have several options of streaming quality (low ~56 kb/s mid ~273 kb/s).
  • Some terms just foreign to me (like play-truncation rate), if you could point out what parameters we should avare of, it would be great.
  • Uplink to the internet is to be determined. We plan to start from something and scale up on the way.

If you are already have some kind of media streaming server, just describe its configuration here (hardware, OS, software), peak number of concurrent users it serves. I think it could help people approaching this task.

share|improve this question
    
Since you guys are working this out offsite, it would be spiffy if you could update the answer with what you come up with, or flag for a delete. Thanks. :) –  Kara Marfia Jun 24 '09 at 12:23
    
Sure :) And I would appreciate more answers if someone else have to say anything on the topic. –  Sasha Yanovets Jun 24 '09 at 14:54
    
Good point Kara, sorry but this is just a huge topic, I'll try to summarise when I can. –  Chopper3 Jun 26 '09 at 8:43
    
@Chopper3, can we still expect a summary? –  John Gardeniers Oct 5 '10 at 20:47
add comment

closed as off-topic by Magellan, Iain, Jenny D, MadHatter, Dave M Oct 24 '13 at 18:17

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking product, service, or learning material recommendations are off-topic because they tend to become obsolete quickly. Instead, describe your situation and the specific problem you're trying to solve." – Magellan, Iain, Jenny D, MadHatter, Dave M
If this question can be reworded to fit the rules in the help center, please edit the question.

7 Answers

Sounds like chopper3 has this area pretty well covered, by for my $0.02:

We stream on-demand lectures that run for about 12 hours each (broken up into one-hour blocks). We use Flash Media Server (but with a streaming-only license) from Adobe, and a custom-built app to display it in the presentation in the users browser (and tie slides/video/audio together).

We run the server on a Dual Quad Core Xeon 2.4Ghz with 4Gb of ram and we've never run into any scaling issues, except for running out of RAM on occasion (FMS is very ram hungry). We run a link with 2mb uplink, but our media is of very low quality (320x240, high compression, mono audio). We've never had any complaints. We also use the RMTPE protocol, which is encrypted and has an additional CPU overhead.

We can up-scale our link with a call to our ISP and it's done within a few minutes, so if it's ever under huge demand we can speed it up for a few hours, then drop it back again to save money.

FMS has the ability to stream from live capture cards. It comes with a sample application that streams from your webcam, but it would not be difficult to have it stream from an alternate live source (capture card, etc).

Hope this sheds some light!

share|improve this answer
    
What OS your Flash Media Server is installed on? –  Sasha Yanovets Jun 25 '09 at 19:36
    
Windows 2003 R2 but by the sounds of it you'll be wanting something more focussed like redhat. –  Mark Henderson Jun 25 '09 at 20:19
add comment

For video streaming, Microsoft have an excellent solution with Silverlight for the client side (or plain H.264), and IIS Smooth Streaming for the server side that allows automatic and transparent quality adjustment (and more). It's standard HTTP, so cacheable with any HTTP Proxy

Here is a showcase: http://www.microsoft.com/silverlight/iis-smooth-streaming/demo/

IIS Media Pack: http://www.iis.net/media

It's really, as I know, one of the best solution for video streaming...

share|improve this answer
add comment

Ah, finally a question designed for me to answer :)

Ok then, 1000 users, what codec/player/bitrate? how much content? what's the average content length? presumably no QoS/multicast options? what's serving your front-end? what's your expected play-truncation rate? what's your uplink to the internet (be as detailed as possible)?

Are you tied into any particular vendors?

Answer some of these questions and I'll be happy to help.

share|improve this answer
    
Thanks for your input, I've updated the question. –  Sasha Yanovets Jun 24 '09 at 10:04
1  
drop me a line at 'phil at buckley-mellor dot com', this is a huge discussion but I'm more than happy to help. –  Chopper3 Jun 24 '09 at 10:14
add comment

You must try Wirecast from telestream its a must

share|improve this answer
add comment

As an example, this is the setup we use for streaming (and recording) lectures. We don't have 1000 users, but our solution should be scalable to that number.

Video Acquisition (~$6000):

  • Rolling rackmount cart with a PC and touchscreen
  • Consumer camcorder (HDMI output)
  • HDMI ingest card (Blackmagic Intensity Pro)
  • 4 wireless audience mics
  • 1 wireless lapel mic
  • Audio mixer and compressor
  • Wirecast software

Streaming Server:

  • CRTMP Server on Ubuntu 12.04
  • Apache2

CRTMP Server gives excellent performance (especially on resource constrained systems) compared to some of the user Java-based servers out there. There's also a paid commercial offering of the same product with support.

I'll number your bullet points and address them:

  1. Solution from scratch with existing video: What I've outlined above is pretty much the entire solution (let me know if I've left anything out). Wirecast can handle both live video and video files (and seamlessly combine and switch between the two. I agree with @don -- Wirecast is an excellent product. Wirecast does have a streaming server built in, but with 1000 users, you'll want an external one like CRTMP server.

  2. Not tied to a particular vendor: The combination of Linux, CRTMP Server, and Wirecast is a multi-vendor approach. You can replace any of those pieces with offerings from other vendors.

  3. 24 hours of streaming: I haven't tested Wirecast for memory-leaks, but it can be scripted to switch between any number of live and recorded inputs. Also CRTMP Server can take its input from Wirecast (or other streams) or static files.

  4. Regular live broadcasts: Wirecast does very professional looking live broadcasts (with 3D effects similar to what you see in Apple keynote presentations).

  5. Several stream qualities: Wirecast can provide multiple simultaneous streams (at different qualities). However, to reduce load on your capture workstation, you probably want CRTMP Server to re-encode a single stream from Wirecast into several streams.

  6. Terms are foreign and confusing: Yep. Streaming video has a steep learning curve and requires knowledge of quite a few disciplines. Sorry, I can't really address that point. :)

  7. Uplink to The Internet: CRTMP server can take connections from The Internet. Just make sure you've set up your server securely--this is beyond my skill.

share|improve this answer
add comment

You can do live streaming with Amazon EC2 with wowza media server: http://www.wowzamedia.com/ec2.html

It is not that convenient solution as CDN may provide (one URL for pushing stream and other for pulling streams) and requires some more understanding of the technology, but is cost effective for streaming periodical live events.

One more option is http://erlyvideo.org/ The server is reliable and the real alternative to Adobe and Wowza servers. Erlyvideo has both free open source version (that is good enough), and advanced commercial one.

One more open source software server option is nginx rtmp module. https://github.com/arut/nginx-rtmp-module Server requires much less hardware resources for streaming and supports iOS streaming out of the box.

share|improve this answer
add comment

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