I am looking at moving to Wowza for Amazon and would like to get some help in projecting costs.
We are basing our business plan on scaling up to having 1500 Axis cameras streaming live video to Wowza for recording. We are seeing about 90% incoming data and 10% outgoing with our current number of customers. We expect that to continue.
We currently average 19 Kps per camera or 47 GB per month and a storage need of 9 GB ongoing (we store 7 days of recordings).
This scales up to 70 TB of monthly bandwidth and 14 TB of storage for 1500 cameras.
How many instances of Wowza will we need to support 1500 simultaneous incoming streams and 150-200 outgoing streams.
If we had a need to support 2000+ outgoing streams on top of the incoming streams, how many instances of Wowza would we need?
It’s been my hope that Wowza can support more than 1000 incoming streams per instance. But I have not been able to get enough cameras up and running to put Wowza under a measurable load.
Based on our experience (20 cameras) with our current customers, Wowza isn’t using any measurable CPU. I went through the optimization steps and it is using 1.6 GB of RAM.
Thanks
In your scenario, would it be possible to spread the incoming load across multiple servers? That seems to be the more sensible approach for scaling.
Although, at 19Kbps (really, that little?) per camera, 1000 cameras may be a bit of a stretch on a small instance, but could potentially work on a large or x-large instance.
I am looking at moving to Wowza for Amazon and would like to get some help in projecting costs.
We are basing our business plan on scaling up to having 1500 Axis cameras streaming live video to Wowza for recording. We are seeing about 90% incoming data and 10% outgoing with our current number of customers. We expect that to continue.
We currently average 19 Kps per camera or 47 GB per month and a storage need of 9 GB ongoing (we store 7 days of recordings).
This scales up to 70 TB of monthly bandwidth and 14 TB of storage for 1500 cameras.
How many instances of Wowza will we need to support 1500 simultaneous incoming streams and 150-200 outgoing streams.
If we had a need to support 2000+ outgoing streams on top of the incoming streams, how many instances of Wowza would we need?
It’s been my hope that Wowza can support more than 1000 incoming streams per instance. But I have not been able to get enough cameras up and running to put Wowza under a measurable load.
Based on our experience (20 cameras) with our current customers, Wowza isn’t using any measurable CPU. I went through the optimization steps and it is using 1.6 GB of RAM.
Thanks
Hi,
We are trying to estimate cost for our application. Did you find how many incoming streams or mbps one instance of wowza instance can support?
Thank you!
Rob,
Here is a guide to using an IP camera with Wowza.
https://www.wowza.com/docs/how-to-re-stream-video-from-an-ip-camera-rtsp-rtp-re-streaming)
Wowza pulls rtsp stream from IP cameras on port 554. You can pull from many cameras at the same time to the same application instance.
Wowza publishes each IP camera stream, making them available to clients over RTMP, RTSP or HTTP (iOS, Smooth and Flash HTTP) using port 1935 by default.
Richard
“Server” and “Stream” in this case is referring to the labels on the Wowza example players: SimpleVideoStreaming or LiveVideoStreaming players.
Richard
150Kbps sounds about right for a camera.
I’ve routinely done 300 outbound streams at 650Kbps on a small instance.
Small instance starts struggling around 150-180Mbps.
Large can go to about 300Mbps.
So, rough back-of-the-napkin calculation, a small instance might be able to handle 1000 cameras coming in, but you’d be pushing it.
I was surprised by the 19K as well. That’s the total Bytes per second coming from Performance Monitor divided by the number of cameras. There’s nothing else running on that server. So maybe people usually represent that value as bits per second which would be 152Kbps. That seems more reasonable.
I can spread the streams across multiple servers, but I am trying to figure out how few servers I will need.
Has anyone seen installations with say 500 streams per server?
Thanks
Some hosting providers can offer free inbound bandwidth, since they have a lot of capacity available, as users typically use outbound, this would definitely be cheaper than AWS.
Hey Bryan, did you ever get this working? Do you have RTSP streams from your cameras going to right to Wowza, or is the video going through an encoder first? I assumed since you push a stream to port 1935 on Wowza, only one camera/encoder could be using that port at a time. Or is it possible to configure Wowza to accept incoming streams on multiple ports at once?
Thanks,
Rob
Hi Richard,
So this block of code in the docs:
Server: rtmp://[wowza-address]/live
Stream: camera.stream
The ‘Server’ directive is the address of the Wowza server where you want the video to be available, and the ‘Stream’ directive is the address of the camera’s native RTSP feed, right? So for an Axis camera, for example, it would be something like:
Server: rtmp://ec2-34-53-123-53.compute-1.amazonaws.com/live
Stream: rtsp://142.34.53.122/axis-media/media.amp
And that server address is accessible to any client, and they’ll receive the proper data stream for them? How does HTTP Live Streaming work with the rtmp:// protocol? Or do we just change that http:// for Live Streaming?
This will depend on the instance size you provision and the resources available. We have a load test tool to help determine this from the playback side.