I was hoping that someone could recommend the most appropriate Wowza architecture that would allow up to 1,500 users to concurrently stream one of six available live video streams at a resolution of 352x240 (CIF) resolution. I would like to offer users the ability to stream video as RTMP Flash (desktop/laptop), Apple HLS (iOS), RTSP (BlackBerry/Android) or possibly Microsoft Smooth Streaming (Windows Phone 7). On average, I've noticed that the approximate bandwidth for Adobe RTMP Flash, Apple HLS and RTSP is about 0.15 Mbps or 155 kbps per CIF resolution stream.
We are currently serving up video to a fixed group of users with Wowza Media Server 2, however, we are now looking at opening the service up to the public (therefore, we must be prepared for spikes in streaming activity, thus the 1,500 number). We are currently using RTMP authentication using Flowplayer in conjunction with a custom RTMP Authentication Wowza Module. We would like to keep the RTMP authentication for the RTMP Flash video, and then extend authentication to Apple HLS and RTSP (right now, we are only streaming RTMP Flash video) so that we can somewhat control access to the streaming video.
It looks like one of the easiest ways to scale-up to accommodate the new users would be to use Wowza on an Amazon EC2 instance. In my head, it seems that there are a couple options (I'm sure there may be more):
- Keep existing Wowza Media Server 2 as Origin Server, and setup new Wowza EC2 instance as Edge Server
- Move existing Wowza Media Server 2 to an EC2 instance
I acknowledge that our existing media server would likely have to be upgraded to Wowza Media Server 3 (especially if we're trying to setup an origin-edge configuration). From reading through the forums, it seems like an X-Large EC2 instance would give us plenty of performance at around 350 Mbps (even though we shouldn't even get that high in theory, maybe 225 Mbps).
If you have any recommendations for which of the above two options would be easiest to configure/maintain (i.e. recall that I would like to have stream authentication in place), your comments would be greatly appreciated.
Also, with an origin-edge configuration, would all streams that are published on the origin server automatically be published on the edge server? I'm a little unsure as to how exactly this configuration would be setup.
Thanks very much for your help.