Re: Concurrent HTTP/HLS Streaming (>=maxWebMTranscoders)

In Progress

Comments

5 comments

  • Avatar
    Norman - Nx Support

    Hi Gary,

    1. Increase the number of simultaneous transcoding sessions as described in THIS support article to the desired value, but be aware of the limitations of the hardware resources.
    2. It depends on the use case. Typically, the more concurrent connections, the higher the load and more powerful resources are required. If we have a better understanding of your scenario, we might be able to suggest a solution if there is one.
    0
    Comment actions Permalink
  • Avatar
    Gary Lu

    Hi Norman,

    How would we help you understand our Scenario?

    Basically, we have pre-filled URL that is clickable and sending to the server a Get/Post Request, triggering the streaming as response. 
    The pre-filled URL, does not send, unless "clicked" by User, which we estimate to be a volume >=20. 

    Does it help you understand?

    Gary

    0
    Comment actions Permalink
  • Avatar
    Norman - Nx Support

    Hi Gary Lu,

    If the volume is >=20, you can change this value in the WebAdmin page as described in the previous link support article. That being said, HLS streaming is resource intensive, so you might need to increase the number of servers to divide the load and/or increase the hardware specification to improve the performance.

    0
    Comment actions Permalink
  • Avatar
    Gary Lu

    Hi Norman - Nx Support

    Can you provide a bit more details on how and why? The article only describe the transcode process, but it would be ideal to know the reason behind.

    As well as what is a standard Server spec for catering three different categories of recording + streaming:

    1. < 20 Cameras with 5 Users Simultaneous access

    2. 20 < X < 70 Cameras with 10 Users Simultaneous access

    3. 70 < X < 150 Cameras with 20 Users Simultaneous access

    0
    Comment actions Permalink
  • Avatar
    Norman - Nx Support

    Hi Gary Lu,

    For why, we set a default limit to the number of connections see:

    Since Nx Witness 4.0, we set a default limit of no more than 2 simultaneous transcoding sessions. This limit was put in place to avoid CPU overload issues that were often observed at sites with progressive download enabled. As a result, this change may break some integrations which relied on more than 2 simultaneous transcoding sessions.

    We can't provide any reasonable server specifications, since there are too many variables.

    A 480p resolution stream with 5 fps and max compression makes a huge difference versus an 8K stream with 60 fps and minimum compression.

    Something to consider is the maximum number of TCP connections as well. Each server can handle up to 2.000 concurrent TCP connections. Also, a maximum of 100 devices per server is supported or 128 in case of a single server system. So 150 devices per server isn't possible since there are too many devices per server and also too many TCP connections in case of 20 concurrent users.

    That being said, if there are that many concurrent users viewing the same stream, it might be required to use a video streaming application like Wowza, JW player, Dacast, IBM cloud video, StreamShark, etc. Nx Witness was never built as a streaming application.

    This way, only one connection per stream exists between server and the streaming application, and they arrange the resources. If it only concerns live streams, you could even pull the stream directly from the camera, instead of the server.

    0
    Comment actions Permalink

Please sign in to leave a comment.