games-on-whales / wolf

Stream virtual desktops and games running in Docker
https://games-on-whales.github.io/wolf/stable/
MIT License
643 stars 44 forks source link

microphone? #147

Open adamwolf opened 2 hours ago

adamwolf commented 2 hours ago

hiya folks! Amazing piece of kit here!

My kid is asking about voice chat in Steam. I'm relatively savvy with linux and docker, but there's a lot of pieces here! :)

Is mic input something I can rig up with a custom gstreamer pipeline?

Thanks! I apologize if this is covered somewhere--I looked in the docs, here, and via Google a bit and didn't find anything.

ABeltramo commented 2 hours ago

This is probably one of the top 5 highest requested features missing from Moonlight, see: here

With that said, I guess for desktop clients, there are ways around it.. On smart TVs or consoles, it might be more challenging.
Which client are you using?

adamwolf commented 1 hour ago

Whoops!

Right now, a Pi 5.

ABeltramo commented 1 hour ago

Nice, everything being Linux would allow you to use PulseAudio to send your microphone audio from the client straight into the PulseAudio server that we run in Wolf.

Or, if you configure a PulseAudio server on the host where Wolf is running and passthru the pulse socket under XDG_RUNTIME_DIR in the container, Wolf will try to connect to it instead of spinning an additional container with our pre-configured PulseAudio.

I know this might all sound too complex, I'd suggest to start messing around with PulseAudio via the network so that your PI microphone gets picked up by your server. Once that is setup, passing it thru to Wolf should be simple enough.

Sounds like a fun weekend project. I might try to set it up myself if I get some free time!

adamwolf commented 1 hour ago

If I get the server, and then wolf, seeing the microphone, do you think there'd be any extra configuration to get Steam to see it?

On Fri, Nov 15, 2024, 2:49 PM ABeltramo @.***> wrote:

Nice, everything being Linux would allow you to use PulseAudio to send your microphone audio from the client straight into the PulseAudio server that we run in Wolf.

Or, if you configure a PulseAudio server on the host where Wolf is running and passthru the pulse socket under XDG_RUNTIME_DIR in the container, Wolf will try to connect to it instead of spinning an additional container with our pre-configured PulseAudio.

I know this might all sound too complex, I'd suggest to start messing around with PulseAudio via the network so that your PI microphone gets picked up by your server. Once that is setup, passing it thru to Wolf should be simple enough.

Sounds like a fun weekend project. I might try to set it up myself if I get some free time!

— Reply to this email directly, view it on GitHub https://github.com/games-on-whales/wolf/issues/147#issuecomment-2479902208, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAIWYNAA2OGQPIN3FRC3IT2AZM6DAVCNFSM6AAAAABR33S77OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINZZHEYDEMRQHA . You are receiving this because you authored the thread.Message ID: @.***>

ABeltramo commented 1 hour ago

Once it's there in PulseAudio, it should just appear in the Steam settings page as an available microphone.
There would be no isolation between containers so that microphone could be accessed by other Moonlight clients, but that shouldn't be a problem in your case, right?

adamwolf commented 31 minutes ago

If I get to it this weekend, I'll write it up. I haven't rigged up Pulse Audio over the network but it looks pretty straightforward.

ABeltramo commented 28 minutes ago

Good luck and have fun!
If you need any help, feel free to ping me here or directly on our Discord server