Ampache

from Wikipedia, the free encyclopedia
Ampache

Ampache logo
Basic data

developer Ampache team
Current  version 4.1.1
(February 11, 2020)
operating system platform independent
programming language PHP , JavaScript
category Streaming
License GNU Affero General Public License v3.0 ( Free Software )
German speaking Yes
ampache.org

Ampache , a user interface in electronic data processing, is a free media streaming - web interface under the GPL license. The name is a suitcase word from the web server Apache and Amplifier (English for amplifier ). Ampache was originally designed to work with the Apache module mod_mp3 , but today it 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 the four main goals of security, speed, accessibility and compatibility.

Since Ampache, written in PHP , uses MySQL as its database , security against SQL injection is given top priority. Special attention is paid to the speed of the program code , since media databases can become very extensive and Ampache should also be prepared for a larger number of users.

The goal of accessibility is understood to mean the usability of all functions by every web browser , every operating system , in every language and by every human individual . The intended compatibility with every form of digital music includes support for every conceivable audio format , any directory structure in a collection, and the handling of files with poor or missing metadata .

Metadata and file formats

The media database is maintained in the form of catalogs, each of which is assigned a local directory. When creating a catalog, this directory is searched for files with one of the supported file extensions , which can be freely configured separately for audio and video formats. The files found are then searched for metadata, which is extracted in a freely prioritizable order. If no metadata was found, it is constructed using freely definable formulas from directory and file names. After all data have been entered in the database, the program is ready for use.

Ampache is a search engine, the results of which can be entered in a playlist. This can be used locally for remote control of a playback program or from a web browser to start an external playback program. By transcoding , formats not supported by the target program can be converted during playback. A transcoding program can be assigned to any file extension and must be installed on the server.

This concept is very flexible and allows any formats to be added. For formats that are not yet supported and for future formats, only the extraction of the metadata needs to be upgraded. Until then, however, you can fall back on the evaluation of the path and file name, or even write a plug- in in PHP for the new format. Currently, metadata can be read from ID3 tags (v1 / v2), Vorbis comments , APE tags and from the QuickTime , ASF , AVI , MPEG and RIFF formats .

Interfaces and playback programs

Ampache has numerous interfaces for interacting with other programs; the standard interface is playing playlists in the web browser.

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

A XML - Programming external programs can communicate directly with Ampache. This enables playback programs to integrate the captured collection into their surface. Programs such as Rhythmbox , Amarok , Banshee and the XBMC Media Center make use of it via plug-ins. By connecting the Coherence media server, this can also be any UPnP / DLNA- compatible playback program or device. The XML interface can also connect Ampache installations of several machines with one another in order to integrate the catalog of a remote installation into the local database in a playable manner.

Player programs specializing in Ampache are available for the mobile platforms Android , Apple iOS , HP webOS , Blackberry OS and Maemo , all of which use the XML interface. The Quickplay, written in Python , was specially written for devices with limited resources such as Intel Atom- based computers and requires GTK + .

User administration

Access to Ampache is usually password protected. An administrator account is created during installation . The administrator can then create additional accounts. Users can be classified into different authorization levels, from the guest, who is only allowed to listen to music, to the administrator, who can expand and delete the database. LDAP can also be used to authenticate users .

Another tool for controlling access are Access Control Lists (also ACL, German access control lists). These restrict access to ranges of IP addresses and are particularly required in connection with the XML programming interface, which must be explicitly activated. ACL can also force transcoding at a low bit rate for certain IP ranges so that Ampache can also be used over connections with low data transfer rates .

Ampache also supports the registration of accounts by new users. For this purpose, security mechanisms such as the defense against machine registration by means of captcha and the verification of the specified email address are available.

See also

Web links

Individual evidence

  1. Releases v4.1.1 ampache / ampache GitHub. Retrieved May 22, 2020 .
  2. PHPSO magazine article: Streaming the Ampache Way ( Memento from June 30, 2007 in the Internet Archive )
  3. Ampache Wiki: Code Philosophy ( Memento of the original from December 6, 2012 in the Internet Archive ) Info: The archive link was automatically inserted and not yet checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / ampache.org
  4. Ampache Wiki: XML API ( Memento of the original from October 12, 2012 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / ampache.org
  5. Ampache website: Interfaces ( memento of the original from November 15, 2012 in the Internet Archive ) Info: The archive link was automatically inserted and not yet checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / ampache.org
  6. Ampache Wiki: Quickplay ( Memento of the original from March 13, 2013 in the Internet Archive ) Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice. @1@ 2Template: Webachiv / IABot / ampache.org