April 24, 2019

Conducting Virtual Meetings With Linux, Part II - page 3

Setting Up Your Audio Streaming System With Integrated Chat

  • June 10, 2002
  • By Rob Reilly

The software was started in the same order as listed in the grocery list. I switched to the /usr/local/liveice directory and ran the programs as root.

Apache needed to be started first. If you were to run the Icecast server on a web/DNS connected machine, it would probably already be running. I started the http daemon (on my laptop) at boot time. You can start it manually with the command:

    # httpd

Icecast was started in a new terminal (in /usr/local/liveice) using the command line:

    # icecast

A bunch of text appeared after Icecast was started and gave status, load and user information. This information would help with troubleshooting if you have problems.

Before Liveice could be started, a configuration file had to be created. A frontend utility program was used and comes bundled with Liveice. In /usr/local/liveice I typed:

    # ./liveiceconfigure.tk

The program brought up a window where I filled in blanks to build a liveice configuration file (typically liveice.cfg). I entered the following data.

  • Server - Name of server. I used If you are running everything from a single machine you can use localhost. If you have a separate Icecast server, you would use that server name or IP. I left the port number at the default of 8000. Some profession ISP streamers use port 80 to avoid firewall issues.
  • Name - Name of your super hip Internet Broadcast Station. I used my daughter's name: Katie's Internet Radio.
  • Password - just use the default. In this case it was: letmein.
  • PCM Audio Format - was set to 32000 Hz.
  • Soundcard - was enabled.
  • Encoder - used default of LAME3 at 32000 bitrate.
  • Soundcard Only - pushed the button so it was enabled.
  • Executables Encoder - was set to notlame.
  • Mixer Control - was set to manual.
  • Save Config File As - used the default and pushed the Save Config button to save.
  • Exit - after I entered all the values above, I pushed the Exit button to exit.

Next, I started up the liveice audio streamer/encoder process, in another terminal window by typing:

    # ./liveice

Again, a screen of text appeared that told about the status of the stream, some soundcard information and audio level numbers at the bottom. Initially the text stopped around the "opening pipe" line. It turned out that I to type "notlame" in the Executable Encoder slot during the configuration of the liveice.cfg file.

Liveice used the notlame encoder automatically, so I didn't really have to do anything to start the program (notlame).

The LVL numbers showed the audio level from the microphone. When the numbers went up and down as I spoke into the microphone, I knew I was in good shape.

The liveice.cfg file was retained between sessions, so it really only needed to be set it up once.

The mixer (smixer, gamix, etc.) was then started, so the microphone input level and general volume of the audio stream could be adjusted. At one point the sound stopped and it turned out that the microphone input was set to "mute". Mute was turned off and it worked again. The microphone input was adjusted so the LVL numbers were in the 1000 to 4000 range when I talked. If the levels were set too high, there was clipping (distortion) of the audio.

If the LVL numbers were set too low, the client machine volume couldn't be turned up high enough to really hear anything. It took some experimenting to get all the levels right. If the levels were way off, I'd also get a kind of ringing that was very distracting. I even tried running a patch cable from my police scanner to the line input on my laptop. Hey look everybody, I'm a police radio internet broadcasting site. Ooooooooh!

That was about it for the audio streaming part. I had fired up client machine and ran the MP3 player XMMS during testing. Under the +url button (on XMMS) I typed:

The little buffer/level started growing and after a few seconds I was hearing myself say "This is the Katie Internet Radio show" on an 18 second delay. Next step was to get IRC working.

Most Popular LinuxPlanet Stories