audiomixer usage

Michael Gruner michael.gruner at ridgerun.com
Wed Dec 25 18:24:38 UTC 2024


Hi there, happy holidays.

What you describe is a well known topology named MCU: Multipoint Control Unit. There are others worth exploring, like SFU: Selective Forwarding Unit or Mesh. I know this is not was what you asked, but I hope it eases your research.

https://medium.com/@toshvelaga/webrtc-architectures-mesh-mcu-and-sfu-12c502274d7

Now to your question, the MCU approach would be to have one audiomixer per client. Each client audiomixer will mix all the other channels, except itself. This is easy to implement, but will load tremendously the server. It might not more manageable with audio only.

The SFU approach would be not to use an audiomixer in the server at all. Each client would receive N network stream, each for every other clients. These are then mixed locally by each client. This is very lightweight in the server, but consumes exponentially more network bandwidth which, again, may be manageable with audio only. 

If, for whatever reason, you need to filter out using DSP techniques, you may look into echo cancellation. Check the work by Nicholas in

https://www.collabora.com/news-and-blog/blog/2016/07/08/gstreamer-echo-canceller/

Note that this is not quite the intended purpose and, personally, is not the approach I would go for.

Finally, please recall that you'll likely get more answers in the gstreamer discourse:

https://discourse.gstreamer.org/

Michael
www.ridgerun.com

> On 25 Dec 2024, at 07:27, Pradeep Acharya via gstreamer-devel <gstreamer-devel at lists.freedesktop.org> wrote:
> 
> 
> Hi All,
> 
> I'm new to developing audio conferencing solutions on server side and implementing the same using audiomixer plugin. The output of the mixer has audio mixed that is received from all participants. The mixed audio has to be transmitted to all participants.  Before transmitting mixed audio, participants' audio has to be filtered out from the output generated by the audio mixer and sent to that participant. Is there any plugin that checks and filters out samples from the output generated by audiomixer plugin? If there is no such plugin , kindly let me know other possible solutions for this.
> 
> Thanks & Regards
> 
> 
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20241225/9c2b051d/attachment.htm>


More information about the gstreamer-devel mailing list