Customization of Streams in Mixer

gouravd

New Member
Hello, we are building a solution that uses Mixer heavily (Audio only). Part of our requirement is to change properties of incoming streams to the mixer.

Stream1, Stream2, Stream3 are fed to Mixer1, Stream 4, Stream 5 are fed to Mixer2. So output of mixer2 will be Stream1, Stream2, Stream3, Stream4, Stream5. But at runtime (based on specific business logic) we would like to change volume of output of Mixer1 that we send to Mixer2, so that the output of Mixer2 has normal volume of Stream4 and Stream5 but reduced volume of Stream1, Stream2, Stream3.

I explored transcoder but I did not find options to change volume.

Note: Output of Stream1 is also fed to another mixer which needs the streams at normal volumes so we cannot reduce volume from source. Is there a direct way to achieve this in Flashphoner? What other ways can we achieve this?

Note: This specific question is about voiume but we are looking for a more general purpose transcoding ability
 

Max

Administrator
Staff member
Hello

Regarding mixer volume management. Raised internal ticket WCS-2957. We will inform once we have any progress there. Currently we are gathering feature requests for Mixer. If you have particular requests, please describe it here as detail as possible. We will take into consideration.
 

gouravd

New Member
Thanks for the update Max. Currently the requirement is for manipulating volumes. Will share some more requirements shortly

On a side note also wanted to check if simple Mixer creation resource intensive too. Like if there are100s of Mixers created (with no actual mixing of streams), will that be resource intensive?
 

Max

Administrator
Staff member
Like if there are100s of Mixers created (with no actual mixing of streams), will that be resource intensive?
A mixer creation does not consume CPU much, but mixing (decoding an incoming streams and encoding outgoing one) does. So you can create any number of mixers, they start to consume CPU only when you start feeding them by streams.
However, it is not recommended to create many objects just for future use, because they will consume Java heap memory.
 

Max

Administrator
Staff member
Good day.
Since build 5.2.835 it is possible to change audio level and mute video for mixer incoming streams. In this case, the original stream remains unchanged. Video track can be muted (black screen) and then unmuted. For audio track, volume level can be set in percent up to 100, or sound can be muted by setting level to 0.
Incoming streams are managed using REST API query /mixer/setAudioVideo:
Code:
POST /rest-api/mixer/setAudioVideo HTTP/1.1
Host: localhost:8081
Accept: */*
Content-Type: application/json
Content-Length: 62
  
{
 "uri": "mixer://m1",
 "streams": "^stream.*",
 "audioLevel": 0,
 "videoMuted": true
}
Please read the details here
 
Top