Voice routing and data usage?

sleepystrix
edited March 2018 in Photon Voice
Hi, I have 2 related questions:

1. How is Photon Voice data routed (relayed through the master client? or via the photon cloud?)

2. Given the answer above, how can we calculate an estimate for bandwidth usage with X number of players constantly sending and receiving audio? This is necessary to provide my employer with cost estimates.

Looking at another voice solution, for example:
Dissonance voice relays all audio in a room through the host/master client.
In a case where all players are sending audio and hear each other, bandwidth use can be estimated as:
Audio in to the host from clients (download) = 6KB/s * ( # of speakers)
Audio out from the host to clients (upload) = 6KB/s *  (# of speakers) * (# of listeners)
Audio in to 1 player from host  (download) = 6KB/s * (# of speakers)
Audio out from 1 player to host (upload) = 6KB/s

Essentially, I need to estimate:
-What data usage each player can expect in a game.
-What data usage will be that counts against the Photon 3 GB per Plan CCU + Additional charge bandwidth

Thank you.

Comments

  • JohnTube
    JohnTube ✭✭✭✭✭
    edited March 2018
    Hi @sleepystrix,

    Thank you for choosing Photon and I apologize for the delay in my response.

    1. No, we do not route frames via master client as Dissonance does. We use interest groups for everything to save bandwidth.

    2. This is a good question. Maybe we should expose a nice way of calculating or even doing the math for you directly from Unity Editor or using helper components.

    For the data usage estimation, you can request this by email developer@photonengine.com
    But the answer now is that this varies a lot depending on the use case.
    We have successful games that use Photon Voice and that do not exceed what we offer (no overage).
    More details can be shared via email or you can take a look at the showcase.
  • Thanks @JohnTube

    Some tool to run these calculations would be great, even a simple spreadsheet or plain text formulas would help a ton.

    In the mean time I'll shoot over an email.
  • Upper limit of outgoing bandwidth per audio stream adjusted by 'bitrate' voice setting. It's 30 kbit/sec by default. So each client sends no more than 30 kbit/sec. It likely receives N-1 such streams where N is the number of players in a room.
  • > No, we do not route frames via master client as Dissonance does.

    Actually when it's running top of PUN Dissonance doesn't do this - it did for a while but we wanted to save bandwidth wasted in exactly this kind of situation! All the voice audio is sent directly from one PUN peer to peer (using RaiseEventOptions.TargetActors).
  • JohnTube
    JohnTube ✭✭✭✭✭
    Hi @martindevans,

    Thank you for clarifying this in person on the weekend :)
    I did not check out the latest versions of Dissonance, I will do.
    But I'm glad you changed this.
    I want you to know that I personally like your asset and we are happy to have you if I may say as competition. It's quite challenging.