Hacker News new | ask | show | jobs
by imiric 1830 days ago
ffmpeg does this (and a thousand other things). For Linux and PulseAudio:

  ffmpeg -f pulse -i alsa_output.pci-0000_00_1f.3.analog-stereo.monitor -c:a libopus -b:a 128k capture.opus
Virtual streams are also supported natively by PulseAudio, so you can do some simple mixing of inputs/outputs, in which case you'd specify a different -i value above.

Sidenote shoutout to PulseAudio. It's really come a long way and things just work nowadays, including high bitrate Bluetooth codecs. I haven't had the need to try something else like Pipewire.