Request: Volume Control for obs-browser #11

Closed
opened 2016-01-24 18:45:10 -06:00 by LevantinLynx · 24 comments
LevantinLynx commented 2016-01-24 18:45:10 -06:00 (Migrated from github.com)

Currently there is no way to mute sounds from pages.
Additional if one uses the browser to embed twitchalerts (with sound) on multiple scenes they all play on event trigger.

Currently there is no way to mute sounds from pages. Additional if one uses the browser to embed twitchalerts (with sound) on multiple scenes they all play on event trigger.
Gol-D-Ace commented 2016-03-06 07:37:58 -06:00 (Migrated from github.com)

You can unload the browser source when it's not showing.
06-03-2016_14 37 20

You can unload the browser source when it's not showing. ![06-03-2016_14 37 20](https://cloud.githubusercontent.com/assets/5058319/13554479/ff1b4aae-e3a8-11e5-9bf2-f4e5b67e185f.png)
LevantinLynx commented 2016-03-08 04:32:10 -06:00 (Migrated from github.com)

Thanks Gol-D-Ace,
well this solves my immediate problem, will leave the request open 'cause it still would be very nice to be able to change the volume of a browser source.

Thanks Gol-D-Ace, well this solves my immediate problem, will leave the request open 'cause it still would be very nice to be able to change the volume of a browser source.
OsirisNL commented 2016-03-08 05:23:38 -06:00 (Migrated from github.com)

Unfortunately until CEF supports that kind of handling of audio, that won't happen.

Unfortunately until CEF supports that kind of handling of audio, that won't happen.
jnovack commented 2016-04-25 11:01:54 -05:00 (Migrated from github.com)

Would this mean adding an "audio source" in the panel for this individual browser source instance (in the event I had multiple browser sources instances)?

Would this mean adding an "audio source" in the panel for this individual browser source instance (in the event I had multiple browser sources instances)?
LevantinLynx commented 2016-04-25 11:34:04 -05:00 (Migrated from github.com)

That is exactly what i would like to see. Individual volume controls per browser source instance in the scene. Given that it's supported ofc.

That is exactly what i would like to see. Individual volume controls per browser source instance in the scene. Given that it's supported ofc.
jp9000 commented 2016-04-25 13:46:25 -05:00 (Migrated from github.com)

Different volume per scene item (rather than per source) is basically implemented internally but hasn't been put in to the main UI. The question is how to implement something like that in to the user interface in a way in which wouldn't be confusing or convoluted to most casual users.

Different volume per scene item (rather than per source) is basically implemented internally but hasn't been put in to the main UI. The question is how to implement something like that in to the user interface in a way in which wouldn't be confusing or convoluted to most casual users.
OsirisNL commented 2016-04-25 16:44:49 -05:00 (Migrated from github.com)

But first CEF needs to support it.

But first CEF needs to support it.
jp9000 commented 2016-04-25 16:45:27 -05:00 (Migrated from github.com)

CEF itself? I think it does. I know people have accomplished it elsewhere. I could be totally crazy though.

CEF itself? I think it does. I know people have accomplished it elsewhere. I could be totally crazy though.
dodgepong commented 2016-04-25 16:45:44 -05:00 (Migrated from github.com)

I know that vMix found a way to do it, somehow.

I know that vMix found a way to do it, somehow.
jnovack commented 2016-04-25 16:53:56 -05:00 (Migrated from github.com)

The question is how to implement something like that in to the user interface in a way in which wouldn't be confusing or convoluted to most casual users.

I just imagined that "Source Name" would show up in Mixer when the scene was selected, just like media sources do now.

> The question is how to implement something like that in to the user interface in a way in which wouldn't be confusing or convoluted to most casual users. I just imagined that "Source Name" would show up in **Mixer** when the scene was selected, just like media sources do now.
OsirisNL commented 2016-04-25 16:54:52 -05:00 (Migrated from github.com)

The CEF docs don't seem to reference anything related to audio.

The CEF docs don't seem to reference anything related to audio.
jp9000 commented 2016-04-25 17:47:51 -05:00 (Migrated from github.com)

Ah, maybe it was a specific audio-related patch someone did. I really need to make time to contribute to the plugin.

Ah, maybe it was a specific audio-related patch someone did. I really need to make time to contribute to the plugin.
OsirisNL commented 2016-04-26 01:58:05 -05:00 (Migrated from github.com)
Perhaps you saw this? https://bitbucket.org/chromiumembedded/cef/pull-requests/18/adding-audio-support/
CoDEmanX commented 2016-09-06 06:31:13 -05:00 (Migrated from github.com)

jp9000: Different volume per scene item (rather than per source) is basically implemented internally but hasn't been put in to the main UI. The question is how to implement something like that in to the user interface in a way in which wouldn't be confusing or convoluted to most casual users.

Maybe there should really be two modes of operation, basic and advanced? My first idea was to separate studio mode and basic mode stronger, but on second thought that is probably not a good idea as you still may want the "staging" area to reconfigure your scenes during streaming/recording but otherwise want to use just basic functionality of OBS.

Advanced audio routing/control could be part of an "advanced" mode, with more knobs and shebang if you know what you are doing.

> jp9000: Different volume per scene item (rather than per source) is basically implemented internally but hasn't been put in to the main UI. The question is how to implement something like that in to the user interface in a way in which wouldn't be confusing or convoluted to most casual users. Maybe there should really be two modes of operation, basic and advanced? My first idea was to separate studio mode and basic mode stronger, but on second thought that is probably not a good idea as you still may want the "staging" area to reconfigure your scenes during streaming/recording but otherwise want to use just basic functionality of OBS. Advanced audio routing/control could be part of an "advanced" mode, with more knobs and shebang if you know what you are doing.
sergey-v9 commented 2019-01-09 17:56:21 -06:00 (Migrated from github.com)

Since CEF on the way to add necessary (I guess?) changes at https://bitbucket.org/chromiumembedded/cef/pull-requests/177/add-ability-to-capture-audio-output-to
Are you planning to review this and implement separate audio sources for the Browser?

Btw, my use case: do not include audio playing in the one of browsers into the stream record file but keep it on the live stream.

It is related to #15 too.

Since CEF on the way to add necessary (I guess?) changes at https://bitbucket.org/chromiumembedded/cef/pull-requests/177/add-ability-to-capture-audio-output-to Are you planning to review this and implement separate audio sources for the Browser? Btw, my use case: do not include audio playing in the one of browsers into the stream record file but keep it on the live stream. It is related to #15 too.
WizardCM commented 2019-01-09 18:08:47 -06:00 (Migrated from github.com)

Thanks for bringing this particular issue number to my attention.

There is now a browser source branch here (audio_support) which adds this capability. It will require testing, however it won't get merged to master until both CEF PRs have been reviewed and are confirmed to be merged with CEF. This is in case they change, as we want something relatively stable before we include it in OBS.

Relies on two cef PR:
177 : Add ability to capture audio output to buffer via cef handler
173 : Mute audio in the browser (issue #1806)

The audio from browser source is now muted to desktop.
It can be captured and monitored.
The PR is compatible with multiple audio sources in same browser page.

Animation of browser volume meter

Thanks for bringing this particular issue number to my attention. There is now a browser source branch [here](https://github.com/obsproject/obs-browser/tree/audio_support) (audio_support) which adds this capability. It will require testing, however **it won't get merged to master until both CEF PRs have been reviewed and are confirmed to be merged with CEF**. This is in case they change, as we want something relatively stable before we include it in OBS. > Relies on two cef PR: 177 : Add ability to capture audio output to buffer via cef handler 173 : Mute audio in the browser (issue #1806) > > The audio from browser source is now muted to desktop. It can be captured and monitored. The PR is compatible with multiple audio sources in same browser page. ![Animation of browser volume meter](https://cdn.discordapp.com/attachments/398528383266586627/530526886279774227/2019-01-03_15-24-07.gif)
dragonbane0 commented 2019-02-09 18:20:34 -06:00 (Migrated from github.com)

This is literally essential for us and until now we had to re-route OBS's whole output audio to itself via hacky means to control the browser audio which is quite unstable. Thank you for getting this drafted up so quick with the CEF PR's on the horizon!

This is literally essential for us and until now we had to re-route OBS's whole output audio to itself via hacky means to control the browser audio which is quite unstable. Thank you for getting this drafted up so quick with the CEF PR's on the horizon!
WizardCM commented 2019-02-09 18:42:23 -06:00 (Migrated from github.com)

Latest update: "Add ability to capture audio output to buffer via cef handler" has been tested by Marshall of CEF and it's looking very promising (could be merged soon). "Mute audio in the browser" has been resubmitted to ensure it covers all of Marshall's concerns, but it's looking like that one will be merged too.

These changes should not be expected in OBS v23 (RC came out today), but we're keeping a very close eye on this for a future version of OBS.

Latest update: "Add ability to capture audio output to buffer via cef handler" has been tested by Marshall of CEF and it's looking very promising (could be merged soon). "Mute audio in the browser" has been resubmitted to ensure it covers all of Marshall's concerns, but it's looking like that one will be merged too. These changes should not be expected in OBS v23 (RC came out today), but we're keeping a very close eye on this for a future version of OBS.
RytoEX commented 2019-02-09 18:45:17 -06:00 (Migrated from github.com)

@WizardCM @DDRBoxman
Following up with some links, CEF PR 173 has been superseded by CEF PR 195.

CEF PR 177 currently looks like it will be merged into CEF 3683, though that may change. CEF PR 177 is undergoing some last minute changes at the moment.

Edit: @WizardCM Looks like you and I more or less covered the same thing. I'd typed up my comment earlier but didn't submit till just now, so we ended up cross--posting.

@WizardCM @DDRBoxman Following up with some links, [CEF PR 173](https://bitbucket.org/chromiumembedded/cef/pull-requests/173/mute-audio-in-the-browser-issue-1806/diff) has been superseded by [CEF PR 195](https://bitbucket.org/chromiumembedded/cef/pull-requests/195/mute-audio-in-the-browser-issue-1806/diff). [CEF PR 177](https://bitbucket.org/chromiumembedded/cef/pull-requests/177/add-ability-to-capture-audio-output-to/diff) currently looks like it will be merged into CEF 3683, though that may change. CEF PR 177 is undergoing some last minute changes at the moment. Edit: @WizardCM Looks like you and I more or less covered the same thing. I'd typed up my comment earlier but didn't submit till just now, so we ended up cross--posting.
dragonbane0 commented 2019-02-25 16:46:33 -06:00 (Migrated from github.com)

Looks like both PRs are about to get merged which is promising

Looks like both PRs are about to get merged which is promising
dragonbane0 commented 2019-03-13 22:24:57 -05:00 (Migrated from github.com)

CEF Branch 3683 now has both relevant PRs merged in: https://bitbucket.org/chromiumembedded/cef/branch/3683

CEF Branch 3683 now has both relevant PRs merged in: https://bitbucket.org/chromiumembedded/cef/branch/3683
WizardCM commented 2019-03-14 17:24:48 -05:00 (Migrated from github.com)

PR #157 has been submitted.

PR #157 has been submitted.
ntrujillo commented 2019-04-13 23:54:29 -05:00 (Migrated from github.com)

SOLUTION!! sooo alot simpler than what yall are making it. Go to windows volume mixer and turn down OBS volume, it turns down the output volume of the browser for both your viewers and yourself! :D hope this helped

SOLUTION!! sooo alot simpler than what yall are making it. Go to windows volume mixer and turn down OBS volume, it turns down the output volume of the browser for both your viewers and yourself! :D hope this helped
WizardCM commented 2019-12-27 16:43:27 -06:00 (Migrated from github.com)

Whoops, looks like we forgot to close this ticket once we merged and released this capability! If you haven't already, update to OBS Studio v24.0.x :)

Whoops, looks like we forgot to close this ticket once we merged and released this capability! If you haven't already, update to OBS Studio v24.0.x :)
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
gh-obsproject/obs-browser#11
No description provided.