-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
REQ: Allow multiple apps to be captured from Application Audio Capture (PipeWire) #24
Comments
Audio Input/Output captures stream directly from the devices. What you really want is the App Capture to be able to exclude multiple apps |
I've updated the issue accordingly. |
Turns out OBS's API doesn't allow for an easy way to create a nice interface for this. I've pushed what I've come up with so far on the multiple-apps-per-source branch.
|
Thank you for working on this 🙇 I've updated PipeWire to 0.3.63 on Ubuntu 22.04.1 because I read #17 I run my own from source OBS Studio, so I've built 29.0.0 and built your plugin from the multiple-apps-per-source branch. I created a simple scene based on my original feature request.
I've tested local recordings only and just for a few minutes, and it works perfectly ⭐ Each audio source can be manipulated independently and I haven't encountered any audio distortion/corruption. I'll update my usual streaming setup and test it for real in the next few days and report back. But thank you, this is ace! |
No issues during a 2-hour live stream using multiple instances of Audio Application Capture without and with exceptions applied. |
I've streamed several times now, and sadly, this branch of the plugin is introducing audio distortion that manifests as clicks and stutters. I'm aware of the expander/limiter bug in upstream OBS 29 and applied the patches; it is not that. I am using a build of this plugin from the tip of the main branch 32889fc, and I haven't encountered any audio distortion. |
That's interesting, no audio related changes were made. Do you have a clip where the distortions occur? |
@dimtpap It might be PipeWire itself, as I do hear the clicks in the regular version of the PipeWire Plugin too. Using PulseAudio Input Capture for my Mic in OBS seems to clear things up. I'm at conferences for the next several days, but I will do some thorough testing and report back. |
The feature branch was actually created after I made some audio related changes to the plugin. I'd assume either ff03b02 or 91b71f1 is responsible for the sound glitches but I cannot reproduce them. If you find that the plugin is indeed responsible for the glitches open another issue and as a workaround use the latest (1.0.5) release as it was published before the audio changes. |
@dimtpap can you add option to see all application in list for chooseing source, some games disable sound when switching to obs for configuration. And maybe multiple list for apps with more 2 sound streams or for other apps. |
I'd love to try this out, but I need some features from 1.1.0 — can the feature branch be rebased? |
Rebased |
@dimtpap excellent build. It is works for me. I can add application by his execute name and more than one. |
@dimtpap Sorry for the long delay in getting back to you on this. It has been a few months since I've been not streaming to prioritise work and home life.
Thank you for working on this feature and for your patience in waiting for my feedback. |
can you update this build with new feature for showing paused sources or merge builds with option for extended config |
linux-pipewire-audio-71fdfdd.zip I don't know if enough people need this to justify making the workflow harder for those that only capture single apps |
@dimtpap please update again this build, this is very comfortable for me |
linux-pipewire-audio-c35fb3c.tar.gz You can also find builds for any new commit here, under the "Artifacts" section of any entry. |
Hey, the Are there any significant drawbacks to the "normal" version, which is why you don't want to merge it into the base branch yet? Using this branch of the plugin I can separate Browser, Discord & Spotify into different channels and lump everything else (any arbitrary game and whatever is left) together, while also bypassing my EasyEffects EQ (capturing desktop audio was otherwise full of artifacts). I couldn't do that without this branch of the plugin and it has been quite the gamechanger for me. |
I'll look into that
I think finding the app in the list, clicking on it, then clicking a button is more complicated than just finding and clicking the app in the list, especially when most users want to capture a single app (just a guess). Here is my comparison Single app:
Multiple apps:
So the obvious way forward is to provide a mode drop-down, so that users can choose what trade-offs they'd rather make. I'll work on this and see how it goes (scared of complexity and feature creep) |
Thanks for the response! Yeah, I guess three clicks is more than two :'D I get the fear of feature creep, I have experienced the same in multiple projects but I think selecting multiple sources is quite a fundamental and powerful feature and is worth it to implement. Btw one thing I noticed - the plugin saves the last selected item in the dropdown menu, it just does not save what I put into the list. |
I can second the need for it, it makes recording universal audio and removing music and discord MUCH nicer. The alternative would be making 50 billion unnecessary audio captures for everything I want audio for and that would be absurdly annoying. Before this branch I was genuinely considering never listening to music while playing games again just to get around the issue. |
Big issue right now. |
This branch is critical for my workflow, would love to see updates on this. Only thing that isn't working for me is my selections are not saving between obs restarts. Edit: |
Branch was rebased and built for OBS 30.2 as well to work with Flatpak. I want to apologize for no progress on making this a main feature. I'll take a look into making this a main feature again but I can't say an ETA yet, thanks for understanding. |
Posting artifacts from this CI run because they expire |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Hey, so I installed the plugin from the branch with multiple app support. I am able to add more than one application to the list but have the problem, that the settings aren't persistent. If I close OBS and start it again, the settings previously made are gone and I have to redo all bindings it's the same issue @3urobeat also mentioned. Also wanted to show that this branch is, at least also for me, very useful since I have multiple apps which are used for example for Music and I can bundle them in one audio stream. And I'm really thankful for this plugin. If you need any logs or such I will gladly try to provide them. |
I have found that the tip from CodionCA worked for me as well. |
Indeed it does. Haven't read that. Thank you for pointing it out for me! |
Merged to main. App capture sources now have an option to choose between capturing one or multiple apps. I'd appreciate any feedback before I can release this properly, thanks. Builds from https://github.com/dimtpap/obs-pipewire-audio-capture/actions/runs/10558411473 linux-pipewire-audio-3817682-28.0.0.tar.gz |
Thank you very much for obs-pipewire-audio-capture 🙇 It has resolved several audio-related issues in my OBS Studio setup and helped simplify my scene/source composition.
Feature Request
When adding an
Application Audio Capture (PipeWire)
source, include the capability to Capture all apps but exclude multiple apps.Rationale
With this capability added it would be possible to:
Application Audio Capture (PipeWire)
and exclude Spotify and Discord.Application Audio Capture (PipeWire)
sources and managed via OBS independently of all other audio output.The text was updated successfully, but these errors were encountered: