change "Airtime" to "Libretime" except where it refers to code.

Remove some references to things that don't exist (watched folders, for example).
Fixed a typo or two.
This commit is contained in:
greenjon 2019-01-23 19:09:34 -08:00
parent 4b672f742b
commit 371ccd6b9d
9 changed files with 66 additions and 140 deletions

View File

@ -1,51 +1,4 @@
Airtime's media library is inside the */srv/airtime/stor/* folder on your server, by default. In **Media folders** on the **System** menu, you can change this default location, or add extra folders to be watched by Airtime.
Libretime's media library is inside the */srv/airtime/stor/* folder on your server, by default.
![](static/Screenshot399-Manage_media_folders.png)
Edits to your stored media files are noticed by Libretime. If you edit any file known to the database and change its duration, Libretime will automatically adjust the duration of playlists, smart blocks and shows that the file is included in. If you edit the metadata tags of a file, Libretime will automatically update the database with the new information. This may invalidate existing playlists or smart blocks that the file is part of. For example, if you use 'genre' as a search criteria to create a playlist or smart block and then edit the 'genre' tag for a file, that file may no longer match the original search criteria. A playlist or static smart block would still have an entry for the original file if either of these items was created before you modified the tag of the file in question.
If you specify a network drive as a media folder and that network becomes disconnected for any reason, Airtime's **media monitor** will flag the files as 'missing' in its database until the drive is reconnected. If those files are still missing at the time of the show, the broadcast output could be silenced.
For the same reason, if a removable drive (such as a USB memory stick or MP3 player) is specified as a watched folder, that drive has to be present and powered on until the corresponding show time, so that the Airtime playout engine can download the files needed for the show. If your station staff use removable drives to store media files, it is safer to use the **Add media** page of the Airtime administration interface or the **airtime-import copy** command to copy the files to the main storage server. See the chapters *Add media* and *Using the airtime-import script* for more details.
The metadata for new media files you add to the *organize* folder or a watched folder will be automatically imported into the Airtime database. The *organize* or watched folders can be exported to computers on the local network. This would enable dragging and dropping of media uploads using the file managers on the desktop computers at your studio.
![](static/Screenshot194-Drop_files_into_organize.png)
A file dropped into the *organize* folder will appear to vanish as the metadata is read, and the file is moved to the correct location under the *imported* directory, according to its creator and title. This means you can find files for download and editing using a file browser connected to your server, as well as in the **Search** table in the **Library**. This location could be under a filesystem path such as */srv/airtime/stor/imported/Beck/Midnite Vultures/* in the screenshot below.
![](static/Screenshot195-Midnite_Vultures-File_Browser.png)
If a media file is corrupted and cannot be played by Liquidsoap, Airtime will move the file to the *problem\_files* folder in the storage archive, and its metadata will not be added to the database. This feature ensures that all files are tested for encoding errors or upload corruption before playout time.
Files in watched folders are not moved into the main Airtime storage folder. However, just like in the main storage, files deleted from a watched folder will be automatically flagged as missing in any show that they are part of.
Edits to your stored and watched media files are noticed by Airtime. If you edit any file known to the database and change its duration, Airtime will automatically adjust the duration of playlists, smart blocks and shows that the file is included in. If you edit the metadata tags of a file, Airtime will automatically update the database with the new information. This may invalidate existing playlists or smart blocks that the file is part of. For example, if you use 'genre' as a search criteria to create a playlist or smart block and then edit the 'genre' tag for a file, that file may no longer match the original search criteria. A playlist or static smart block would still have an entry for the original file if either of these items was created before you modified the tag of the file in question.
Changing the storage folder
---------------------------
To change Airtime's storage folder, click the upper **choose folder** button. In the pop-up window that opens, double-click on the folder names to select the folder that you require. Then click the **Open** button to open that folder.
![](static/Screenshot227-Choose_storage_folder.png)
Back on the **Manage Media Folders** page, click the **Set** button to change the storage folder. Airtime will ask if you are sure about this action. Click the **OK** button to confirm your choice.
![](static/Screenshot301-Change_storage_folder.png)
The **Manage Media Folders** page will now display the new storage location.
![](static/Screenshot228-Import_folder_changed_1.png)
The storage folder cannot be changed while a file import is in progress. If you attempt to do this, an error message will be displayed.
![](static/Screenshot229-Storage_change_warning_1.png)
Watching a folder
-----------------
Under **Watched Folders**, click the lower **choose folder** button, open the folder you require, and then click the **Add** button. You can add as many watched folders as you require.
![](static/Screenshot230-Add_watched_folder_1.png)
To remove a watched folder, click the small **x** on the right side of its row in the list. Again, you will be asked to confirm if you are sure about the action.
![](static/Screenshot302-Sure_remove_watched_folder.png)

View File

@ -1,6 +1,6 @@
The Now Playing page provides a view of the content your station will play out, or has already played out, which defaults to showing the 24 hours ahead. This page also enables you to make last-minute changes to running shows.
If you've only just installed Airtime, there might not be any content shown yet. Click the calendar and clock icons above the table to change the date and time range, then click the **Find Shows** button (with the magnifying glass icon) to the right.
If you've only just installed Libretime, there might not be any content shown yet. Click the calendar and clock icons above the table to change the date and time range, then click the **Find Shows** button (with the magnifying glass icon) to the right.
![](static/Screenshot416-Now_playing_date_select.png)
@ -35,18 +35,18 @@ To cancel the current show completely, click the red button to the right again.
![](static/Screenshot420-Cancel_current_show.png) 
Items which are no longer available have an exclamation mark icon in the second column. This may happen for media files which were part of previous shows, and were removed from Airtime's library (main storage or watched folders) subsequently. Items which are included in forthcoming shows cannot be removed from the Library via the Airtime interface.
Items which are no longer available have an exclamation mark icon in the second column. This may happen for media files which were part of previous shows, and were removed from Libretime's library (main storage or watched folders) subsequently. Items which are included in forthcoming shows cannot be removed from the Library via the Libretime interface.
![](static/Screenshot421-Missing_file_icon.png)
Advanced and simple library searches
------------------------------------
In the top left corner of the page is an **Add / Remove Content** button which enables you to open Airtime's library.
In the top left corner of the page is an **Add / Remove Content** button which enables you to open Libretime's library.
![](static/Screenshot422-Add_remove_content.png)
In the library table which opens, the upper section is for the **Advanced Search Options**, which enable you to search within individual fields of the database such as **Title** or **Creator**. Like an Internet search engine, you do not have to type in the correct upper or lower case, press the **Enter** key, or even type the whole of the search term before matches from the Airtime library are displayed.
In the library table which opens, the upper section is for the **Advanced Search Options**, which enable you to search within individual fields of the database such as **Title** or **Creator**. Like an Internet search engine, you do not have to type in the correct upper or lower case, press the **Enter** key, or even type the whole of the search term before matches from the Libretime library are displayed.
<img src="static/Screenshot574-Advanced_search.png" alt="Advanced search options" width="740" />
@ -68,13 +68,13 @@ Use the drop-down menu at the top of the search results to display **Files**, **
![](static/Screenshot426-Search_result_select.png)
Click the Advanced Search Options link to collapse that area. Beneath the collapsed link is the **Simple Search** field, with a magnifying glass icon, which enables the selection of items based on any tag metadata stored in the Airtime database, whether that metadata column is currently displayed in the table or not. For example, to search for all items between four and five minutes duration, enter *00:04* into the simple search field (for 00 hours and 04 minutes).
Click the Advanced Search Options link to collapse that area. Beneath the collapsed link is the **Simple Search** field, with a magnifying glass icon, which enables the selection of items based on any tag metadata stored in the Libretime database, whether that metadata column is currently displayed in the table or not. For example, to search for all items between four and five minutes duration, enter *00:04* into the simple search field (for 00 hours and 04 minutes).
![](static/Screenshot425-Simple_search.png)
If your jingles are tagged with *Jingle* in the **Genre** or other fields, you can very easily find them by entering *jingle* into the simple search field. The same technique can be used to find advertising and promotional files. (See the chapter *Preparing media for ingest* for tips on batch tagging files with metadata). Unlike advanced searches, simple searches use 'or' logic for multiple search terms, so a simple search for *jingle ident* will return items matching either keyword.
Clicking on an item in the library table opens a pop-up menu which enables you to audition the item, or remove it from the Airtime library. Media types which cannot be auditioned directly in a web browser, such as FLAC, have a lock icon instead of a loudspeaker icon, but these files can be downloaded to your local computer for audition instead. The **Delete** option should be used with caution, because this action cannot be undone. For media files, you can also **Edit Metadata** stored for the file using this menu.
Clicking on an item in the library table opens a pop-up menu which enables you to audition the item, or remove it from the Libretime library. Media types which cannot be auditioned directly in a web browser, such as FLAC, have a lock icon instead of a loudspeaker icon, but these files can be downloaded to your local computer for audition instead. The **Delete** option should be used with caution, because this action cannot be undone. For media files, you can also **Edit Metadata** stored for the file using this menu.
![](static/Screenshot427-Library_pop_up.png)
@ -87,11 +87,11 @@ Adding content to a running show
After you have found the items that you want using the search tools, you can then drag and drop them from the library table on the left side of the page into the shows on the right side, including the current playing show.
If the current show has nothing playing out at the time, the new item will begin playing immediately. This manual triggering of playout can be used as a live assist technique, in which the Airtime server's soundcard output is mixed with other sources such as microphones or telephone hybrids on its way to a transmitter, or a separate stream encoder. For instance, a live show's host may not wish to cut off a studio discussion in order to play music at a fixed time.
If the current show has nothing playing out at the time, the new item will begin playing immediately. This manual triggering of playout can be used as a live assist technique, in which the Libretime server's soundcard output is mixed with other sources such as microphones or telephone hybrids on its way to a transmitter, or a separate stream encoder. For instance, a live show's host may not wish to cut off a studio discussion in order to play music at a fixed time.
![](static/Screenshot428-Library_drag_and_drop.png)
You can also select multiple items using the **Select** menu button, just beneath the simple search field, which has the options to **Select this page** of search results, **Deselect this page** and **Deselect all**. Alternatively, use the checkboxes on the left side of the library table to select specific items. Then drag one of the items into the show to add all of the selected items, or click the **Add to selected show** button, which has a plus icon. If you wish, you can also use the **Trashcan** button to permanently remove items from Airtime's library. Only *admin* users have permission to delete all items.
You can also select multiple items using the **Select** menu button, just beneath the simple search field, which has the options to **Select this page** of search results, **Deselect this page** and **Deselect all**. Alternatively, use the checkboxes on the left side of the library table to select specific items. Then drag one of the items into the show to add all of the selected items, or click the **Add to selected show** button, which has a plus icon. If you wish, you can also use the **Trashcan** button to permanently remove items from Libretime's library. Only *admin* users have permission to delete all items.
To insert checkbox selected items at a specific time in the show schedule, click one of the grey and white triangle icons on the left side of the schedule table, which will change to red and white. A red horizontal line will be shown at the insertion point. Then click the **Add to selected show** button in the library table.
@ -105,6 +105,6 @@ Another way to create an insertion point is to click an item in the show table,
Multiple insertion points can be enabled, so that the same item is inserted into the schedule at different times. For example, you may wish to play a news report every hour, or a station ident after every five music files.
A live show set for recording from the Airtime server's sound card is displayed with a red dot icon in the first column. It would not contain any files or playlists, smart blocks or web streams.
A live show set for recording from the Libretime server's sound card is displayed with a red dot icon in the first column. It would not contain any files or playlists, smart blocks or web streams.
![](static/Screenshot431-Recording_from_line_in.png)

View File

@ -1,34 +1,13 @@
On the <span style="font-weight: bold;">Settings</span> menu, click **General** to set your **Station Name**. This text is shown in your web browser's title bar when your station staff are logged into Airtime, and optionally in stream metadata. You can also set a **Station Description** and **Station Logo** here.
You can enable live, read-only access to the Airtime schedule calendar for your station's public website with the **Allow Remote Websites to Access "Schedule" Info?** option, if you wish. (There is more about this feature in the *Exporting the schedule* chapter, in the *Advanced Configuration* section of this book).
On the <span style="font-weight: bold;">Settings</span> menu, click **General** to set your **Station Name**. This text is shown in your web browser's title bar when your station staff are logged into Libretime, and optionally in stream metadata. You can also set a **Station Description** and **Station Logo** here.
You can enable live, read-only access to the Libretime schedule calendar for your station's public website with the **Allow Remote Websites to Access "Schedule" Info?** option, if you wish. (There is more about this feature in the *Exporting the schedule* chapter, in the *Advanced Configuration* section of this book).
Initially, the **Default Fade In** and **Default Fade Out** times for automated fades are set to half a second, and the **Default Crossfade Duration** is set to zero seconds. Custom fade and crossfade times can be set for adjacent items in a playlist or static smart block. See the chapter *Library* for details.  
The **Default Interface Language** drop-down menu sets the default localization for your Airtime instance, and the **Station Timezone** drop-down menu can be used to display local time at your station. Airtime stores show times internally in UTC format (similar to *Greenwich Mean Time*), but displays local time for the convenience of your station staff. You can also set the day of the week that you wish to start your station's weekly schedule on, which defaults to Sunday. Then click the **Save** button.
The **Default Interface Language** drop-down menu sets the default localization for your Libretime instance, and the **Station Timezone** drop-down menu can be used to display local time at your station. Libretime stores show times internally in UTC format (similar to *Greenwich Mean Time*), but displays local time for the convenience of your station staff. You can also set the day of the week that you wish to start your station's weekly schedule on, which defaults to Sunday. Then click the **Save** button.
![](static/Screenshot544-Preferences_250.png)
Individual Airtime users can choose another interface localization when they log in, or set personal preferences for localization and time zone by clicking their username on the right side of the menu bar.
Individual Libretime users can choose another interface localization when they log in, or set personal preferences for localization and time zone by clicking their username on the right side of the menu bar.
![](static/Screenshot475-Edit_own_user_account.png)
Email / Mail Server Settings
----------------------------
The **Enable System Emails (Password Reset)** box is not checked by default, because although enabling staff users to retrieve their lost password for themselves may be convenient, this option does have security implications. If the email account of the staff user is compromised, an attacker could very easily gain access to your Airtime server by clicking the **Reset Password** link on the login page.
If you wish to enable the password reset option, your Airtime server can have an SMTP mail program installed. (See the chapter *Preparing the server* for details). Alternatively, you can check the box **Configure Mail Server** and specify the details of an external SMTP server, which would usually require authentication if it is outside of your local network.
Whether SMTP runs on the same server as Airtime or on another server, you should enter a valid email address into the **Reset Password 'From' Email** field to help ensure emails are delivered correctly. Then click the **Save** button.
![](static/Screenshot398-Mail_server_details.png) 
SoundCloud Settings
-------------------
If your station has a SoundCloud account (on [http://soundcloud.com](http://soundcloud.com/ "SoundCloud")), you may wish to upload files and show recordings to this service, in order to broaden distribution and balance the bandwidth load with your own servers. Click the small black triangle next to **SoundCloud Settings** to show the options available. Check the **Enable Soundcloud Upload** box, then optionally check the **Automatically Upload Recorded Shows** box. You will also need to enter your SoundCloud login email address and password, and the tag metadata that SoundCloud will use to categorize your show recordings.
Check the box **Automatically Mark Files "Downloadable" on SoundCloud** if you wish to enable this option. **** You can also set a default genre, track type and copyright license here, including public domain, all rights reserved, or one of the *Creative Commons* licenses (see [http://creativecommons.org](http://creativecommons.org/ "Creative Commons")). Then click the **Save** button again.
![](static/Screenshot270-SoundCloud_Settings.png)
Please note that like most online distribution services, SoundCloud terms of service require you to have copyright in, or permission for Internet distribution from the copyright holder of, any media that you upload. Commercially released music files uploaded to SoundCloud are likely to be automatically removed from your station's SoundCloud page.

View File

@ -1,11 +1,11 @@
Before uploading media to an Airtime server, there are a number of factors which should be considered. Getting your ingest workflow right will save you a lot of time later.
Before uploading media to an Libretime server, there are a number of factors which should be considered. Getting your ingest workflow right will save you a lot of time later.
Metadata quality
----------------
Airtime automatically imports any metadata that is in the files' ID3 tags. If these tags are incorrect or are missing information, you will have to either edit the metadata manually, or suffer the consequences. For example, if the files have creator or genre metadata missing, it will be impossible to search for, create playlists or generate smart blocks according to these criteria until you add it.
Libretime automatically imports any metadata that is in the files' ID3 tags. If these tags are incorrect or are missing information, you will have to either edit the metadata manually, or suffer the consequences. For example, if the files have creator or genre metadata missing, it will be impossible to search for, create playlists or generate smart blocks according to these criteria until you add it.
There are a number of programs available which can be used to correct mistakes or incomplete information in ID3 tags. On GNU/Linux, the program **Ex Falso** ([http://code.google.com/p/quodlibet/](http://code.google.com/p/quodlibet/) "http://sourceforge.net/projects/dr14tmeter/")) can be useful for batch setting and editing ID3 tags before importing files into your Airtime server. On a Debian or Ubuntu desktop machine, you can install this program with the command:
There are a number of programs available which can be used to correct mistakes or incomplete information in ID3 tags. On GNU/Linux, the program **Ex Falso** ([http://code.google.com/p/quodlibet/](http://code.google.com/p/quodlibet/) "http://sourceforge.net/projects/dr14tmeter/")) can be useful for batch setting and editing ID3 tags before importing files into your Libretime server. On a Debian or Ubuntu desktop machine, you can install this program with the command:
sudo apt-get install exfalso
@ -20,7 +20,7 @@ or from the desktop menu. The *Tags From Path* feature of this program is a part
Metadata in legacy character sets
---------------------------------
Airtime expects file tag metadata to be stored in the international *UTF-8* character set. Programs such as **Ex Falso** (described above) encode metadata in UTF-8 by default. If you have an archive of files encoded with metadata in a legacy character set, such as the Cyrillic encoding *Windows-1251*, you should convert these files before import.
Libretime expects file tag metadata to be stored in the international *UTF-8* character set. Programs such as **Ex Falso** (described above) encode metadata in UTF-8 by default. If you have an archive of files encoded with metadata in a legacy character set, such as the Cyrillic encoding *Windows-1251*, you should convert these files before import.
The program **mid3iconv** (part of the **python-mutagen** package in Debian and Ubuntu) can be used to batch convert the metadata character set of files on the command line. You can install **python-mutagen** with the command:
@ -55,15 +55,15 @@ CP1256: Arabic
Audio loudness
--------------
On file ingest, Airtime analyzes each Ogg Vorbis, MP3, AAC or FLAC file's loudness, and stores a *ReplayGain* value for that file in its database. At playout time, the ReplayGain value is provided to Liquidsoap so that gain can be automatically adjusted to provide an average output of -14 dBFS loudness (14 decibels below full scale). See <http://www.replaygain.org/> for more details of ReplayGain.
On file ingest, Libretime analyzes each Ogg Vorbis, MP3, AAC or FLAC file's loudness, and stores a *ReplayGain* value for that file in its database. At playout time, the ReplayGain value is provided to Liquidsoap so that gain can be automatically adjusted to provide an average output of -14 dBFS loudness (14 decibels below full scale). See <http://www.replaygain.org/> for more details of ReplayGain.
Because of this automatic gain adjustment, any files with average loudness higher than -14 dBFS will not sound louder than quieter files at playout time, but the lower crest factor in the louder files (their relatively low peak-to-average ratio) may be apparent in the output, making those files sound less dynamic. This may be an issue for contemporary popular music, which can average at -9 dBFS or louder before ReplayGain adjustment. (See <http://www.soundonsound.com/sos/sep11/articles/loudness.htm> for a detailed analysis of the problem).
Your station's producers should therefore aim for 14dB between peak and average loudness to maintain the crest factor of their prepared material (also known as *DR14* on some dynamic range meters, such as the command-line DR14 T.meter available from <http://sourceforge.net/projects/dr14tmeter/>). If the producers are working to a different loudness standard, the ReplayGain modifier in Airtime's Stream Settings page can be adjusted to suit their material.
Your station's producers should therefore aim for 14dB between peak and average loudness to maintain the crest factor of their prepared material (also known as *DR14* on some dynamic range meters, such as the command-line DR14 T.meter available from <http://sourceforge.net/projects/dr14tmeter/>). If the producers are working to a different loudness standard, the ReplayGain modifier in Libretime's Stream Settings page can be adjusted to suit their material.
Large transient peaks in otherwise quiet files should be avoided, to guard against the need for peak limiting when ReplayGain is applied to those quieter files.
The **vorbisgain** command-line tool, available in the **vorbisgain** package in Debian/Ubuntu, can be used to indicate the ReplayGain of an individual Ogg Vorbis file before ingest into Airtime. (A similar tool for MP3 files is available in the **mp3gain** package in Debian/Ubuntu).
The **vorbisgain** command-line tool, available in the **vorbisgain** package in Debian/Ubuntu, can be used to indicate the ReplayGain of an individual Ogg Vorbis file before ingest into Libretime. (A similar tool for MP3 files is available in the **mp3gain** package in Debian/Ubuntu).
Here is an example of a very quiet file where the use of ReplayGain would make the output more than 17dB louder:
@ -88,7 +88,7 @@ In the output from vorbisgain, *Peak* is the maximum sample value of the file be
Silence in media files
----------------------
Before importing media, it is good practice to check for any silent sections in the media files. While Airtime compensates for leading and trailing silence with the use of automatic cue-in and cue-out points****, it may be preferable to trim these files to the intended length before upload. This is because media in the Airtime library could potentially be re-used in many different systems. **Audacity** is a cross-platform editor suitable for the task of trimming audio files, available from [http://audacity.sourceforge.net/](http://audacity.sourceforge.net "http://sourceforge.net/projects/dr14tmeter/")
Before importing media, it is good practice to check for any silent sections in the media files. While Libretime compensates for leading and trailing silence with the use of automatic cue-in and cue-out points****, it may be preferable to trim these files to the intended length before upload. This is because media in the Libretime library could potentially be re-used in many different systems. **Audacity** is a cross-platform editor suitable for the task of trimming audio files, available from [http://audacity.sourceforge.net/](http://audacity.sourceforge.net "http://sourceforge.net/projects/dr14tmeter/")
Very quiet introductions or over-long fades can also lead to apparent gaps in your broadcast playout. Some audio CDs feature a 'hidden track' at the end, which in fact uses a long period of silence within the final track, rather than an actual separate track on the disc. This means that CD encoding programs will often encode both the hidden material and the silence in the media file. For example, the track *Debra* from the CD *Midnite Vultures* by *Beck* includes hidden material preceded by seven minutes of silence, as shown in the screen shot from Audacity below.

View File

@ -4,7 +4,7 @@ The recommended Libretime server platform is Ubuntu 16.04 LTS (Xenial Xerus).
The server should have at least a 1GHz processor and 1GB of RAM, preferably 2GB RAM or more. If you are using a desktop environment and web browser directly on the server you should install at least 2GB RAM, to avoid swapping to disk.
The LibreTime installation does not use much disk space, but you should allow plenty of storage capacity for the Airtime library. A hot-swap RAID array is recommended for media storage, 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 LibreTime installation does not use much disk space, but you should allow plenty of storage capacity for the Libretime library. A hot-swap RAID array is recommended for media storage, 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.
LibreTime depends on infrastructure and services that need to be configured properly for it to run smoothly. This chapter will go through the individual parts of a LibreTime install and help you assess how you need to manage them.
@ -79,15 +79,15 @@ See these links for more information:
***Beware, Here be dragons!***
The following instructions have been taken verbatim from the Airtime docs and
The following instructions have been taken verbatim from the Libretime docs and
not been brought up to date.
Sound cards
-----------
If your Airtime machine will only be used to stream directly to an **Icecast** or **SHOUTcast** streaming media server, you do not require a sound card to be installed on the Airtime server side. This option is suitable for Airtime installations at your ISP's data centre, remote from any transmitter. However, you will not be able to take advantage of Airtime's live show recording feature (yet).
If your Libretime machine will only be used to stream directly to an **Icecast** or **SHOUTcast** streaming media server, you do not require a sound card to be installed on the Libretime server side. This option is suitable for Libretime installations at your ISP's data centre, remote from any transmitter. However, you will not be able to take advantage of Libretime's live show recording feature (yet).
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 sound card supported by an **ALSA** driver. Almost all standard sound cards have ALSA drivers built into the Linux kernel, which do not need to be installed separately. If in doubt about driver support for your sound card, check the ALSA support matrix at: <http://www.alsa-project.org/main/index.php/Matrix:Main>
If you intend that your Libretime server will have a direct audio output to a broadcast transmitter or a separate stream encoder, your server machine must have a sound card supported by an **ALSA** driver. Almost all standard sound cards have ALSA drivers built into the Linux kernel, which do not need to be installed separately. If in doubt about driver support for your sound card, check the ALSA support matrix at: <http://www.alsa-project.org/main/index.php/Matrix:Main>
USB audio device index
----------------------
@ -113,7 +113,7 @@ Save the file with **Ctrl+O** and close **nano** with **Ctrl+X**. Then remove an
  Subdevices: 1/1
  Subdevice #0: subdevice #0
When using a USB sound card with ALSA, some how-to documents advocate setting the *nrpacks=1* option, but this is not recommended for Airtime because it can increase CPU load significantly.
When using a USB sound card with ALSA, some how-to documents advocate setting the *nrpacks=1* option, but this is not recommended for Libretime because it can increase CPU load significantly.
Intel HDA mixer labels
----------------------
@ -147,7 +147,7 @@ Save the file with **Ctrl+O** and close **nano** with **Ctrl+X**. Then reboot th
Disable desktop and other sounds
--------------------------------
If you are installing Airtime on a desktop computer, make sure you disable or remove any programs that could send unintended audio to a sound card you are using for broadcast output. This includes alert sounds which play when the computer is ready for use, or when a user logs in. On Ubuntu, these sounds are configured using *System -&gt; Preferences -&gt; Sound* on the main desktop menu. (This configuration tool only works when the PulseAudio sound server is installed).
If you are installing Libretime on a desktop computer, make sure you disable or remove any programs that could send unintended audio to a sound card you are using for broadcast output. This includes alert sounds which play when the computer is ready for use, or when a user logs in. On Ubuntu, these sounds are configured using *System -&gt; Preferences -&gt; Sound* on the main desktop menu. (This configuration tool only works when the PulseAudio sound server is installed).
You may prefer to remove all system sound files from the computer, in case they could be played unintentionally via the sound card. For example, on Ubuntu you may wish to remove the **ubuntu-sounds** package, with the following command:
@ -156,13 +156,13 @@ You may prefer to remove all system sound files from the computer, in case they
PulseAudio
----------
The PulseAudio sound server is not recommended for Airtime sound card output, but is installed by default on Ubuntu. To remove PulseAudio from an Ubuntu machine, type the following command:
The PulseAudio sound server is not recommended for Libretime sound card output, 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 entire desktop.
After removing PulseAudio, if your Airtime machine has a desktop, you can install a mixer applet which can control the ALSA soundcard driver directly, such as **gnome-alsamixer**:
After removing PulseAudio, if your Libretime machine has a desktop, you can install a mixer applet which can control the ALSA soundcard driver directly, such as **gnome-alsamixer**:
sudo apt-get install gnome-alsamixer
@ -177,13 +177,13 @@ This program should already be installed on an Ubuntu or Debian machine with a s
The PHP cache
-------------
This dependency, introduced in Airtime 2.5.0, can improve the responsiveness of the Airtime administration interface and reduce server load. Various PHP cache software is available, but the current cache software required by Airtime is **APC** (<http://pecl.php.net/package/APC>). You should uninstall or disable any other PHP cache that may be present on the server, such as **XCache**, before installing Airtime and APC. This is because having multiple caches enabled can cause problems for PHP.
This dependency, introduced in Libretime 2.5.0, can improve the responsiveness of the Libretime administration interface and reduce server load. Various PHP cache software is available, but the current cache software required by Libretime is **APC** (<http://pecl.php.net/package/APC>). You should uninstall or disable any other PHP cache that may be present on the server, such as **XCache**, before installing Libretime and APC. This is because having multiple caches enabled can cause problems for PHP.
You can remove the XCache package **php5-xcache** from a Debian or Ubuntu server with the command:
sudo apt-get remove php5-xcache
APC is available in Debian or Ubuntu as the **php-apc** package. If you already have Apache installed on the server you are going to use for Airtime, you can install APC and get it working with the following commands:
APC is available in Debian or Ubuntu as the **php-apc** package. If you already have Apache installed on the server you are going to use for Libretime, you can install APC and get it working with the following commands:
sudo apt-get install php-apc
sudo invoke-rc.d apache2 restart
@ -197,9 +197,9 @@ You should set an admin password for the *apc* user on line 42 of the file, such
defaults('ADMIN_PASSWORD','mynewpassword');
Save the *apc.php* file with **Ctrl+O** and close it with **Ctrl+X**. Then open a web browser at the *apc.php* page of your Airtime server, such as:
Save the *apc.php* file with **Ctrl+O** and close it with **Ctrl+X**. Then open a web browser at the *apc.php* page of your Libretime server, such as:
http://airtime.example.com/apc.php
http://libretime.example.com/apc.php
You will then be able to confirm that APC is working, and view some statistics for the cache.
@ -208,16 +208,16 @@ You will then be able to confirm that APC is working, and view some statistics f
Remove webmin, if installed
---------------------------
The **webmin** control panel (<http://www.webmin.com>) has been known to remove Apache and PHP packages on Debian and Ubuntu systems, which can cause the Airtime package to be removed in turn. This problem is easily reversed by re-installation of the affected packages, but it has the potential to disrupt your broadcast playout from Airtime. Webmin is not likely to be installed on your server unless your system administrator has installed it manually. This is because webmin was removed from official Debian and Ubuntu package repositories some years ago.
The **webmin** control panel (<http://www.webmin.com>) has been known to remove Apache and PHP packages on Debian and Ubuntu systems, which can cause the Libretime package to be removed in turn. This problem is easily reversed by re-installation of the affected packages, but it has the potential to disrupt your broadcast playout from Libretime. Webmin is not likely to be installed on your server unless your system administrator has installed it manually. This is because webmin was removed from official Debian and Ubuntu package repositories some years ago.
RabbitMQ on Debian squeeze
--------------------------
In Debian 6.0 'squeeze' the **rabbitmq-server** daemon does not start automatically after a reboot. This should be fixed before installing Airtime, to prevent problems at playout time. If the rabbitmq-server package was installed before the last reboot, you will need to run:
In Debian 6.0 'squeeze' the **rabbitmq-server** daemon does not start automatically after a reboot. This should be fixed before installing Libretime, to prevent problems at playout time. If the rabbitmq-server package was installed before the last reboot, you will need to run:
invoke-rc.d rabbitmq-server start
as the root user before the installation of Airtime. If it is not already installed, run the following command as root:
as the root user before the installation of Libretime. If it is not already installed, run the following command as root:
apt-get install rabbitmq-server
@ -234,7 +234,3 @@ and then run the command (as root):
This should make sure that **rabbitmq-server** starts after the next reboot.
Mail server
-----------
If you wish Airtime to be able to send password reminder emails to your staff users, the server can have an SMTP program installed, such as the **postfix** package in Debian or Ubuntu. For configuration options, refer to the documentation for your mail server of choice. Alternatively, you can specify an external SMTP server in the **Preferences** page on Airtime's **System** menu.

View File

@ -1,6 +1,6 @@
If you have an Icecast server, you can put a link to the Icecast status page (by default at port 8000) on your station's homepage, to provide an overview of available streams. See the chapter *Interface customization* for tips on theming the Icecast status page. You can also use Now Playing widgets (see the chapter *Exporting the schedule*) or HTML5 stream players (see the chapter *Stream player for your website*) to help grow your audience.
On an Icecast server, you can uncomment the *&lt;directory&gt;* section in the */etc/icecast2/icecast.xml* file to have your station automatically listed on the Icecast directory website <http://dir.xiph.org> which could help you pick up more listeners.
On an Icecast server, you can uncomment the *<directory>* section in the */etc/icecast2/icecast.xml* file to have your station automatically listed on the Icecast directory website <http://dir.xiph.org> which could help you pick up more listeners.
<!-- Uncomment this if you want directory listings -->
@ -9,7 +9,7 @@ On an Icecast server, you can uncomment the *&lt;directory&gt;* section in the *
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
</directory>
The Indymedia stream directory at <http://radio.indymedia.org/en/yp> links to grassroots independent radio projects around the world. You can add your station to their list with an additional *&lt;directory&gt;* section, as follows:
The Indymedia stream directory at <http://radio.indymedia.org/en/yp> links to grassroots independent radio projects around the world. You can add your station to their list with an additional *<directory>* section, as follows:
<directory>
<yp-url-timeout>15</yp-url-timeout>
@ -25,7 +25,7 @@ Another stream directory service is provided by the Liquidsoap Flows! site <http
genre="Rock",
user="",
password="",
streams=[("ogg/128k","http://streaming.example.com/airtime_128")],
streams=[("ogg/128k","http://streaming.example.com/libretime_128")],
ourstation)
For the time being, a stream can be registered on the Liquidsoap Flows! site with any username and password. Authenticated services may be offered in future.

View File

@ -1,6 +1,6 @@
To increase the security of your server, you can enable encrypted access to the Airtime administration interface, and direct your users towards this more secure login page. The main advantage of using this encryption is that your remote users' login names and passwords are not sent in plain text across the public Internet or untrusted local networks, such as shared Wi-Fi access points.
To increase the security of your server, you can enable encrypted access to the Libretime administration interface, and direct your users towards this more secure login page. The main advantage of using this encryption is that your remote users' login names and passwords are not sent in plain text across the public Internet or untrusted local networks, such as shared Wi-Fi access points.
The padlock icon in a web browser's address bar depends on the browser's recognition of an encryption certificate. Because the users of your Airtime server will often be known to you personally, it is feasible to use a self-signed certificate for this purpose. Alternatively, you can pay a Certificate Authority to sign the certificate for you. Airtime Pro servers are pre-configured with a certificate signed by a Certificate Authority which is automatically recognised by all popular browsers.
The padlock icon in a web browser's address bar depends on the browser's recognition of an encryption certificate. Because the users of your Libretime server will often be known to you personally, it is feasible to use a self-signed certificate for this purpose. Alternatively, you can pay a Certificate Authority to sign the certificate for you. Libretime Pro servers are pre-configured with a certificate signed by a Certificate Authority which is automatically recognised by all popular browsers.
Deploying a self-signed certificate
-----------------------------------
@ -9,11 +9,11 @@ The Debian/Ubuntu package *ssl-cert* creates a *snakeoil* certificate and key ba
sudo apt-get install ssl-cert
If the hostname of your server does not match the domain name you intend to use with the Airtime virtual host, the user's browser will present an additional security warning. You can set the domain name of the certificate by editing the file */usr/share/ssl-cert/ssleay.cnf* to replace the *@HostName@* variable:
If the hostname of your server does not match the domain name you intend to use with the Libretime virtual host, the user's browser will present an additional security warning. You can set the domain name of the certificate by editing the file */usr/share/ssl-cert/ssleay.cnf* to replace the *@HostName@* variable:
commonName = @HostName@
with the domain name used by Airtime:
with the domain name used by Libretime:
commonName = airtime.example.com
@ -25,13 +25,13 @@ You should enable additional Apache modules for page redirections, custom header
sudo a2enmod alias headers ssl
Next, edit the virtual host configuration for your Airtime server to include a stanza for the https:// interface on port 443 and a redirect for logins from port 80:
Next, edit the virtual host configuration for your Libretime server to include a stanza for the https:// interface on port 443 and a redirect for logins from port 80:
sudo nano /etc/apache2/sites-available/airtime-vhost.conf
Using the following configuration for Apache 2.2 as a guide, replace *airtime.example.com* with the name of your server and *admin@example.com* with your email address. The older SSLv2 and SSLv3 protocols and SSL compression should be disabled, as they are generally believed to be insecure. You may wish to create a *ServerAlias* for users to access the administration interface over https:// if required.
On port 80, Apache's *alias* module is used to set a *Redirect permanent* for the login page. Optionally, access could be denied to all sites except *localhost* and any other Airtime servers on your network, so that unencrypted communication between Airtime components can continue.
On port 80, Apache's *alias* module is used to set a *Redirect permanent* for the login page. Optionally, access could be denied to all sites except *localhost* and any other Libretime servers on your network, so that unencrypted communication between Libretime components can continue.
<VirtualHost *:443>
SSLEngine on
@ -84,7 +84,7 @@ When attempting to log into your server via http:// in future, you should be red
Importing a self-signed certificate into the browser
----------------------------------------------------
The first time you access an Airtime server with a self-signed certificate over https:// your browser will block the login page and display a security warning. In **Mozilla Firefox**, you can click **Technical Details** to confirm that the warning is due to the certificate being self-signed before clicking the **Add Exception** button. In **Google Chrome**, the button to click on the security warning page is **Proceed Anyway**.
The first time you access an Libretime server with a self-signed certificate over https:// your browser will block the login page and display a security warning. In **Mozilla Firefox**, you can click **Technical Details** to confirm that the warning is due to the certificate being self-signed before clicking the **Add Exception** button. In **Google Chrome**, the button to click on the security warning page is **Proceed Anyway**.
![](static/Screenshot547-connection_untrusted.png)
@ -92,7 +92,7 @@ On the next page in Firefox, click the **Get Certificate** button to inspect the
![](static/Screenshot548-confirm_exception.png)
If the users of your Airtime server wish to avoid going through these steps, or they do not trust the remote Airtime server to be what it claims to be, it is also possible to import a trusted local copy of a certificate file into the browser. For example, in Firefox version 30 preferences, you can go into the **Advanced** section, click the **Certificates** tab, then click the **View Certificates** button. On the **Servers** tab of the **Certificate Manager**, there is an **Import** button which enables you to load a certificate file from the local computer.
If the users of your Libretime server wish to avoid going through these steps, or they do not trust the remote Libretime server to be what it claims to be, it is also possible to import a trusted local copy of a certificate file into the browser. For example, in Firefox version 30 preferences, you can go into the **Advanced** section, click the **Certificates** tab, then click the **View Certificates** button. On the **Servers** tab of the **Certificate Manager**, there is an **Import** button which enables you to load a certificate file from the local computer.
Mixed encrypted and unencrypted content
---------------------------------------

View File

@ -1,4 +1,4 @@
Accurate time keeping on your server is vital for Airtime performance. You can confirm that the date and time of your server are set correctly with the **date** command:
Accurate time keeping on your server is vital for Libretime performance. You can confirm that the date and time of your server are set correctly with the **date** command:
date
@ -6,12 +6,12 @@ The server should respond with the date, time, time zone and year in a format si
Tue Jul 2 15:08:57 BST 2013
If the time on your server is wrong, it is recommended that you take Airtime off-air until the problem is fixed.
If the time on your server is wrong, it is recommended that you take Libretime off-air until the problem is fixed.
Configuring NTP
---------------
Although it is possible to set the date and time of the server manually, this is not recommended because the server clock can drift over time, compromising the accuracy of your broadcast schedule. If your Airtime server is permanently connected to the Internet, you can synchronize your server to a time server with the **ntp** ** program. If **ntp** is not yet installed, you can enter the following command on Debian or Ubuntu:
Although it is possible to set the date and time of the server manually, this is not recommended because the server clock can drift over time, compromising the accuracy of your broadcast schedule. If your Libretime server is permanently connected to the Internet, you can synchronize your server to a time server with the **ntp** ** program. If **ntp** is not yet installed, you can enter the following command on Debian or Ubuntu:
sudo apt-get install ntp
@ -19,7 +19,7 @@ Optionally, open the **ntp** configuration file in the **nano** editor to add fu
sudo nano /etc/ntp.conf
On Ubuntu GNU/Linux, the default time server is *ntp.ubuntu.com*, but there are many other time servers available on the public Internet, including the group of servers listed at <http://www.pool.ntp.org/> for each country. Using a variety of NTP servers located closely to your Airtime server should produce the most accurate results. For example, for a server in the United Kingdom you could use the following list:
On Ubuntu GNU/Linux, the default time server is *ntp.ubuntu.com*, but there are many other time servers available on the public Internet, including the group of servers listed at <http://www.pool.ntp.org/> for each country. Using a variety of NTP servers located closely to your Libretime server should produce the most accurate results. For example, for a server in the United Kingdom you could use the following list:
# You do need to talk to an NTP server or two (or three).
server ntp.ubuntu.com
@ -51,7 +51,7 @@ Then use the **ntpq -p** command to confirm that **ntp** is working. This comman
Adjusting the server time zone
------------------------------
The data centre which hosts your Airtime server could be located anywhere in the world. Some servers are set to *Coordinated Universal Time* or UTC (similar to *Greenwich Mean Time* or GMT), regardless of their location. Airtime uses UTC time in its database for scheduling purposes, independent of the server time zone.
The data centre which hosts your Libretime server could be located anywhere in the world. Some servers are set to *Coordinated Universal Time* or UTC (similar to *Greenwich Mean Time* or GMT), regardless of their location. Libretime uses UTC time in its database for scheduling purposes, independent of the server time zone.
If the server time zone is not appropriate for integration with your station's other systems, on a Debian or Ubuntu server you can reconfigure the **tzdata** (time zone data) package with the command:

View File

@ -1,4 +1,4 @@
Using an ordinary smartphone and Airtime, you can upload your audio reports to the studio library or put them straight on the air. Here's how...
Using an ordinary smartphone and Libretime, you can upload your audio reports to the studio library or put them straight on the air. Here's how...
The basic voice recorder app on your phone may not have all the features you need for journalism, but there are plenty of more suitable recording apps available for both iPhone and Android. For instance, searching for 'ogg recorder' in the *Play Store* on an Android phone yields plenty of alternatives. The following example uses *RecForge Lite* because of its configurable recording formats. This free app is limited to three minutes per recording in Ogg and MP3 formats, but there is an unrestricted version available at very modest cost.
@ -10,7 +10,7 @@ Back in the main recording window of RecForge, create a directory such as '*reco
![](static/Image377-Recording_a_file.png)
Open the web interface of your station's Airtime server in the phone's browser, log in with your username and password, and tap **Add Media** on Airtime's main menu. After tapping the **Add Files** button, the phone will offer a choice of file to upload. By tapping **Select music track** you can browse the */mnt/sdcard/media/audio/* directory on the SD card filesystem, without requiring the installation of a file manager app on the phone.
Open the web interface of your station's Libretime server in the phone's browser, log in with your username and password, and tap **Add Media** on Libretime's main menu. After tapping the **Add Files** button, the phone will offer a choice of file to upload. By tapping **Select music track** you can browse the */mnt/sdcard/media/audio/* directory on the SD card filesystem, without requiring the installation of a file manager app on the phone.
![](static/Image378-Select_music_track.png)
@ -18,29 +18,27 @@ Tap one of the date-and-time-stamped files listed from the '*recordings*' direct
![](static/Image379-Selecting_a_file.png)
After tapping the **Start upload** button on the Add Media page, the files are now copied into the remote Airtime library.
After tapping the **Start upload** button on the Add Media page, the files are now copied into the remote Libretime library.
![](static/Image380-Uploading_a_file.png)
If you prefer, you can upload audio files to the *organize* folder on the Airtime server using an SFTP client, skipping the web browser step. See the chapter *Manage media folders* for details. Suitable client applications include **AndFTP** for Android: <http://www.lysesoft.com/products/andftp/index.html>
You can now add the uploaded files directly to a forthcoming show, use them to create smart blocks or playlists in the **Library**, or edit their metadata to make them easier to find in searches later. One of the limitations of mobile recording is that it isn't always convenient to enter large amounts of text metadata when you're on the move. So a phone app that tagged audio recordings with creator, location and other relevant metadata would be very useful.
Going live
----------
Mobile apps which enable you to stream directly into Airtime's live rebroadcast feature include **KoalaSan** for iOS: <http://koalasan.net/> and **BroadcastMySelf** for Android: <https://play.google.com/store/apps/details?id=sa.broadcastmyself> DemoIcesShout for Android also shows promise, although it can only stream a static file, rather than stream from a microphone: <http://droidtools.sourceforge.net/content/icecast-client-android>
Mobile apps which enable you to stream directly into Libretime's live rebroadcast feature include **KoalaSan** for iOS: <http://koalasan.net/> and **BroadcastMySelf** for Android: <https://play.google.com/store/apps/details?id=sa.broadcastmyself> DemoIcesShout for Android also shows promise, although it can only stream a static file, rather than stream from a microphone: <http://droidtools.sourceforge.net/content/icecast-client-android>
A live workflow does of course depend on a steady network connection between the phone and Airtime server. Because streaming media on a regular basis can use a lot of bandwidth, it is advisable to use WiFi rather than mobile data (3G/4G) whenever possible, especially when roaming across networks.
A live workflow does of course depend on a steady network connection between the phone and Libretime server. Because streaming media on a regular basis can use a lot of bandwidth, it is advisable to use WiFi rather than mobile data (3G/4G) whenever possible, especially when roaming across networks.
KoalaSan can stream input from either the built-in microphone or the external jack of the iOS device. An example configuration for the **Settings** tab might be:
Name: Airtime
Server: airtime.example.com
Name: Libretime
Server: libretime.example.com
Port: 8003
Mountpoint: mastermount
Stream name: Airtime
Description: A live stream to Airtime
Stream name: Libretime
Description: A live stream to Libretime
Genre: News
Username: masterstreamer
Password: masterpassword
@ -57,7 +55,7 @@ You can start streaming from the iOS device by tapping the start button in Koala
To configure BroadcastMySelf, tap the gears icon in the top left corner to enter the settings page, then tap **Output Settings**. This action opens the **Icecast Settings** page, where example settings could be:
Hostname
airtime.example.com
libretime.example.com
Port
8003
@ -84,6 +82,6 @@ You may also wish to configure the **Tracks Folder** setting, which enables you
/mnt/sdcard/media/audio/
To connect the Android device to the Airtime server, tap the square button in the lower middle of the main interface. The connection indicator on the button should turn blue, and the message *connected* should be shown. Push up the fader on the left to increase input level from the internal microphone, or push up the fader on the right and tap one of the named files in the upper right window to stream it. Tap either of the **LOCK** buttons to prevent the stream input level being changed accidentally.
To connect the Android device to the Libretime server, tap the square button in the lower middle of the main interface. The connection indicator on the button should turn blue, and the message *connected* should be shown. Push up the fader on the left to increase input level from the internal microphone, or push up the fader on the right and tap one of the named files in the upper right window to stream it. Tap either of the **LOCK** buttons to prevent the stream input level being changed accidentally.
When the connection is made, Airtime output will fade from scheduled play to the stream from your mobile device. See the chapter *Stream settings* for more details of connection preferences.
When the connection is made, Libretime output will fade from scheduled play to the stream from your mobile device. See the chapter *Stream settings* for more details of connection preferences.