I have a design question: when I use multiple routers, how can I monitor the audio level for a group of producers belonging to the same room and spanning different routers?
A simple solution could be creating only one AudioLevelObserver per router and adding all audio producers to it, tracking audio “level” events and sending them to the corresponding rooms. The drawback is that the “silence” event does not make sense because producers can be part of different rooms. It’s not clear to me if this approach could lead to some performance issues.
You can just create an
AudioLevelObserver in each Router by adding all audio Producers belonging to the same “meta-room” into them, and then correlate “volume” events in all them.
I found an error in the documentation: https://mediasoup.org/documentation/v3/mediasoup/api/#rtpObserver-addProducer
addProducer method requires a dictionary with
producerId property set (https://github.com/versatica/mediasoup-demo/blob/56c369e43c92217aca082544c4c0603ac59d32d8/server/lib/Room.js#L603), but the
Producer class has the
id property, not
How do you think one should go about “correlating” different ALOs?
I’m working on a similar problem that requires “aggregating” ALO states