Estimating costs for running on AWS


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:

  1. 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)

  2. 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