Hi
I am doing some back of envelope cost calculations for running a openVidu stack on AWS, based on:
I’m basing this on:
- example 7 user session (7:7) with 1 media node and 4 sessions per c5.large instance (as for the load testing example)
- stack operational 8 hours/day
I get monthly costs for a single session of:
openVidu licence: $17.856
AWS EC2: $50.096
AWS EBS: $3.712
AWS Data Transfer (Out): $421.848
I can give breakdown on how I get the first 3, and they vary depending how loaded the instance are. However clearly the last data transfer cost is the critical one.
I get to this from:
- Video stream bandwidth: 1Mbps = 0.45 GB/hour
- Streams per session: 7 users receiving 6 streams (other users) = 42 streams
- Active hours: 8 per day, 248 hours per month
- AWS transfer out cost: $0.09 per GB
→ 0.45 * 42 * 248 * 0.09 = $421.848
The obvious questions:
-
With openVidu / WebRTC is each output stream sent independent to each subscriber from the node? So the 42 output streams is correct? Given there are really only 7 unique streams this might mean the data transfer cost is significantly smaller (by factor of 6x in this case)
-
Does openVidu support adaptive scaling / simulcast (VP8) of streams? Many of these video streams are small thumbnails, with only one active (spotlighted) video, plus the end clients could have different resolution/network capabilities.
(Similar to Twilio SDK : Working with VP8 Simulcast | Twilio)
Thanks very much
Richard