-
Notifications
You must be signed in to change notification settings - Fork 138
Configuring Icecast outputs
Icecast is a HTTP-based protocol used to set up Internet radio services. RTLSDR-Airband can produce MP3 audio streams and send them to one or more Icecast servers for others to listen. To do this, you have to configure an Icecast output for your channel.
Obviously you need an Icecast server to stream to. Usually you can't feed your streams into someone else's server without permission. So first of all, you need either:
- to arrange a feed with the server's owner and obtain connection data from him (ie. the server name, port, login, password and Icecast mount point name),
- to set up your own Icecast server somewhere (might be even on the same Raspberry Pi where you run RTLSDR-Airband). see Setting up your own Icecast server for brief instructions.
outputs
is a list of outputs where the audio stream of a particular channel
is to be routed. An output is a group of settings enclosed in braces { }
. The
number of outputs per channel is unlimited.
outputs: (
{
type = "icecast";
server = "icecast.server.example.org";
port = 8080;
mountpoint = "TWR.mp3";
username = "source";
password = "mypassword";
# tls = "auto|auto_no_plain|transport|upgrade|disabled";
# name = "Tower";
# description = "This is a Tower feed from my local airport";
# genre = "ATC";
}
);
Want more outputs? Just repeat the braced section several times and separate individual sections with a comma, like this:
outputs: (
{
# ... settings for output 1
},
{
# ... settings for output 2
}
# , ... more outputs here
);
Remember, do not put a comma after the closing brace of the last output. This is a syntax error.
-
type
(string, required) - type of this output. Put "icecast" here. -
server
(string, required) - the host name or IP address of the server where RTLSDR-Airband will connect to feed the stream. -
port
(integer, required) - the port number on the server side. -
mountpoint
(string, required) - the Icecast mount point. This is the file part of the stream URL, which distinguishes this stream on the server. For example: if mount point is set to "TWR.mp3", then RTLSDR-Airband will feed the stream to the URL ofhttp://icecast.server.example.org:port_number/TWR.mp3
. Icecast server will allow streaming to a particular mount point from a single source at a time, so if you are going to feed several streams to a common server, each stream must have a unique mount point. -
username
(string, required) - the user name (login) which RTLSDR-Airband will send to the server to authenticate itself. -
password
(string, required) - the password for the above user. -
tls
(string, optional) - whether Transport Layer Security shall be used for encryption. Available options are:-
transport
- use TLS in transport mode, aka RFC2818 (no HTTP negotiation, just start TLS straight away) -
upgrade
- use HTTP/1.1 Upgrade mechanism to initiate TLS, aka RFC2817 -
auto
- autodetect TLS availability and mode -
auto_no_plain
- likeauto
but drop connection with an error when TLS is not available. -
disabled
- do not use TLS (the default).
-
-
name
(string, optional) - the name of the stream. It will show up in the listener's player. -
description
(string, optional) - the description of the stream. Most players don't show this. -
genre
(string, optional) - rock, pop, jazz, you know.
Now you may want to read about configuring other output types for your channels:
or jump straight to:
- Overview
- Installation
-
Configuration essentials
- Grammar basics
- General configuration file structure
- Configuring devices
- Configuring channels
- Configuring outputs
-
Configuring optional features
- Disabling configuration sections
- Changing PID file location
- Manual squelch setting
- CTCSS
- NFM deemphasis
- Audio filters in MP3 outputs
- Notch filter
- Limiting channel bandwidth
- Icecast metadata updates in scan mode
- Logging activity of scanned frequencies
- Channel usage statistics
- Tweaking sampling rate and FFT size
- Mixers
- Multithreaded operation
- Running
- Troubleshooting
- Configuring auxiliary software to work with RTLSDR-Airband