Public SLAY Radio things

SLAY Radio

SLAY Radio is an internet radio station focused on Commodore 64 remixes and retro game music, with a live video streaming component. This organization publishes pre-built binaries for the broadcast stack - tools we use ourselves that may be useful to anyone running a similar setup.

Sources for most of these projects will be published here once cleaned up appropriately.

For now, the binary packages are published here: git.c64.org/slayradio-public/-/packages

Want to get in contact with us? Join our Discord server at slay.radio/discord or send us a message through the Contact form on the home page at slay.radio/contact.

If you find any of this useful, consider tossing a coin or two our way at slay.radio/donate. Thank you for your consideration!


Stream infrastructure

These components handle ingest, transcoding, multistreaming, and the audio relay to the radio server.

slay-rtmp-server

An RTMP ingest and multistream rebroadcast server. Accepts a single incoming stream from OBS or any RTMP encoder, transcodes video with NVIDIA NVENC hardware encoding, and pushes the result simultaneously to any number of destinations - Twitch, Kick, YouTube, and others. Runs as a Docker container (nginx-rtmp + ffmpeg); destinations are configured in a JSON file with no rebuild required.

Package to be published later.

ffmpeg-nvenc

A minimal ffmpeg binary built from source with only the features needed for the slay-rtmp-server pipeline: RTMP, RTMPS/TLS, FLV muxer, h264_nvenc hardware encoder, and audio copy. Downloaded automatically by slay-rtmp-server's Dockerfile at build time - no third-party static build involved.

Platform: Linux x86_64

Release: git.c64.org/slayradio-public/-/packages/generic/ffmpeg-nvenc/8.1

slay-shout-relay

Reads a live RTMP stream server-side, extracts the audio, and relays it as an MP3 stream to a Shoutcast or Icecast2 server. Removes the need for the broadcaster to run a separate local streaming client (BUTT, etc.). Retries automatically if either the RTMP source or the audio server drops.

Platform: Linux x86_64

Release: git.c64.org/slayradio-public/-/packages/generic/slay-shout-relay/latest


Studio tools

These components run on studio and DJ machines to manage media playback and track metadata.

slay-media

A VJ media player (Tauri 2 / Rust + Svelte) that manages a library of local video and audio clips, YouTube/Vimeo links, and remote URLs. Plays media to NDI, a custom low-latency UDP/shared-memory protocol, and an OBS plugin receiver - all simultaneously. Includes a REST API and WebSocket on port 7878 for external control from Bitfocus Companion, StreamDeck, or any HTTP client.

Platform: Linux x86_64 (Windows partially supported)

Release: git.c64.org/slayradio-public/-/packages/generic/slay-media/latest

ffmpeg-windows

A minimal ffmpeg binary built for Windows x86_64, used by slay-media on Windows hosts for video decode, proxy transcoding, thumbnail generation, and waveform extraction.

Platform: Windows x86_64

Release: git.c64.org/slayradio-public/-/packages/generic/ffmpeg-windows/8.1

title-sender

A lightweight background daemon that watches the local media environment and forwards now-playing track information to a title-receiver on the network. Supports MPRIS2 (Linux), System Media Transport Controls + window title scanning (Windows), and MediaRemote (macOS). Any MPRIS2-capable player on Linux is picked up automatically - music players, browsers, Spotify, VLC, and others.

Platforms: Linux x86_64, Windows x86_64. macOS to follow.

Release: git.c64.org/slayradio-public/-/packages/generic/title-sender/latest

title-receiver

The studio-side counterpart to title-sender. Aggregates now-playing feeds from any number of sender daemons, Traktor decks (via a QML plugin), and Icecast2/Shoutcast sources into a native desktop app (egui) and a browser-based web client. The operator reviews the current track, edits if needed, and publishes it to the streaming server with a single click.

Platforms: Linux x86_64, Windows x86_64

Release: git.c64.org/slayradio-public/-/packages/generic/title-receiver/latest


Receiver screenshots

Web client:

Web client

Native app:

Native app

Public SLAY Radio things
Updated 2026-05-12 20:45:35 +02:00