Running a Net Radio Station With Open-Source Software
Icecast is very simple to run. Go into the account you want your broadcast server to run as and enter /usr/local/icecast/bin/icecast. This brings you to console mode on the Icecast server. If you type a “?” at the console you see all of the options that are available with Icecast. We would like to note that from the console you can see when someone connects to the site. If you start Icecast with a -b option it pushes the console to the background. Figure 2 is a screen capture of the startup of Icecast.
The Icecast console is a powerful tool that allows you to control all aspects of the server. For example, if you wish to get rid of particular listeners, you could use the kick command to boot them. Another useful command is dump, which allows you to dump a stream to a file. The full list of commands is available in the Icecast web interface.
Icecast includes a web-based administration interface that can be accessed by entering the URL http://hostname.domain:port/admin, where hostname is your Icecast server and port is the port number that you defined in the icecast.conf file (see Listing 1). By default the web-based Icecast administration utility is wide open to any system, so be sure to set a password. The help section on the admin page gives detailed descriptions on how to use the web interface. The descriptions include topics that range from setting up user authorization to even disabling the web interface. One of the most useful features of the web interface is a dynamic listing of sources and listener streams. You can configure the administration pages to meet your needs. Refer to the admministration interface for more information.
Any site on the Internet should be concerned with security. We recommend that you read all the security documentation that comes with the Icecast server. We also recommend that you do not run the Icecast server as root. You should run the server as nobody or a nonprivileged user.
We did not experience any problems with the Icecast setup and configuration. Icecast itself is very similar to a typical web server, and it is simple to configure.
Our set up uses a remote encoder client that is not located on the same system as our Icecast server. We use the Liveice client software to generate the output to be streamed to the Icecast server. We use a standard workstation, named zelda, running Mandrake Linux 7.2 with a 16-bit SoundBlaster (ES1371) sound card. We chose the SoundBlaster since it is a widely known and easily supported piece of hardware for our purposes.
We started the Liveice software installation by downloading the tar file that we found at http://www.icecast.org/ in the third party applications section. We did not find an RPM at icecast.org. Untar puts the files in our current working directory. Liveice also requires that we run a make to compile the binaries. The README file explains the full installation of Liveice. We put the files in /usr/local to make things simple and accessible via the current path. We changed the liveice.cfg file to point to the broadcast server. You can compare our icecast.conf (above) and our liveice.cfg (below) with the defaults to see where you have to make changes. The README file on the Liveice client offers a better understanding of each parameter. The most important paramenters include SERVER, PORT, PASSWORD and USE_LAME3.
SERVER is the server name that we used setup to the Icecast server. PORT is the port number on the Icecast server. The PASSWORD field must match the Icecast password to allow for the socket connection between Liveice and Icecast. The field USE_LAME3 tells Liveice which encoder to use to convert from analog to digital. The configuration we used works for our purposes, but there are numerous other configurations that accomplish the same output.
################################################ # liveice configuration file ################################################ SERVER www.opensourceradio.com PORT 8002 NAME ReBroadcast of OSR, 10/5/2000 GENRE Live Linux Talk URL www.opensourceradio.com PUBLIC 1 ICY_LOGIN SAMPLE_RATE 24000 STEREO SOUNDCARD FULL_DUPLEX USE_LAME3 lame BITRATE 32000 VBR_QUALITY 1 NO_MIXER PLAYLIST playlist DECODER_COMMAND mpg123 MIX_CONTROL_MANUAL CONTROL_FILE mix_command TRACK_LOGFILE track.log #SAVE_FILE /osr/osr_10_5.mp3
LAME is an application that we downloaded from http://www.sulaco.org/ and we untarred it in the /usr/bin/ directory. If you put it in a directory that isn't in your $PATH, you have to put the full path to the encoder in the liveice.cfg file. The encoder is necessary to turn your voice into a digital MP3 format to be received by the Icecast server and broadcast over the Internet. We chose to use LAME, but you can use any encoder engine that you wish to use.
Practical Task Scheduling Deployment
July 20, 2016 12:00 pm CDT
One of the best things about the UNIX environment (aside from being stable and efficient) is the vast array of software tools available to help you do your job. Traditionally, a UNIX tool does only one thing, but does that one thing very well. For example, grep is very easy to use and can search vast amounts of data quickly. The find tool can find a particular file or files based on all kinds of criteria. It's pretty easy to string these tools together to build even more powerful tools, such as a tool that finds all of the .log files in the /home directory and searches each one for a particular entry. This erector-set mentality allows UNIX system administrators to seem to always have the right tool for the job.
Cron traditionally has been considered another such a tool for job scheduling, but is it enough? This webinar considers that very question. The first part builds on a previous Geek Guide, Beyond Cron, and briefly describes how to know when it might be time to consider upgrading your job scheduling infrastructure. The second part presents an actual planning and implementation framework.
Join Linux Journal's Mike Diehl and Pat Cameron of Help Systems.
Free to Linux Journal readers.Register Now!
- SUSE LLC's SUSE Manager
- Google's SwiftShader Released
- Murat Yener and Onur Dundar's Expert Android Studio (Wrox)
- My +1 Sword of Productivity
- Managing Linux Using Puppet
- Non-Linux FOSS: Caffeine!
- SuperTuxKart 0.9.2 Released
- Interview with Patrick Volkerding
- Parsing an RSS News Feed with a Bash Script
- Rogue Wave Software's Zend Server
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.Get the Guide