Jump to content
  • 0

Architecture of Ant Media ?



Hi team,

We have been using Kurento for a while and we are considering moving to Ant Media for performance reasons.

We have some questions please before deciding to buy Entreprise Licence. Sorry if our questions seem to basic for you.

We have a custom conference application where we have to create a meeting, add participants, merge webcam streams into one single video to be streamed to social media or elsewhere...

In our application everything should be done from server.

For example :

- Joining a meeting is subject to server validation. It is not automatic for a participant to join and this should be validated according to our business logic (for example if the number of participants in a meeting exceeds X, it's not possible anymore to join the meeting. Or whether the participant has the right privileges to join a specific meeting...). So the server decides if he will accept a participant or not.
- Add a logo, or title, or watermark...

Question A : Are these features possible with Ant Media from Server Side ?

Question B : Is it possible to merge participants webcam video streams ? I'm not asking about showing different videos using different HTML elements. I'm talking about merging the video on server side with the ability to add/remove a user video stream from the merge on the fly... And additionnally record the merged video.

We noticed that Ant Media is mainly client side. Although, it has a rest API, but I couldn't find any complete example of how to create a Hello World application from scratch using REST. For example creating a meeting and adding participants to it (and most importantly how to connect a webcam stream to the meeting). We came across this:  but there is almost nothing interesting. It's a generic page that explains REST applied to Ant Media. Nothing about the steps or achitecture to create an application.

Question C : Is there any documentation please that explains how to create a complete sample application using REST ? 

We couldn't find an documentation about Ant Media terminology. For example

Questions D

- What is meant by a "Broadcast" in Ant Media context ?
- What is the difference between a "Broadcast" and a "Stream" ?
- What is a publisher ?
- In Live App samples we see different implementations : Player.html, Conference.html, Peer.html... So what is really an application according to Ant Media ? Shouldn't each one of them be considered as a different Application ?
Question E : Why we don't see any of the samples in LiveApp application on the dashboard ? For example : Player.html, Conference.html, Peer.html... It's completely blank. Is there any documentation about the achitecture of an application on Ant Media ?

Question F : Is there any C#/.Net library to use with Ant Media ?

Thank you very much guys for your anwsers.


Link to comment
Share on other sites

  • Answers 1
  • Created
  • Last Reply

Top Posters For This Question

Popular Days

Top Posters For This Question

1 answer to this question

Recommended Posts

  • 0


Thank you for your interest in Ant Media, let me clear out some of your questions, first I would like to say that we are trying our best for being customer focused and we plan our development accordingly if the requests are not too specific. So we can work together on the missing parts if there are. Let me give you a bit of information.

Ant Media Server is running with Java 11 and the product is mainly a back end product for people who want to develop their own application on top of it. For example, we provide the back end possibility to do what you asked in your example, you can get number of participants in a room, you can use tokens for restricting the participation in a room and so on, however, it requires an application level coding to validate join requests to the rooms. I hope I could clearly explain my point here, maybe we can discuss it on a meeting with senior developers and sales team joining, you can book the meeting from https://calendly.com/antmedia or please send an e-mail to contact@antmedia.io for the business meetings.

Question A:
Like I said above, they are very possible to implement but it will require some customization of course.

Question B:
The MCU for merging the streams are almost there, I can provide you a snapshot for testing. It is in the beta phase currently but it will be released officially in 2.4.0 release. If you want to join testing phase and see how our implementation is being developed in action please get in touch with us from support@antmedia.io we can stay in touch.

Ant Media is actually not a client side product at all. The client side html developments like player.html are for examples to our users who will develop their own application using Ant Media at the back end. Our documentation is on this link: https://github.com/ant-media/Ant-Media-Server/wiki/Introduction
Also, if you require help we provide e-mail support for enterprise users and here in the community channel we also provide support for all of the community as Ant Media dev team.

Question C:
Documentation is here: https://github.com/ant-media/Ant-Media-Server/wiki/Introduction please navigate on it and get in contact with us if you find something missing, we would be very happy to get feedbacks and update our documentation accordingly.

Question D:
Broadcast: It is a publisher stream that contains either video audio or data channel. There is no difference between broadcast and stream actually. If we talk about broadcasting to the Ant Media it means you are pushing a stream to the Ant Media Server.

Publisher: It is an entity which is sending some stream ( video, audio or data channel ) to the Ant Media server.

Application: Our application structure in the server side is for using the server with different configurations. I think from application you are talking something like google meets, we don't provide such kind of applications, we provide back end technology for the people who wants to develop their own application. In this manner, player.html conference.html and all of them are example html pages that is intended to help customers who wants to develop their own application. We are not meant to be the end product, it provides freedom to the users to develop whatever application they want to, our aim is to provide a solid back end technology to the people who want to develop an application which requires a media server but lacks the resources since it is a bit complicated to develop and maintain a media server.

Question E:
I agree to that and in the next versions we will provide an index page that has all of the links to the example pages. The SDK documentation is here: https://github.com/ant-media/Ant-Media-Server/wiki/WebRTC-SDKs
Also we publish blogs in our website such as;

You can reach them: https://antmedia.io/blog/

Question F: I fear there are no such libraries, there are JavaScript SDK, Android and iOS native SDKs, react native SDK, Unity SDK. 

I hope I could cleared out something for you.

Link to comment
Share on other sites


  • Create New...