Wowza Community

How do I design the streaming system using Wowza for a moderate number of viewers?

Suppose

  • use 2 to 6 cameras for capturing
  • use Wirecast to receive the above capturing and send to Wowza
  • use Wowza to receive the stream from the above Wirecast, then send to CDN
  • there are 10 thousand concurrent viewers

It seems a general workflow for a streaming system use Wowza is like the above (if not please point out). But I wonder if that is enough for creating a real application?

I would like to know more detailed design about the workflow, say should we use a load balancer, if so where? A detailed graph is preferable, or where can I find such stuff?

Thanks in advance.

This seems like a really standard workflow. If you don’t have any other constraints, I would consider using tthe Wowza Streaming Cloud product to transcode, package, and deliver your streams via a CDN. This product will be much easier to deploy and manage. It will scale up or down easily and you just pay for the hours you stream / audience that views.

With that said, if you want to deploy and manage your own software, you can do this workflow in engine a few different ways. here are two:

  1. Wowza Streaming Engine to Wowza CDN: This workflow you will transcode in Wowza Streaming Engine and then send those transcoded renditiions to Wowza CDN via a stream target. You can get a pre-built machine image of Wowza Streaming Engine on any major cloud provider, and if you are just transcoding one stream, you don’t need a huge machine (maybe a C4.xlarge if using AWS).

  2. Wowza Streaming Engine transcode and delivery: This is more complicated. You may want to setup two servers to have an origin and edge so as to not run into issues. You can get to 10,000 on a single edge if you have enough bandwidth, so this really depends on the size of you stream and what you buy for server hosting. If you don’t have enough bandwidth, you need to load balance. You can read more about scaling and load balancing here… but I still would think you are better off with one of the other options as that will auto scale and save you some headaches. https://www.wowza.com/docs/scaling-and-load-balancing.

In terms of learning more with real world scenarios, you may want to check out this webinar with Wowza and Telestream. You can find examples in it: https://www.wowza.com/resources/webinars/end-to-end-live-streaming-in-education-telestream