All I want is to be able to record only one application, rather than all audio. I know I can turn off the mic audio in OBS, but I haven’t figured out how to record only a game’s audio, e.g. I’m using Pipewire.
There is a roundabout way to do this, and Pipewire has a graphical way to do this, so you can run it all natively on system audio.
In essence you create a new audio sink, and reroute your game audio to the sink while also routing the sink back to your speakers/headphones, so you can hear it.
Then in OBS you can pick that game only sink as your audio source. Nothing else would get captured.
But I’ll check that plugin in other comments, seems like a more robust solution for OBS specifically.
That’s a very interesting solution. Could you please give a little more detail on which graphical application I would install to do that routing? Sounds like fun, kind of.
I’m assuming the game would have to be running first in order to do the routing? And you’d have to do this every time you wanted to record/stream?
https://wiki.archlinux.org/title/PipeWire check the applications in GUI section.
You can likely save the wiring or script it to reset, it may also depend on your desktop manager or other app that assigns what app uses what audio output.
For that you can use https://github.com/dimtpap/obs-pipewire-audio-capture
Add a new souce of this type, and it will add a new audio track, for which you can select which application(s) you want to be captured for that source. Works pretty much like the pipewire screen capture source in obs, but for audio.
I usually have 3 of these sources running: Discord, Game and Music player audio; in addition to a normal full desktop audio capture and my mic. They all go on separate audio tracks in the output file.
I’m not super familiar with OBS for… actually capturing/streaming games, but if you add a new source of “Game Capture”, select your game window and the check the “Capture Audio” option it should work. Though I see it is marked as beta lol