What can the default MediaService configuration handle of load?

Sturla 176 Reputation points
2022-10-28T15:05:50.643+00:00

Hi hi

Sorry for in advance for this multiple question of mine. I´m just trying to figure out the how I should setup my scaling stragety.

My current setup and system

  • I have a multi tenant system that we are setting online today.
  • Each tenant can stream their own content one stream at a time.
  • The streams are currently 720p AdaptiveStreams with EAS token authentication.

And we are using the current (default) configuration for the service
255124-image.png

Questions:

  • How many concurrent players can stream with this setting?
  • What does egress mean?

Then if I open OBS studio their defaults are set to 10.000 Kbps (10 Mbps)

255146-image.png

if you google recommended bandwidth for 720p its 2.5 Mbps

255183-image.png

Questions:

  • Does that (OBS at 10.000 Kbps) affect the stream sent to users (would I then only be able to handle 60 concurrent users?) or is that just quality in and something else is sent to the users?
  • Is it possible to restrict the upload from the teams/OBS to 2500 Kbps?
  • What happens if I get more viewers than the default configuration? There is no dynamic in scaling? Do I need to monitor usage and estimate expected usage and scale up/down based on it?
  • How does scaling up the service affect cost? What if I wanted to have some good buffer.
  • Can I scale it up as much as I like? 1000 streaming units?
  • Can I scale it up/down when it is in usage without affecting on going streams (that is if I don´t make it smaller that the usage needed of course)?

Sorry again for the number of questions but I need to know these things before my service starts to gain traction.

Azure Media Services
Azure Media Services
A group of Azure services that includes encoding, format conversion, on-demand streaming, content protection, and live streaming services.
303 questions
0 comments No comments
{count} votes

Accepted answer
  1. Ebraheem Al-Muneyeer (MSFT) 951 Reputation points Microsoft Employee
    2022-11-07T06:45:39.8+00:00

    Hi @Sturla ,

    Kindly find my responses below:

    • "I'm not sure what do you mean by players" - Yes sorry I was referring to viewers. I added standard CDN and that number got to 1714 with 90% coming from CDN
      That's great, but because you can have up to 20 concurrent live events, then the CDN should be caching the streaming from these 20 live events in 3 different
      protocols (HLS, DASH, and Smooth -if you are using the 3) for the different layers/resolutions which may cause a little bit higher load on the SE, the 90% is prediction only, and depending on your scenario it can go up or down.
    • "scale up/down " - Currently this shouldn´t be needed but does it cost setting it up right now? I´m guessing not based on your answer on that. But like you say I should set that up before needing it.
      It should not cost you; you will be billed for the number of running streaming units, so, please make sure that the rules are accurate, and they increase the number of SUs only when needed and decrease it when they are not needed anymore.
    • How can I scale up to more than 5 concurrent live streams at a time? When I try to go over 5 I get "The maximum allowed number of liveEvents per account has been reached, maximum number is 5, requested value is 5"- Just to answer my own question, I just need to file a support ticket when the time comes. See this answer here
      Yes, that is the right way to go. Please submit the request with plenty of time before the live events are needed, there are no charges for increasing the limits, you will be charged only when you create those live events, and they are on running/standby state.
    • "Is it possible to restrict the upload from the teams/OBS to 2500 Kbps? Yes, you can configure that" - Do you have documentation on that for me?
      You can find more information here live-event-obs-quickstart or here the-best-obs-settings-for-streaming
    • I will also be looking better into monitoring usage and alerts if you have any tips/articles on that?
      You can find more information about monitoring:

    Finally, if my first comment answers your questions, it will be appreciated if you can accept it to benefit the community in case anyone has similar questions.

    0 comments No comments

2 additional answers

Sort by: Most helpful
  1. Ebraheem Al-Muneyeer (MSFT) 951 Reputation points Microsoft Employee
    2022-11-01T09:04:38.607+00:00

    Hi @Sturla , thank you for reaching us!

    Please find answers to your questions below:

    - How many concurrent players can stream with this setting?
    I'm not sure what do you mean by players, but if you mean viewers, then as mentioned in the screenshot, if you are streaming 3.5Mbps, you should be able to handle up to 171 concurrent viewers.

    - What does egress mean?
    Egress means the bandwidth output the streaming endpoint can handle

    - Does that (OBS at 10.000 Kbps) affect the stream sent to users (would I then only be able to handle 60 concurrent users?) or is that just quality in and something else is sent to the users?
    It is always recommended to have a multi-bitrate streaming output. As viewers internet bandwidth can vary, and if you only have a high resolution/bitrate, then users with low internet bandwidth will have a lot of buffering, and if you are streaming in a low resolution/bitrate then users with high internet bandwidth may have a low-resolution video while they can have a higher one depending on their bandwidth

    If you are using OBS then it can send 1 video layer stream only, in this scenario it is recommended to use a live encoding live event either Standard or premium. For more information you can check our documentation here live-event-types-comparison-reference, here live-event-types-comparison-reference and here live-event-types-comparison-reference. In this way you will have a multi-bitrate stream, for example in the Standard live encoding you will have output between 200Kbps up to 3500 Kbps. In this way viewers can have a better streaming experience with less buffering and your Streaming Endpoint can handle more requests.

    You can control the OBS configuration to lower the bitrate because if you are doing a high bitrate you need to make sure that your internet bandwidth is able to handle that 10Mb constantly

    - Is it possible to restrict the upload from the teams/OBS to 2500 Kbps?
    Yes, you can configure that

    - What happens if I get more viewers than the default configuration? There is no dynamic in scaling? Do I need to monitor usage and estimate expected usage and scale up/down based on it?
    If you reach the limit of your streaming endpoint (SE) egress bandwidth, your viewers may start to encounter buffering. You can monitor your SE egress bandwidth and do the scale up/down manually, or you can automate it as mentioned in our documentation here streaming-endpoint-autoscaling-how-to

    - How does scaling up the service affect cost? What if I wanted to have some good buffer.
    You will be billed for the number of the premium stremaing units that are in the running state. For more information you can check our pricing page here media-services (Select Streaming tab from the table)

    - Can I scale it up as much as I like? 1000 streaming units?
    Currently, the default limit is 50 as mentioned here limits-quotas-constraints-reference, if you have a need to increase more than 50, you can open a support ticket from Azure portal, and we will be verifying your request and possibly increasing the limit (If there is no blocker). but with the current limits and with the right CDN configuration you can stream to hundreds of thousands of concurrent live event's viewers. How many concurrent viewers do you expect to have?

    That said, from your screenshot I can tell that you did not enable the CDN on your SE, if you enable the CDN & apply the CDN optimization (origin shield, cache at first hit, ...) then your SE should be able to handle much more viewers as the CDN will be handling the majority of request (~90%-95% of live events streaming requests) for more information you can check our documentation here stream-scale-streaming-cdn-concept

    - Can I scale it up/down when it is in usage without affecting on going streams (that is if I don´t make it smaller that the usage needed of course)?
    Yes, scaling up/down should not affect the streaming experience. Taking into consideration that scaling up may take some time, so it is better to start scaling up before reaching the limit to avoid any playback issues.

    I hope I answered all your questions. If not, please let me know.

    0 comments No comments

  2. Sturla 176 Reputation points
    2022-11-04T09:53:02.453+00:00

    Thank you @Ebraheem Al-Muneyeer (MSFT) for you answer and sorry for not replying sooner.

    "I'm not sure what do you mean by players" - Yes sorry I was referring to viewers. I added standard CDN and that number got to 1714 with 90% coming from CDN

    "It is always recommended to have a multi-bitrate streaming output." - My setup is "Standard (max output of 720)", "Adaptive streaming", "ClearKey AES"

    "How many concurrent viewers do you expect to have?" - We estimate that we will have 100-200 viewers per game and 5-20 concurrent games at any time. So, 500-4000 viewers. Hopefully we are way off and have 10x that but that will not happen right away.

    "scale up/down " - Currently this shouldn´t be needed but does it cost setting it up right now? I´m guessing not based on your answer on that. But like you say I should set that up before needing it.

    How can I scale up to more than 5 concurrent live streams at a time? When I try to go over 5 I get "The maximum allowed number of liveEvents per account has been reached, maximum number is 5, requested value is 5"- Just to answer my own question, I just need to file a support ticket when the time comes. See this answer here.

    "Is it possible to restrict the upload from the teams/OBS to 2500 Kbps? Yes, you can configure that" - Do you have documentation on that for me?

    I think that covers it. I will also be looking better into monitoring usage and alerts if you have any tips/articles on that?

    0 comments No comments