Streaming

Live DJ Broadcasting Setup: BUTT, Mixxx & SAM Broadcaster Guide

Step-by-step guide to going live on your radio station from your computer β€” set up BUTT, Mixxx, or SAM Broadcaster to stream directly to Icecast, Shoutcast, or AzuraCast in minutes.

How Live DJ Broadcasting Works

When you want to broadcast live as a DJ β€” mixing tracks, taking calls, or hosting a show β€” you need a source encoder running on your computer. The encoder captures your audio (from a microphone, DJ mixer, or virtual audio cable), compresses it in real time, and pushes it to your streaming server (Icecast, Shoutcast, or AzuraCast).

The three most popular free source encoders for DJs and radio hosts are BUTT (Broadcast Using This Tool), Mixxx, and SAM Broadcaster. Each targets a slightly different workflow: BUTT is the simplest and most reliable for dedicated encoder use, Mixxx combines DJ mixing with built-in encoding, and SAM Broadcaster is a professional-grade Windows application combining automation with live broadcasting.

Before you start: You need a working Icecast or Shoutcast server (or an AzuraCast installation) and your server credentials ready β€” server hostname/IP, port number, mount point (for Icecast), and source password. If you're using AzuraCast, find these under your station's Broadcasting panel β†’ Connection Information.

Broadcasting with BUTT (Broadcast Using This Tool)

BUTT is a lightweight, cross-platform (Windows, macOS, Linux) encoder that does one job: take audio from a device and push it to a streaming server. It supports Icecast and Shoutcast, handles MP3 and AAC encoding, and has built-in auto-reconnect. For DJs who already have a hardware or software mixer and just need a reliable encoder, BUTT is the best choice.

Step 1 β€” Download and install BUTT from danielnoethen.de/butt. Launch it and you'll see a minimal interface with a big record/stream button and a settings icon.

Step 2 β€” Add a server. Click the settings gear β†’ Main tab β†’ Server section β†’ click the + button to add a new server. Fill in the details:

Type:     Icecast  (or Shoutcast)
Address:  your-server-ip-or-hostname
Port:     8000
Password: your_source_password
Mount:    /stream  (Icecast only β€” must match your mount name)
Name:     My Radio Station

Click Add to save. For Shoutcast, leave the Mount field empty and use the Shoutcast DJ password instead of the source password.

Step 3 β€” Configure audio. Still in settings, go to the Audio tab. Set Primary audio device to whatever your DJ mixer or microphone is connected to. If you're mixing in software (in DJ software, DAW, or Voicemeeter), set the device to your virtual audio cable output.

Step 4 β€” Set encode quality. Under the Stream tab, set format to MP3, bitrate to 128 kbps (or 192 kbps for higher quality), and sample rate to 44100 Hz. Check Reconnect on connection loss with a 5-second retry interval.

Back on the main screen, click the Play button β€” BUTT connects to your server and starts streaming your audio immediately. The VU meter shows the incoming audio level; keep it in the green-to-yellow range, avoiding red clipping.

Using a virtual audio cable: If you want to mix in Traktor, Serato, or Rekordbox and stream the output, route your DJ software's master output to a virtual audio cable (VB-Audio Virtual Cable on Windows, BlackHole on macOS), then set BUTT's input device to that same virtual cable. This gives you clean, latency-free streaming of your mix without any hardware loopback.

Broadcasting with Mixxx

Mixxx is a free, open-source DJ application for Windows, macOS, and Linux. It includes a built-in live broadcasting feature, meaning you don't need a separate encoder β€” you mix and stream from the same application. This makes it ideal for DJs who don't already have a mixing application.

Step 1 β€” Install Mixxx from mixxx.org. Open Preferences β†’ Live Broadcasting.

Step 2 β€” Configure the server. In the Live Broadcasting panel:

Type:       Icecast 2  (or Shoutcast 1/2)
Host:       your-server-ip
Port:       8000
Mount:      /stream
Login:      source
Password:   your_source_password
Stream name: Your Station Name
Stream website: https://yoursite.com

Step 3 β€” Set encoder settings. Choose MP3 at 128 kbps (Mixxx uses libmp3lame). If you need AAC/OGG, select those formats instead β€” AzuraCast and Icecast 2.4+ support all three.

Step 4 β€” Enable broadcasting. In the Mixxx toolbar, click the broadcast icon (antenna symbol) to connect. The icon turns green when connected. Mixxx will now stream your master mix to the server in real time as you DJ.

Mixxx automatically sends track metadata (artist and title) to Icecast, so your now-playing information updates as you cue tracks. This is a significant advantage over BUTT, which requires manual metadata updates.

Broadcasting with SAM Broadcaster

SAM Broadcaster (by Spacial Audio) is a professional Windows-only application combining radio automation, live mixing, and streaming. It's not free, but it offers the most complete feature set: track scheduling, jingle carts, voice tracking, listener statistics, and multi-destination streaming. It's the right choice for stations that need both automation and live broadcasting in one tool.

Step 1 β€” Set up an encoder. In SAM Broadcaster, go to the Encoders panel (bottom of the screen) and click the + button to add a new encoder. Choose MP3 (Lame) and set bitrate to 128 kbps.

Step 2 β€” Add a DSP plugin for streaming. Inside the encoder settings, click Add DSP β†’ Winamp DSP or use SAM's built-in output plugin. Select SC/IC Broadcaster from the list, then configure your server:

Protocol: Icecast 2
Server:   your-server-ip
Port:     8000
Password: your_source_password
Mount:    /stream

Step 3 β€” Connect and go live. Click Start in the encoder panel. SAM connects to the server and begins streaming. You can now use SAM's main interface to play tracks from the cart system, run scheduled playlists, or broadcast your microphone β€” everything goes out through the same encoder in real time.

SAM Broadcaster and Windows Firewall: On a fresh Windows installation, the first time SAM Broadcaster connects to an external server, Windows Firewall may prompt you to allow the connection. Click Allow Access. If the connection fails silently, check Windows Defender Firewall β†’ Allow an app through firewall and ensure SAM Broadcaster is listed with both Private and Public access enabled.

Going Live on AzuraCast

AzuraCast has a dedicated live DJ system that works differently from a regular Icecast source connection. Instead of connecting directly to Icecast, DJs connect to AzuraCast's Liquidsoap input, which then manages the transition between AutoDJ and live broadcasting automatically.

In your AzuraCast station panel, go to Broadcasting β†’ DJ/Streamer Accounts β†’ Add Streamer. Create a DJ account with a username and password. AzuraCast will show you the exact connection details for that streamer.

In BUTT, use these settings:

Address:  your-azuracast-domain.com
Port:     8090  (AzuraCast's live DJ port β€” different from the listener port)
Password: the DJ streamer password
Mount:    /live  (AzuraCast's default live mount)

When you connect, AzuraCast automatically pauses the AutoDJ playlist and switches to your live feed. When you disconnect, AutoDJ resumes seamlessly within a few seconds. Listener count, metadata, and stream history are all tracked under that DJ account in the AzuraCast panel.

AzuraCast live DJ priority: You can set each DJ streamer account's priority level in the Streamer settings. If two DJs try to connect at the same time, the one with higher priority takes the live feed. Lower-priority connections are queued and take over automatically if the higher-priority DJ disconnects.

Need a live broadcasting setup done for you?

RadioTech Studio configures live DJ systems, encoder software, and AzuraCast setups from scratch. Fast turnaround, no technical jargon.

Get Set Up Today β†’

Audio Quality and Bitrate Tips

Bitrate is the most impactful setting for audio quality. For music-heavy radio, 128 kbps MP3 is the standard for casual listening β€” it sounds fine on phones and earbuds. For high-quality music stations targeting audiophiles or desktop listeners, use 192 kbps MP3 or 128 kbps AAC (which sounds noticeably better than 128 kbps MP3 due to more efficient compression). Avoid going below 96 kbps for music β€” compression artifacts become clearly audible.

Sample rate should always be 44100 Hz (44.1 kHz) for music content, matching the standard CD audio sample rate. Using a different sample rate causes your encoder to resample on the fly, which slightly degrades quality and adds CPU load. Stereo is almost always preferable over mono for music β€” it doubles the bitrate but the stereo image is worth it for music content. Use mono only for pure talk/speech stations where stereo adds no value.

Monitor your levels before going live. Clipping (signal above 0 dBFS) causes harsh digital distortion that listeners will immediately notice. Aim for peaks around -3 to -6 dBFS on the encoder's input meter. If you're using a hardware DJ mixer, set its master output to about 80% and fine-tune in the encoder or a software gain stage.

Tips for a Stable Live Broadcast

A live broadcast has no room for technical problems β€” listeners hear every glitch in real time and won't wait for you to fix it. These habits eliminate the most common live broadcast failures:

Use a wired internet connection. Wi-Fi introduces packet loss, variable latency, and occasional signal drops β€” all of which cause audible stutters or full stream disconnections. For live broadcasting, always use Ethernet directly from your router. If that's not possible, a powerline Ethernet adapter is far more reliable than Wi-Fi.

Test 30 minutes before going live. Connect to your server, play some music, and listen on a separate device (phone on mobile data, not the same Wi-Fi) to confirm the stream sounds good end-to-end. Check your metadata is updating correctly and that the bitrate you configured matches what the server reports.

Enable auto-reconnect everywhere. In BUTT: Settings β†’ Stream β†’ check Reconnect on connection loss. In Mixxx: it reconnects automatically. In SAM Broadcaster: set retry attempts to unlimited in the encoder settings. A brief internet hiccup should recover in 5–10 seconds without you needing to intervene.

Close unnecessary applications. Video calls, large file downloads, and video streaming compete for bandwidth with your encoder. Before going live, close anything that uses significant upload bandwidth and set your encoding bitrate to no more than 50% of your available upload speed.

Keep a backup encoder ready. Have a second computer or phone with a mobile data connection and BUTT configured to the same server. If your primary setup fails catastrophically, you can start broadcasting from the backup within 60 seconds while you diagnose the primary issue.