Skip to content
Enhanced source client for broadcasting to an Icecast/Shoutcast server in MP3 format.
Shell C Makefile M4 C++
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
conf
doc
m4
src
AUTHORS
BUGS
COPYING
INSTALL
Makefile.am
Makefile.in
NEWS
README
README.md
README.playlist
TODO
aclocal.m4
compile
config.guess
config.h.in
config.sub
configure
configure.ac
depcomp
install-sh
ltmain.sh
missing

README.md

ices0

Ices0 is a source client for broadcasting in MP3 format to an Icecast/Shoutcast server.

This is a fork of the Icecast ices0 utility, and has been carefully enhanced to be compatible with CentovaCast, Airtime, AzuraCast, kPlaylist and others, as well as standalone.

New features (over v0.4)

This version 0.4.6 features the following enhancements:

  • Script module for easy shell scripting (i.e., for kPlaylist).
  • Support for MP3 Unicode id3v2 tags (aka the infamous "garbage in song titles" bug). MP3 stream metadata will always be UTF-8-encoded.
    Note: Newer Icecast servers assume ISO-8859-1 for MP3 mounts, so you might need <charset>UTF8</charset> as a mount param in your icecast.xml file!
  • FLAC/OGG/MP4/MP3 transcoding support, including correct metadata from tags.
  • CrossMix option to crossmix tracks at 100% volume (instead of fading) by Daniel Pettersson and Rolf Johansson.
  • MinCrossfade setting to specify a minimum track length for which to enable the crossfader (for jingles etc.).
  • Disabled cue file generation for reduced disk I/O.
  • Works with new and old FLAC APIs (now works with libflac 1.3.2/1.3.0 instead of requiring the older 1.1.2 to compile).
  • Support for M3U/M3U8 playlist files (ignore lines starting with #).
    Note: M3U/M3U8 files should be saved WITHOUT a BOM.
  • ReplayGain support throughout:
    • MP3: reads RVA2 and TXXX:replaygain_track_gain frames, case-insensitive.
      Note: TXXX frames "win" over RVA2, this is intended.
    • FLAC: reads REPLAYGAIN_TRACK_GAIN VorbisComment, case-insensitive.
    • Ogg Vorbis: reads REPLAYGAIN_TRACK_GAIN VorbisComment, case-insensitive.
    • MP4: reads ----:com.apple.iTunes;replaygain_track_gain.
  • Fixed MP4/AAC support to work with libmp4v2.

Dependencies

  • libxml2
  • libogg
  • libvorbis
  • libshout
  • liblame
  • libflac
  • libfaad
  • libmp4v2

On Ubuntu 18.04/Linux Mint 19.1, these can usually be installed with:

sudo apt-get install libxml2-dev libogg-dev libvorbis-dev libshout3-dev
sudo apt-get install libmp3lame-dev libflac-dev
sudo apt-get install libfaad-dev libmp4v2-dev

For the Python and Perl scripting engines, additional libraries are needed:

sudo apt-get install libpython-dev libperl-dev

Building

You need git and a working automake build environment.

git clone https://github.com/Moonbase59/ices0.git
cd ices0
aclocal
autoreconf -fi
automake --add-missing
./configure

Check configure's ouput. Ideally, it should end like this:

Features:
  XML     : yes
  Python  : yes
  Perl    : yes
  LAME    : yes
  Vorbis  : yes
  MP4     : yes
  FLAC    : yes

(This is a full build with all features.)

make
sudo make install

You can also create a distribution .tar.gz file:

make dist

Before making a pull request, please clean up using

make maintainer-clean

so you won't be pushing unneccessary temp files to GitHub.

You can’t perform that action at this time.