Live AAC+ Audio Encoder for Icecast v2
Designed and optimized exclusively for Icecast v2 servers.
© 2026 • XciteMediaWorX • All rights reserved.
RPh Livecaster is a lightweight, professional-grade live audio encoder designed exclusively for Icecast v2 streaming servers. It captures audio from any Windows input device, applies an optional multi-stage DSP processing chain, encodes it as AAC+ (HE-AAC v1 / HE-AAC v2) or AAC-LC, and transmits it to your Icecast server in real time.
| Requirement | Minimum |
|---|---|
| OS | Windows 7 SP1 through Windows 11 |
| CPU | Any x64 processor (very low CPU usage) |
| RAM | < 20 MB |
| Disk | < 5 MB (portable) |
| Audio | Any Windows audio input device |
| Network | Internet connection for streaming |
| Runtime | Visual C++ Redistributable 2022 |
RPh Livecaster is a portable, self-contained application — no installer required. The AAC encoding library is built into the executable.
Important: Only download RPhLivecaster.exe from the official source: https://download.radyoph.com. Do not trust copies obtained from any other website or third party.
RPhLivecaster.exe to any folder on your PC.RPhLivecaster.exe to launch.config.dat file is automatically created in the same folder to store your settings.Note: Only one instance of RPh Livecaster can run at a time. Attempting to launch a second instance will bring the existing window to the foreground.
On the very first launch, Windows may display a SmartScreen warning that reads "Windows protected your PC" or "The app is not commonly downloaded and could be unsafe." This is normal and expected — here is why:
To proceed past the warning:
This warning will only appear once. After you run the application the first time, Windows remembers your choice and will not prompt you again on subsequent launches.
RPh Livecaster requires a valid license to operate. The license is validated against the lic.radyoph.com license server.
XXXXX-XXXXX-XXXXX-XXXXX.The license is bound to your machine (via Windows Machine GUID) to prevent unauthorized sharing.
After a successful validation, the license is cached locally (encrypted with Windows DPAPI in the registry). If your machine goes offline:
| Error Message | Cause | Fix |
|---|---|---|
| "Could not reach the license server." | No internet or server down | Check your internet connection and try again |
| "License has expired." | License validity period ended | Contact XciteMediaWorX to renew |
| "License is suspended." | Admin suspended your license | Contact XciteMediaWorX support |
| "License has been revoked." | License permanently revoked | Contact XciteMediaWorX for a new key |
| "Device limit exceeded." | Too many machines using this key | Deactivate other devices or contact support |
| "An active license already exists for this email." | Email already has a trial | Use the license key that was emailed to you |
| "Free trial already used on this device." | This PC already had a trial | Purchase a full license |
| "Full name and email are required." | Empty trial form fields | Fill in both fields |
The main window is a compact, dark-themed interface displaying all essential streaming information at a glance.
Exit Confirmation Dialog:
When you click the close button, a themed dialog appears asking "What would you like to do?" with two options:
Three circular LED indicators in the upper area, each alternating between showing its status color and a text label every 2 seconds (staggered timing so they don't all change at once):
| LED | Label | Green | Yellow | Orange | Red | Grey |
|---|---|---|---|---|---|---|
| LED 1 | Internet | Stable connection | — | — | No internet | Checking… |
| LED 2 | Encoder | Streaming | — | Buffering / reconnecting | Error or disconnected | Idle (not started) |
| LED 3 | Audio | Quiet (-24 to -12 dBFS) | Good (-12 to -3 dBFS) | Excellent (-3 to -0.5 dBFS) | Overmod (> -0.5 dBFS) | Mute (< -24 dBFS) |
The staggered cycle ensures only one LED transitions at a time, preventing visual chaos. The hold time is 3 seconds — brief status spikes are held to prevent rapid flickering.
A professional-grade stereo LED VU meter with two rows of 31 LEDs each (Left and Right channels):
The meter uses true RMS metering with quarter-power scaling for wide dynamic range. Unlit LEDs show a dark-tinted version of their color (not black), mimicking real hardware LED meters.
The visualizer reflects the post-DSP audio level from the assigned input device, including any active processing stages.
| Field | Description | Example |
|---|---|---|
| Quality: | Current codec and bitrate | HE-AAC v1 @ 64 kbps |
| Server: | Icecast server address | sound.amfm.link:8015/xfm |
| Input: | Selected audio input device | Line 1 (Breakaway Pipeline) |
| Field | Description | Example |
|---|---|---|
| Name: | Stream name from Icecast server | XFM Roxas |
| Title: | Current metadata / song title | Artist - Song Title |
| Listeners: | Current listener count | 42 |
| Start: | Encoder start timestamp | 2026.03.04.10:30:00 |
| Elapsed: | Time since encoding started | 01:23:45 |
| Data: | Total data transmitted | 12.5 MB |
The Name, Title, and Listeners fields are fetched from the Icecast server's status endpoint automatically (derived from your server address with port offset −5).
| Button | State | Color | Icon | Action |
|---|---|---|---|---|
| Start | Idle | Grey | — | Click to begin encoding |
| Online | Connected | Green | Wi-Fi | Active stream indicator |
| Offline | Disconnected | Red | Wi-Fi crossed | Connection lost |
| Reconnecting | Auto-reconnect | Orange | Plug disconnected | Alternates with "Disconnected" |
| Stop | Always visible | Dark | — | Stops encoding |
| Settings | Always visible | Dark | — | Opens Settings |
Important: Clicking Settings while encoding is active shows a toast popup: "Stop encoding before changing settings." It auto-dismisses after 2 seconds.
The Settings window opens as a separate window locked on top of the main window — if you drag Settings, the main window moves with it. Settings has five tabs: System, Server, Audio, DSP, and About.
Two-column layout of toggle switches:
| Left Column | Right Column |
|---|---|
| Start with Windows — Launch on startup | Encode on launch — Auto-start encoding |
| Start minimized — Launch to taskbar/tray | Auto reconnect — Infinite retry on disconnect |
| Minimize to tray — System tray instead of taskbar |
Icecast v2 server configuration. Header: "Icecast v2 server configuration required."
| Field | Description | Placeholder | LED |
|---|---|---|---|
| Address: | Server in host:port/mount | put.domain.here:port/mount | Reachable Unreachable Empty |
| Password: | Source password | the_password_here | Accepted Rejected Empty |
| Metadata: | Stream title | Personalize Your Stream Title Here | Has content Empty |
How validation works: Each field has a small LED to its right that validates in real-time as you type — no "Test" button needed.
Interpreting LED combinations:
| Address | Password | Meaning |
|---|---|---|
| Green | Green | Ready to stream — server reachable, credentials correct |
| Green | Red | Server reachable but wrong password |
| Green | Grey | Server reachable, no password entered yet |
| Red | Grey | Server unreachable or bad address format |
| Grey | Grey | No address entered |
The eye button (●) next to the password field toggles visibility.
Note: Icecast v2 does not require a username. The username source is used automatically.
Configures the encoder and audio devices.
Codec / Sample Rate (automatic — displayed at top):
| Bitrate Range | Codec | Sample Rate |
|---|---|---|
| 16–32 kbps | HE-AAC v2 (aacPlus v2) | 32,000 Hz (forced) |
| 40–48 kbps | HE-AAC v2 (aacPlus v2) | 44,100 Hz |
| 64–96 kbps | HE-AAC v1 (aacPlus) | Match input |
| 128–192 kbps | AAC-LC (Standard AAC) | Match input |
Controls:
| Control | Description |
|---|---|
| Bitrate (dropdown) | 16, 24, 32, 40, 48, 64, 80, 96, 128, 160, 192 kbps |
| Stereo/Mono (dropdown) | Stereo or Mono output |
| Listen (toggle) | Real-time audio preview through an output device |
| Input (dropdown) | Select audio input device |
| Output (dropdown) | Select output device for Listen preview |
Input / Output VU LEDs: Each dropdown has a strip of 9 small LEDs to its right showing signal level (green → yellow → orange → red).
Interactive Device Switching: Changing Input or Output takes effect immediately — no need to click OK.
Persistent Device Binding: RPh Livecaster remembers devices by Windows endpoint ID. Plugging/unplugging other USB devices will not change your selected input.
10-stage audio processing chain with toggle switches, sliders, and real-time LED meters.
| Toggle | Function | Parameters |
|---|---|---|
| HPF | High-Pass Filter — removes rumble below 70 Hz | Fixed (2nd-order Butterworth) |
| Gate | Noise Gate — silences audio below −50 dBFS | Fixed (−50 dBFS, ~50ms ramp) |
| Gain | Pre-amplifier | −24 dB to +24 dB (slider) |
| AGC | Automatic Gain Control | Speed: 1.0s (fast) to 5.0s (slow) |
| Comp | Compressor | Speed: 50ms (tight) to 300ms (soft), Threshold, Ratio, Makeup |
| Boost | +1.5 dB output compensator | Fixed |
| Bass | Low-shelf EQ @ 100 Hz, +3 dB | Fixed |
| Width | Stereo Width enhancer | Fixed (mono below ~200 Hz) |
| Opt | Codec Camouflage — minimizes codec artifacts | Auto-tuned to bitrate/codec |
| Limit | Peak Limiter @ −1.0 dBFS | Fixed (no user control) |
LED Status Indicators — two rows of 5 LEDs at the top of the DSP tab:
| 1 | 2 | 3 | 4 | 5 | |
|---|---|---|---|---|---|
| Row 1 | HPF | Gate | Gain | AGC | Comp |
| Row 2 | Boost | Bass | Width | Opt | Limit |
Audio Input
│
▼
┌─────────────┐
│ 1. HPF │ High-Pass Filter @ 70 Hz (rumble cut)
└──────┬──────┘
▼
┌─────────────┐
│ 2. Gate │ Noise Gate @ −50 dBFS
└──────┬──────┘
▼
┌─────────────┐
│ 3. Gain │ Pre-amplifier (−24 to +24 dB)
└──────┬──────┘
▼
┌─────────────┐
│ 4. AGC │ Automatic Gain Control (1.0s – 5.0s)
└──────┬──────┘
▼
┌─────────────┐
│ 5. Comp │ Compressor (50ms – 300ms)
└──────┬──────┘
▼
┌─────────────┐
│ 6. Boost │ +1.5 dB compensator
└──────┬──────┘
▼
┌─────────────┐
│ 7. Bass │ Low-shelf EQ @ 100 Hz, +3 dB
└──────┬──────┘
▼
┌─────────────┐
│ 8. Width │ Stereo Width enhancer
└──────┬──────┘
▼
┌─────────────┐
│ 9. Opt │ Codec Camouflage (Preconditioner)
└──────┬──────┘
▼
┌─────────────┐
│10. Limit │ Peak Limiter @ −1.0 dBFS
└──────┬──────┘
▼
AAC Encoder → Icecast Server
| # | Stage | Purpose | When to Use |
|---|---|---|---|
| 1 | HPF | Removes subsonic rumble, mic noise, HVAC hum | Always recommended for mic inputs |
| 2 | Gate | Silences dead air, hiss, room noise | Talk / voice formats |
| 3 | Gain | Adjusts input level before processing | Input too quiet or too loud |
| 4 | AGC | Normalizes volume across sources | Music playout with varying levels |
| 5 | Comp | Reduces dynamic range | Professional broadcast sound |
| 6 | Boost | +1.5 dB post-compression compensator | After Comp if output is too quiet |
| 7 | Bass | Adds warmth to low end | Thin-sounding sources |
| 8 | Width | Enhances stereo, keeps bass mono | Music streaming |
| 9 | Opt | Codec Camouflage (adaptive LPF + transient preservation) | Recommended for 64 kbps and below |
| 10 | Limit | Hard ceiling at −1.0 dBFS | Highly recommended — prevents clipping |
All DSP processing runs in the float domain (int16 → float → process → float → int16) to eliminate cumulative quantization noise. The LED meters measure RMS energy at each stage using quarter-power scaling for wide dynamic range visualization.
| Bitrate | Codec | Best For |
|---|---|---|
| 16–48 kbps | HE-AAC v2 | Ultra-low bitrate, speech, limited bandwidth |
| 64–96 kbps | HE-AAC v1 | Standard internet radio streaming |
| 128–192 kbps | AAC-LC | High-quality music streaming |
The default and recommended setting is 64 kbps HE-AAC v1 (aacPlus) — the industry standard for internet radio.
Click [Stop]. The encoder disconnects and the button returns to [Start].
When Auto reconnect is enabled (Settings → System):
RPh Livecaster uses a 5-second thread-safe ring buffer between the encoder and the network transmitter. This absorbs:
If the buffer overflows (outage > 5 seconds), the oldest data is discarded to keep the stream live.
| LED | Label | Color | Meaning |
|---|---|---|---|
| 1 | Internet | Green | Stable internet connection |
| Red | No internet connection | ||
| Grey | Checking connectivity… | ||
| 2 | Encoder | Green | Connected and streaming |
| Orange | Buffering or reconnecting | ||
| Red | Disconnected or error | ||
| Grey | Idle (not started) | ||
| 3 | Audio | Green | Quiet audio signal (-24 to -12 dBFS) |
| Yellow | Good audio signal (-12 to -3 dBFS) | ||
| Orange | Excellent audio signal (-3 to -0.5 dBFS) | ||
| Red | Overmodulation (above -0.5 dBFS) | ||
| Grey | Mute (below -24 dBFS) |
| Field | Green | Red | Grey |
|---|---|---|---|
| Address | Valid syntax + reachable | Invalid syntax or unreachable | Empty |
| Password | Accepted (HTTP 200) | Rejected (HTTP 401/403) | Empty or not yet validated |
| Metadata | Has content | — | Empty |
| Strip | Position | Measures |
|---|---|---|
| Input VU | Right of Input dropdown | Raw input level (before all DSP) |
| Output VU | Right of Output dropdown | Processed level (after Limiter) |
Color zones: Green (0–60%) → Yellow (60–75%) → Orange (75–90%) → Red (90–100%)
| LED 1 | LED 2 | LED 3 | LED 4 | LED 5 | |
|---|---|---|---|---|---|
| Row 1 | HPF | Gate | Gain | AGC | Comp |
| Row 2 | Boost | Bass | Width | Opt | Limit |
| Error | Cause | Fix |
|---|---|---|
| "Failed to connect to Icecast server" | Server unreachable, wrong address, or firewall | Verify host:port/mount format; check Server LED; verify server is running; check firewall |
| "Connection Failed: …" | Icecast rejected the request | Check password, mount point, and server config |
| "Start Failed: …" | Audio device or codec error | Check input device; try different bitrate; restart app |
| Error | Cause | Fix |
|---|---|---|
| "A valid license is required to start encoding." | License expired or not activated | Restart app to re-activate, or contact support |
| "Your license is no longer valid." | Background revalidation failed | Check internet and restart app |
| Symptom | Cause | Fix |
|---|---|---|
| No audio in VU meter | Wrong input device | Change Input in Settings → Audio |
| Distorted / clipping | Input too hot, no limiter | Enable Limit in DSP; reduce Gain |
| Muffled / underwater | Too much processing at low bitrate | Disable unnecessary DSP; enable Opt |
| Choppy / glitchy | CPU overload or buffer underrun | Close other apps; check CPU usage |
| Mono instead of stereo | Channels set to Mono | Change to Stereo in Settings → Audio |
| Symptom | Cause | Fix |
|---|---|---|
| Encoder LED orange ("Buffering") | Packet loss / high latency | Check internet; 5s buffer absorbs brief outages |
| Encoder LED red ("Dropped Frames") | Extended failure (>5s) | Wait for auto-reconnect, or Stop and Start |
| "Reconnecting in Xs…" loop | Server down or offline | Verify server status; check Internet LED |
| Key | Context | Action |
|---|---|---|
| Escape | Exit / alert dialog | Cancel or dismiss |
| Enter | Alert dialog | Dismiss (OK) |
| Space | Alert dialog | Dismiss (OK) |
The Settings window is locked to the main window — dragging Settings moves both windows together.
Settings are stored in config.dat (binary/encrypted) in the same folder as the executable. Automatically created on first launch and updated every time you click OK in Settings.
Stored settings:
License data is stored separately in the Windows Registry:
HKCU\Software\RadyoPH\RPhLivecaster
Encrypted with Windows DPAPI — cannot be copied to another machine.
config.dat.RPhLivecaster.exe and config.dat together to the target machine.RPhLivecaster.exe — all settings are pre-loaded.With "Encode on launch" and "Start with Windows" enabled, the encoder starts streaming automatically on boot — fully hands-free.
| File | Purpose |
|---|---|
RPhLivecaster.exe | Main application (AAC library built-in) |
config.dat | Encrypted settings (auto-generated, pre-configured for deployment) |
Tip: If the target PC has a different audio device, the app falls back to the Windows default input. The client can open Settings → Audio to select the correct device.