Radio Streamer
Guide

How to stream audio from OBS to Icecast

OBS Studio does not have a first-class audio-only output to Icecast. There are three real approaches that work, with very different trade-offs. This is an honest comparison so you can pick the right one for your setup.

Published 2026-05-08 / 11 minute read

Laptop displaying a music player
Photo: Sanjeev Nagaraj on Unsplash

The short version

Three methods exist. Pick by your situation:

If you produce in OBS on a Mac, jump to method 3. If you are on Windows or Linux, methods 1 or 2 apply for now.

Method 1: OBS Recording output + FFmpeg Custom Output

This is the method most older OBS forum posts recommend. It abuses the OBS recording output by pointing it at an Icecast URL through the FFmpeg Custom Output.

How to set it up

  1. Settings > Output. Set "Output Mode" to Advanced.
  2. Open the Recording tab.
  3. Set "Type" to Custom Output (FFmpeg).
  4. Set "FFmpeg Output Type" to Output to URL.
  5. "File path or URL": icecast://source:password@host:8000/live.mp3
  6. "Container Format": mp3 (or adts for AAC, ogg for Opus).
  7. "Audio Encoder": libmp3lame, aac, or libopus.
  8. Set "Audio Bitrate" to 128, 192, or whatever your mount expects.
  9. Disable video by clearing "Video Encoder" or setting it to a dummy.
  10. Click "Start Recording" to begin the broadcast.

What's wrong with it

The method works. It was the only path for years. It is also the reason a dedicated plugin exists.

Method 2: BUTT (or another external source client) plus a virtual audio cable

BUTT (Broadcast Using This Tool) is a standalone Qt app that has shipped audio to Icecast since 2007. To use it with OBS audio, you need a virtual audio cable so BUTT can read what OBS is producing.

How to set it up (macOS example)

  1. Install BlackHole (free virtual audio driver) or Loopback (paid, more features).
  2. Create a multi-output device in macOS Audio MIDI Setup that routes to both your speakers and BlackHole.
  3. In OBS, set "Audio Monitoring" on the relevant sources to "Monitor and Output" so the audio gets sent to the multi-output device.
  4. Install BUTT.
  5. In BUTT, set the audio input device to BlackHole.
  6. Configure BUTT's server settings with your Icecast credentials and codec.
  7. Click Play in BUTT to broadcast.

What's wrong with it

BUTT itself is a great tool. The friction is the bridge between OBS and BUTT. For non-OBS workflows (a music DJ rig pushing to Icecast), BUTT alone is the right answer. More on BUTT vs Radio Streamer.

MacBook Pro on a wooden table
Photo: Linpaul Rodney on Unsplash

Method 3: Radio Streamer plugin (the dedicated dock)

Radio Streamer is an OBS plugin that adds a dock with a single Icecast URL field, codec selector, bitrate, audio track selector, and start/stop controls. It reads from any OBS audio track directly and pushes to Icecast through FFmpeg, all in-process.

What it solves

What it does not do (yet)

Setup walkthrough

  1. Download the plugin and copy radiostreamer.plugin into the OBS user plugin folder. Restart OBS.
  2. Open Docks > Radio Streamer.
  3. Paste your Icecast URL: icecast://source:password@host:port/mount.mp3
  4. Pick codec (matching mount extension), bitrate, and audio track. Track 2 is the conventional pick if you also stream video on Track 1.
  5. Enable Reconnect.
  6. Click Start.

Detailed docs: radiostreamer.app/docs. Platform-specific guides: AzuraCast, self-hosted Icecast.

Side-by-side comparison

AspectOBS + FFmpeg Custom OutputBUTT + virtual cableRadio Streamer plugin
Setup effortMedium (deep OBS settings)High (3 things to install)Low (1 plugin)
Apps requiredOBS onlyOBS + BUTT + virtual driverOBS only
Reads from OBS audioYes (recording pipeline)Indirect (via OS device)Yes (direct, any track)
Can record video locally tooNoYesYes
Can stream to Twitch tooYes (separate pipeline)YesYes
Reconnect on dropNoYesYes
Latency overheadNone extra5 to 20 ms (virtual cable)None extra
Credentials in OBS logVisibleN/A (in BUTT logs only)Sanitized
Platform supportWindows, macOS, LinuxWindows, macOS, LinuxmacOS Apple Silicon (1.0)
CostFreeFree (BUTT, BlackHole)Free, GPL

Which method should I pick?

Use Radio Streamer if

Use FFmpeg Custom Output if

Use BUTT plus a virtual cable if

What about combining methods?

You can run more than one. A station might use Radio Streamer for live shows produced in OBS and BUTT for unattended music programming on a different rig. Icecast supports many simultaneous mounts; nothing stops you from feeding them with different clients.

What does not combine well: running FFmpeg Custom Output and Radio Streamer on the same OBS instance and pointing both at the same Icecast mount. Icecast accepts only one source per mount, so the second connection gets rejected.

Wrap up

"How to stream audio from OBS to Icecast" looks like one question and is really three, depending on what platform you are on and what else OBS is doing for you. The honest ranking for an OBS-on-Mac setup is plugin first, FFmpeg Custom Output second, BUTT third. For Windows and Linux, the order flips: BUTT first, FFmpeg Custom Output second, Radio Streamer when it lands on those platforms.