-1

I have the following simple pipeline in linux, which I use to send output audio from a device to other.

gst-launch-1.0 -v pulsesrc ! audioconvert ! opusenc ! rtpopuspay ! udpsink port=$2 host=$1

How would I do the same on windows? What GStreamer element, can I use? I tried wasapisrc which only captured the mic audio and not the speaker. Can I fix this or is there another element altogether for this ?

aispark
  • 159
  • 8

1 Answers1

1

I tried to use the loopback option in the wasapisrc element but it didn't work. I think the documentation is probably outdated.

What worked for me is, enabling Stereo Mix on Windows('https://thegeekpage.com/stereo-mix/') and using it as a source in wasapisrc

After enabling it, do gst-device-monitor-1.0 Audio/Source to get list of all the Audio input devices and under it there would be Stereo Mix, copy the device.strid of it and do gst-launch-1.0 waspisrc device=$device.strid ! fakesink.

This will capture the audio coming to speaker on windows, and you can do anything with it, streaming to other devices, recording or mixing or anything. Also the low-latency option to wasapisrc set to true brings a little improvement in latency too.

aispark
  • 159
  • 8