Ampache

Ampache is a web based free media streaming portal interface under the GPL license. The name is a portmanteau of the web server Apache and Amplifier (English for amplifier). Originally Ampache was designed to work with the Apache module mod_mp3, but now has its own streaming solution. The main task is to stream music and videos on the intranet or over the Internet.

Project Philosophy

The philosophy of the project is clearly defined and broken down into 4 main objectives of security, speed, accessibility and compatibility.

Since the Ampache written in PHP MySQL security against SQL injection is used as the database considered with highest priority. Particular attention is paid to the speed of the program code, as media databases can be very large and Ampache should be prepared for a greater number of users.

Under the goal of accessibility is the usability of the system over any web browser, any operating system, understood in any language and by any human individual. The proposed compatibility with any form of digital music includes the support of every imaginable audio format, any directory structure of a collection and handling of files with defective or missing metadata.

Metadata and file formats

The media database is maintained in the form of catalogs, each associated with a local directory. When you create a catalog of this directory is searched for files with any of the supported file extensions for audio and video formats are separately configurable. The found files are then searched to metadata that are extracted in a free priorisierbaren order. If no metadata found, they are alternatively designed using freely definable formulas from directory and file name. After all data have been entered into the database, the program is ready.

Ampache is a search engine, the results can be entered into a playlist. This can be used locally to remotely control a playback program or from a Web browser to launch an external player program. By transcoding is not supported by the target program formats can be converted during playback. For this purpose, any file extension will be assigned a Transkodierprogramm, which must be installed on the server.

This concept is very flexible and allows you to add any formats. When not yet supported and future formats, only the extraction of the metadata to be retrofitted. Until then, however, one can rely on the evaluation of path and file names, or even write in PHP a plugin for the new format. Currently, metadata from ID3 tags ( v1/v2 ), Vorbis comments, APE - tags and the QuickTime, ASF, AVI, MPEG and RIFF formats can be read.

Interfaces and playback programs

Ampache has numerous interfaces to interact with other programs, the default interface is the playing of playlists in the web browser.

The local playback of playlists can be used to control a MPD or Shoutcast server or remotely control an external player program on the protocol HTTPq. HTTPq is directly supported by the VLC media player, as well as plug- ins from Winamp and foobar2000.

An XML programming interface external programs can communicate directly with Ampache. This allows media players to integrate the detected collection in their surface. Programs that make use of plug-ins, for example, are Rhythmbox, Amarok, Banshee and the XBMC Media Center. By connecting the Coherence media server, this can also be any UPnP / DLNA compatible player program or device. The XML interface can also connect Ampache installations of several machines together to integrate the catalog a remote installation in the local database.

There are specialized on Ampache player programs for the mobile platforms Android, Apple iOS, HP webOS, BlackBerry OS and Maemo available, all of which use XML interface. The written in Python QuickPlay is designed specifically for devices with limited resources such as Written Intel Atom -based computer and requires GTK.

User Management

Access to Ampache is usually password protected. During installation, an administrator account is created. The administrator can then create additional accounts. Users can be classified into different levels of permissions to the guest, who may only listen to music, to the Administrator, which may expand the database and delete it. To authenticate the user and LDAP can be used.

Another tool for controlling access are Access Control Lists ( ACL also, German ACLs ). These restrict access to areas of IP addresses and are especially useful in the context of XML programming interface that must be explicitly enabled. ACL can force a transcoding to lower bit rate to use Ampache also communicate over low data transfer rate can also look for certain IP ranges.

Optional support Ampache also the Register of accounts by new users. For this purpose are security mechanisms such as the defense of automatic registration using CAPTCHA, and verification of the e -mail address.

57482
de