LiveIce: 

Live Mp3 Streamer  For IceCast

About
Setup and Installation
Using LiveIce
Mp3Mixer Mode

Configuring LiveIce

LiveIce configuration can either be set using configuration files or by setting command line parameters at runtime. The LiveIce binary has a series of reasonable default options set in the binary - in particular liveice.h has a #define which can be used to set the default encoder. When it's started, the programeautomatically tries to read /etc/liveice.cfg ,  and then ./liveice.cfg finally the command line parameters can be used to specify per-session commands or even further configuration files.

 

Making a Configuration File

The configuration files are just  simple text files which set various variables, the '#' character at the start of the line   can be used for comments. In the past the best way to create a configuration file was to adapt the one I packed in with the LiveIce distribution since it had lots of helpful comments for make it easier, of course the real hackers would write their own from scratch - but those were the days when men were men etc etc.

But in a moment of weakness I took pity on the GUI generation and created liveiceconfigure.tk - a simple TK based GUI which lets you set all those options and write them out to a file.

Guide To The GUI

What Do All These Options Mean?

  • Server Options
    • Server - the target icecast/shoutcast server which you will be sending your audio stream to for broadcast, remember the port number is one higher than the Listeners port. This can be set in the  configuration file with the  following options
      • SERVER localhost
      • PORT 8001
    • Name / Genre / URL - what you want to appear in these fields on the directory server
      • NAME LiveIce Radio
      • GENRE Live
      • URL http://www.icecast.org
    • Directory - tells the server whether it should inform the directory Server of your broadcast - in the configuration file you specify the PUBLIC variable followed by either a 1 (public) or 0 (private).
      • PUBLIC 1
      • PUBLIC 0
    • Login Type - IceCast supports two header formats, one is the old shoutcast compatible, the other is a more versatile x-audiocast system which allows multiple streams on one server. If you've got a new enough version of Icecast then use x-audiocast, otherwise stick to icy.
      • ICY_LOGIN
      • X_AUDIOCAST_LOGIN
    • Password - the login password to your icecast server - stops other people broadcasting from your server without permission.
      • PASSWORD letmein
  • Audio Format Options
    • PCMAudio Format - Set the Sampling Frequency and number of channels whic you want to use for the internal sound format. Note that some encoders can't do less thatn 32kHz andsome will change your format to something else if the ideal format for a given bitrate is of a lower quality. MONO or STEREO will set the number of channels - I don't have support for more than 2 channels.
      • SAMPLE_RATE 32000
      • MONO
      • STEREO
    • Encoder- Choose which encoder you plan to use from the list of supported programs, remember that there are constraints on the types of mp3 data you can produce which are depentdent on the programme you intend to use. When you specify the encoder you wish to use in liveice.cfg you can also specify the name of the binary , in case you hvae them under a different name from what the program expects.
      • USE_AJ_ENCODER encoder
      • USE_L3ENC l3enc
      • USE_MP3ENC mp3enc
      • USE_SCREAMER lamer
      • USE_XING xingmp3enc
      • USE_XING_VBR xingmp3enc
      • USE_LAME3 lame
    • Bitrate / VBR Quality - Sets the quality of the mp3 stream generated, rememebr if you're planning to broadcast to modem users that the bitrate should be low enough to fit into their connection with a lot of room to spare (nobody ever gets 56Kbit from a 56k modem). VBR quality is used in variable bitrate modes, currently only suported by the Xing mp3 encoder, the bitrate is increased when more data is required by the music, and reduced when the aural complexity is simpler. Average bitrates are dependent on the PCM audio format also.
      • BITRATE 32000
      • VBR_QUALITY 20
  • Input Mode Options
    • Soundcard Enabled/Disabled - Unless you've got some reason you don't want liveice to monopolise your soundcard you should probably leave it enabled. This will only work in Mixer mode where the audio can be read from external files and programmes, in this mode the audio is sent at the correct rate by watchin the clock so dont' go messing with it.....
      • SOUNDCARD
      • NO_SOUNDCARD
    • Duplex - Full/Half - Some people have soundcards and drivers which allow the computer to record and play data at the same time, this can help people monotoring the output  so that they're aware of the levels... but at the moment there is too much buffering and the 1/4 second lag that most people get is enough to confuse people (you hear them stuttering which talking as they try to synchronise their speech with the output ;-) I'll hopefully find some way to reduce this.
      • HALF_DUPLEX
      • FULL_DUPLEX
    • Soundcard only /  Mixer Mode - There are 2 supported audio generation modes, the first and simplest  just uses the input from the soundcard, no doubt this is what commercial radio stations would do - take input directly from their mixing desk. The mixer mode adds to this the option of playing files from your computer - originally mp3 files and now many more formats. This mode is quite complicated and allows mixing and speed control on each channel.
      • NO_MIXER
      • MIXER
  • Mixer Mode Options

Scott Manley / spm@star.arm.ac.uk