Skip to content

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 ​

SettingValueWhere it comes from
Server typeIcecastQuikcast speaks the Icecast source protocol.
HostYour server's address, for example 127.0.0.1The machine running Quikcast.
Port8000Your listen setting.
Mount or mountpoint/radio.mp3The path of the mount.
UsernamesourceThe mount's username (default source).
PasswordThe contents of the mount's secret filesecret_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.

  1. Open Settings → Main → Server → ADD.
  2. 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
  3. Under Audio, pick the codec (MP3 at 128 kbit/s is a good start) and your input device.
  4. 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 seeLikely cause
401 UnauthorizedWrong username or password. The username defaults to source.
403 ForbiddenThe mount has source_access rules and your encoder's IP is not allowed.
404 Not FoundThe mount is not defined in quikcast.toml (paths are case-sensitive), or you used a different path than the one configured.
415 Unsupported Media TypeThe content type is not one Quikcast accepts. Use audio/mpeg, audio/aac, audio/ogg or audio/flac.
409 ConflictAnother encoder is already connected to this mount. Only one source may own a mount.
Connection refusedWrong host or port, or listen is 127.0.0.1 while you connect from another machine.

More help in Troubleshooting.

Documentation for Quikcast.