Why kurento media server when compared with ant-media is performing low?

蓝咒 提交于 2020-07-07 05:46:28

问题


I am trying to scale kurento media server for thousands of concurrent calls.

I am planning to use OpenVidu Pro for scaling.

I also kept an alternative to develop my own app-server and manage kms nodes.

What I am concerned about is ant-media-server with the same hardware capacity as my kms node supports much more concurrent calls when compared to kms.

Source of the above information

If the above information is true what extra does kms do so that it is using more hardware resources?

What can be done to optimize kms.

Please shed some light if possible.


回答1:


@Maximillian giving misinformation. Comparing apple and orange is ridiculous.

I guess the main problem is confusing the streaming protocol.

For low latency, you should use webrtc and both of ant media and kurento support this. As @Maximillian said you should decide , do you need low latency with huge audince or latency not matter ? Scenario is one to many or many to many ?

The 8-10 s latency is in HLS not in webrtc , and it's not ant-media or other Rtmp Hls server fault, it's the implementation/design of HLS. ( Not meaning LL HLS )

In Hls you need at least 3 ts package and it should be minumum 2 second ( default 10 seconds ) that's why you see the Hls stream with 6-30 seconds latency.

In your question, you point performance / resource usage at webrtc and ant media uses system recourse better than kurento. Let me explain why ?

Kurento is a great media server and designed for making extra operation such as filtering, image rendering, opencv implementation, Rtp Endpoint, Rtsp endpoint, etc. However this kind of extra feature implementation cause a high cpu usage even if you never activate this. Since 2015 kurento performance increasing and getting better and better . Unfortunately not enough for huge audince. For example : in kurento when you have 4 core with E5, you can only handle 80 concurrent EndPoint. If your scenario , 4-5 active stream publisher with 1000 concurrent viewer in the same room, you better mining coin instead of handling conference :) you will need lots of core.

Note that also in kurento there is no configuration or tool for your private dedicated / virtual server to scale automatically.

You need to develop your custom docker manager and stream republisher/ restreamer to distribute your stream. Believe me it will be very painful. @2016 at that time there is a project on amazon market ElasticRtc, managing the clustring / scaling the Kurento at amazon cloud. However after twillio acquires kurento, it stopped.

Ant-media webrtc product is really good and better than other sfu's. You can see the performance comparison here Ant Media, Jitsi and Janus Which one is best to start live voice stream one to many in Mobile Applications?

As you see, there are many options for open source / paid sfu's such as mediasoup, medooze, janus, flashphoner, wowza etc, I generally prefer ant media .

  • Easy to setup
  • Easy to integrate the api ( In kurento it's also painful at media pipeline and endpoint management )
  • Cheaper than other paid media engines ( wowza, flashphoner )
  • Easy to preparing cluster
  • Support Rtmp ingest, Hls & webrtc playback
  • Support Webrtc ingest, Hls & webrtc playback
  • Api based start / stop recording stream individually
  • Support simulcast at webrtc and ABR at hls
  • With same spec server
    • Kurento 250 endpoint
    • Wowza 650-700 endpoint
    • Janus & mediasoup 500-750 endpoint - Ant media 1400 endpoint



回答2:


The source you are using is for ONE-to-MANY, what is typically a scenario where a latency of several seconds is not a problem, because ONE person who is speaking streams to MANY people who are just listening - like a TV show, facebook live etc.

Kurento is more focussed (but not limited to) direct communication between the participants, where you have a latency of <1s (in good network) and everyone can communicate with everyone, what sounds for me like it is what you will need.

When you check the ant-media homepage, you can see that the free edition has latencies between 8-10s. If you want to have less, it is not for free anymore. But then it is still no direct communication, it is 1 Streamer to MANY listeners (disclaimer: I never used the paid version, but for me it seems like it is so).

I did it they way you mentioned, to have multiple instances of kms (kurento media server) and managing them by my own app incl. a load balancer and autoscaling, yet I don't regret this decission. I hope this brought some more light into it :-)



来源:https://stackoverflow.com/questions/62626194/why-kurento-media-server-when-compared-with-ant-media-is-performing-low

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!