Appearance
Connect an encoder
An encoder captures your microphone, mixer or playlist, compresses it, and sends it to Quikcast. Anything that can broadcast to Icecast works, and the settings are the same few values each time.
The values you need
| Setting | Value | Where it comes from |
|---|---|---|
| Server type | Icecast | Quikcast speaks the Icecast source protocol. |
| Host | Your server's address, for example 127.0.0.1 | The machine running Quikcast. |
| Port | 8000 | Your listen setting. |
| Mount or mountpoint | /radio.mp3 | The path of the mount. |
| Username | source | The mount's username (default source). |
| Password | The contents of the mount's secret file | secret_file. |
Which format?
The file extension in the mount name does not choose the format. What your encoder sends decides it: MP3, AAC (ADTS), Ogg Vorbis, Ogg Opus, Ogg FLAC or native FLAC. Make sure your listeners' players support what you choose. MP3 and AAC work almost everywhere.
BUTT
BUTT (broadcast using this tool) is a popular free encoder.
- Open Settings → Main → Server → ADD.
- Fill in:
- Name: anything, for example
Quikcast - Type:
Icecast - Address: your server address
- Port:
8000 - Password: your source password
- Icecast mountpoint:
/radio.mp3 - Icecast user:
source
- Name: anything, for example
- Under Audio, pick the codec (MP3 at 128 kbit/s is a good start) and your input device.
- Close the settings and press the play button.
Liquidsoap
Liquidsoap is the usual choice when you want playlists or a live DJ taking over from automation. It decides what plays; Quikcast delivers it.
ruby
radio = playlist("/music")
output.icecast(
%mp3(bitrate=128),
host="127.0.0.1",
port=8000,
user="source",
password="REPLACE_WITH_YOUR_PASSWORD",
mount="/radio.mp3",
radio
)FFmpeg
Good for testing, or for streaming a file on a loop:
sh
ffmpeg -re -stream_loop -1 -i music.mp3 -c:a copy \
-content_type audio/mpeg -f mp3 \
"icecast://source:YOUR_PASSWORD@127.0.0.1:8000/radio.mp3"For other formats change the content type: audio/aac for AAC, audio/ogg for Vorbis, Opus or Ogg FLAC, and audio/flac for native FLAC.
Updating the song title
MP3 and AAC listeners can see "now playing" text. Most encoders send it for you. You can also send it yourself with the source password:
sh
curl -u source:YOUR_PASSWORD \
"http://127.0.0.1:8000/api/metadata?mount=/radio.mp3&mode=updinfo&song=Artist+-+Title"Ogg and FLAC streams carry titles inside the audio itself, so this call does not apply to them.
What if it does not connect?
| You see | Likely cause |
|---|---|
401 Unauthorized | Wrong username or password. The username defaults to source. |
403 Forbidden | The mount has source_access rules and your encoder's IP is not allowed. |
404 Not Found | The mount is not defined in quikcast.toml (paths are case-sensitive), or you used a different path than the one configured. |
415 Unsupported Media Type | The content type is not one Quikcast accepts. Use audio/mpeg, audio/aac, audio/ogg or audio/flac. |
409 Conflict | Another encoder is already connected to this mount. Only one source may own a mount. |
| Connection refused | Wrong host or port, or listen is 127.0.0.1 while you connect from another machine. |
More help in Troubleshooting.