audiomixer usage

Pradeep Acharya pradeep.acharya1008 at gmail.com
Thu Dec 26 05:21:23 UTC 2024


Hi Michael,

Thanks a lot for the quick reply . To keep the server load less, SFU is
used for Video and MCU for audio so that the number of audio decoding that
the client has to do will be reduced . I was thinking of optimizing the
number of audio mixers used in MCU architecture .From your explanation , i
get that AEC  needs to be used to cut off participant's own audio. Again,
this method would impose using AEC on each client.

Regards
Pradeep

On Wed, Dec 25, 2024 at 11:54 PM Michael Gruner <michael.gruner at ridgerun.com>
wrote:

> 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/20241226/25806f21/attachment.htm>


More information about the gstreamer-devel mailing list