开发者

How to build a Video Broadcaster, which can handle more than 20,000 viewers

开发者 https://www.devze.com 2022-12-27 04:56 出处:网络
I want to broadcast Video from a web cam, over internet. The problem is, the Video will be viewed live by more than 20,000 people (expected).

I want to broadcast Video from a web cam, over internet. The problem is, the Video will be viewed live by more than 20,000 people (expected).

I have a very little experience with Red5 Broadcasting. I did some broadcasting using Red5 and Flash. It works fine for 1 or 2 viewers i.e. it is great for personal chatting/ video conferencing applications.

But, when the number of viewers increases, the delay in Broadcasting also in开发者_运维百科creases. I am experiencing a Delay addition of about 0.5 Seconds for every new user who joins the broadcast.

Can any one suggest me some, better technologies on which I can work out this Live Broadcasting. I don't want to use http://www.ustream.com; I want to create one of my own, such tool. But thats always the last solution.


20000 concurrent video views is going to stretch the most powerful of servers. I'd consider looking at Flash Media Server, but I doubt that serving this amount of video from a single box will be viable. Assuming a minimal bitrate of 256k (it won't look all that good at this rate), we'd be talking about an upstream delivery of around 5 gigabit /s. That's some seriously heavy lifing. If it exists, I doubt it will be free.


As you're expecting such a large number of viewers, P2P distribution could be a way to go. This way, under heavy numbers the load will be moved away from your servers, and on to the clients. They would act as 'repeaters' for your content. This may of course introduce even more delays.

Check out PeerCast and Freecast for more info.


You could do this red5 or any other flash media server, but you will need more than one server and most likely about 10 or so; not to mention all the bandwidth you will need to provide the stream to viewers. Here's the basic setup:

  1. Setup and configure an origin server to which your broadcaster will publish their stream

  2. Setup and configure edge servers which will consume the origin stream using ffmpeg and publish to their local instance

  3. Repeat step 2 to provide additional viewer connections

This 'simple' example leaves out some details, but if you're clever enough you can figure those out.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号