Airtime for Broadcasters

Preparing the server

The following instructions assume that you have root access (sudo on Ubuntu) to a GNU/Linux server, and are familiar with basic command line tasks. Experienced system administrators may prefer to skip to the Expert install chapter in the appendix of this book.

The recommended Airtime server platform is Ubuntu 10.04 'Lucid Lynx' LTS. Debian 6.0 'squeeze' is also a good option. The server should have at least a 1GHz processor and 512MB of RAM. The Airtime installation does not use much disk space, but you should allow plenty of storage capacity for the media archive. A hot-swap RAID array is recommended for the media archive, in case of disk failure. You should also consider a UPS or other battery powered system to offer some protection against short-term power failures.

The Airtime web administration interface is intended to work with any browser, on any desktop or mobile platform. The recommended web browser is Mozilla Firefox 3.6.

Soundcards

If you intend that your Airtime server will have a direct audio output to a broadcast transmitter or a separate stream encoder, your server machine must have a soundcard supported by an ALSA driver. Almost all standard soundcards have ALSA drivers built into the Linux kernel, which do not need to be installed separately. If in doubt about driver support for your soundcard, check the ALSA soundcard matrix at: http://www.alsa-project.org/main/index.php/Matrix:Main 

If your Airtime machine will only be used to stream to an Icecast streaming media server, you do not require a soundcard to be installed on the server side. This option is suitable for Airtime installations at your ISP's datacenter, remote from any transmitter. 

Set up repositories for Ubuntu

When installing on an Ubuntu server, a few of the packages that Airtime relies on are in the Ubuntu universe or multiverse repositories. If either of these repositories is disabled, you can enable them in the /etc/apt/sources.list file, by opening the nano editor in your server's console with the command:

$ sudo nano /etc/apt/sources.list

For an Ubuntu Lucid server, find the lines which begin deb and end with lucid universe or lucid-updates universe, adding multiverse to the end of these lines, if it is not there already. The multiverse repository is required for the libmp3lame0 library, which is an MP3 encoder.

The exact repository mirror URLs in your sources.list file will differ from the above screenshot, depending on your location.

The Sourcefabric repository contains packages for Airtime, and any other packages which Airtime requires. To add the Sourcefabric repository to an Ubuntu Lucid server, scroll to the end of the sources.list file and add the following line:

deb http://apt.sourcefabric.org/ lucid main

For Ubuntu Maverick, substitute maverick in place of lucid in the line above.

Press Ctrl+O (the Ctrl key and the letter O together) to save the file, then Ctrl+X to exit the nano editor.

Set up repositories for Debian

On Debian, you may need to install the sudo package, if it is not installed already. On a Debian squeeze server, after you have installed and configured sudo, you can edit the /etc/apt/sources.list file with the command:

$ sudo nano /etc/apt/sources.list

You can obtain the libmp3lame0 library package by adding the following repository to the end of the file:

deb http://www.debian-multimedia.org squeeze main non-free

To add the Sourcefabric repository to a Debian squeeze server, add the following line to the end of the file:

deb http://apt.sourcefabric.org/ squeeze main

Press Ctrl+O (the Ctrl key and the letter O together) to save the file, then Ctrl+X to exit the nano editor.

Install the Sourcefabric signing key 

Reload the system's package list with:

$ sudo apt-get update

You will see an error message about a missing public key.



To fix this system error, you need to install the sourcefabric-keyring package, which contains the package signing key. This encryption key is a security measure which helps ensure that the Airtime packages you will be downloading in future have not been tampered with by a third party. You can install the key with the command:

$ sudo apt-get install sourcefabric-keyring

When prompted, press the y key on your keyboard to install the sourcefabric-keyring package without verification. If you wish to verify the authenticity of the package signing key, please contact Sourcefabric for assistance.



Update your computer's software sources again, to confirm that you are now using a trusted software repository:

$ sudo apt-get update
You should no longer see the error message about the missing public key.

Installing the database management system

Airtime uses a PostgreSQL database to keep track of media assets and associated metadata in its storage server. Depending on the scale of your Airtime installation and the hardware available, you may wish to install PostgreSQL on a separate server. If you only have one server, you can install the postgresql package on the same machine as Airtime with the command:

$ sudo apt-get install postgresql

Installing a streaming server

Optionally, you may wish to stream directly from Airtime to an Icecast media distribution server, without requiring a soundcard or mixer in the broadcast chain. This option is particularly suitable for fully automated stations, in which all shows are played out using Airtime. You can install the icecast2 package on your server with the command:

$ sudo apt-get install icecast2

In some scenarios, you may wish to stream from Airtime to a remote Icecast server, for example when Icecast is installed on a server in a datacenter with greater bandwidth available than an Airtime server located at your broadcast studio has. This separation may become necessary if your stream becomes popular, because each additional listener which connects to the Icecast stream uses additional bandwidth. In this case, you do not need to install the icecast2 package on the Airtime server.

Remove PulseAudio

The PulseAudio sound server is not compatible with Airtime, but is installed by default on Ubuntu. To remove PulseAudio from an Ubuntu machine, type the following command:

$ sudo apt-get purge pulseaudio

Removing the pulseaudio package on a desktop Ubuntu machine may force the removal of the ubuntu-desktop metapackage. However, this metapackage is only installed on the system for managing upgrades; removing it does not remove the GNOME desktop.

After removing PulseAudio, if your Airtime machine has a desktop and a soundcard, you can install a mixer applet which can control the ALSA soundcard driver directly, such as gnome-alsamixer:

$ sudo apt-get install gnome-alsamixer

On a server with a soundcard but without a desktop, you can control sound input and output levels using the command line program alsamixer:

This program should already be installed on an Ubuntu or Debian machine with a soundcard. If not, you can install it with the command:

$ sudo apt-get install alsa-utils

Now your server should be ready for Airtime to be installed.