Developer(s) | Romain Beauxis and Samuel Mimram |
---|---|
Initial release | 2004 |
Stable release | 2.3.0 / November 26, 2024 |
Repository | github |
Written in | OCaml |
Operating system | Unix-like and Microsoft Windows |
Type | Stream generator |
License | GPL-2.0-or-later |
Website | www |
Liquidsoap is a scripting language oriented toward the creation of audio and video streams, the manipulation of multimedia files, automation, serving as webserver back-end and more. The language is functional, statically typed with type inference. [1] The language is an original one, but the interpreter is programmed in OCaml and provided as free software.
Streams can be created from various sources such as soundcard captures, playlists, dynamic requests, or online streams. On those signal processing effects can be applied. The streams can be encoded in various formats such as MP3 or Opus, [2] and the actual streaming is performed by serving generated HLS playlists or by using streaming software such as Icecast. [3] Although originally targeted at audio streams, the generation of video stream is also supported. [4]
Liquidsoap is used as a back-end for radio streaming software such as Airtime, [5] AzuraCast [6] or LibreTime. [7] It is also used by many radios to generate online streams such as the French national radio Radio France, [8] [9] [10] or the Live365 radio network. [11] [12]
Scripts mostly consist of variables describing sources generating streams, which can be combined using operators.
For instance, a source can be defined from an online stream by
s1=input.http("https://server.org:8000/stream")
which can later on be amplified by
s1=amplify(2.,s1)
A source can also be defined from a playlist by
s2=playlist("my_playlist")
A source which will play one or the other of the above sources depending on the time of the day can be created by
s=switch[({6h-22h},s1),({22h-6h},s2)]
Finally, the resulting source can be broadcast by an Icecast server as an mp3 stream with
output.icecast(%mp3,host="localhost",port=8000,password="hackme",mount="radio",s)
Vorbis is a free and open-source software project headed by the Xiph.Org Foundation. The project produces an audio coding format and software reference encoder/decoder (codec) for lossy audio compression, libvorbis. Vorbis is most commonly used in conjunction with the Ogg container format and it is therefore often referred to as Ogg Vorbis.
Shoutcast is a service for streaming media over the internet to media players, using its own cross-platform proprietary software. It allows digital audio content, primarily in MP3 or High-Efficiency Advanced Audio Coding format. The most common use of Shoutcast is for creating or listening to Internet audio broadcasts; however, there are also video streams. The software is available to use for free or as a paid cloud service with additional professional features.
A playlist is a list of video or audio files that can be played back on a media player, either sequentially or in a shuffled order. In its most general form, an audio playlist is simply a list of songs that can be played once or in a loop. The term has several specialized meanings in the realms of television broadcasting, radio broadcasting and personal computers.
Icecast is a streaming media project released as free software maintained by the Xiph.Org Foundation. It also refers specifically to the server program which is part of the project. Icecast was created in December 1998/January 1999 by Jack Moffitt and Barath Raghavan to provide an open-source audio streaming server that anyone could modify, use, and tinker with. Version 2, a ground-up rewrite aimed at multi-format support and scalability, was started in 2001 and released in January 2004.
FreeJ is a modular software vision mixer for Linux systems. It is capable of real-time video manipulation, for amateur and professional uses. It can be used as an instrument in the fields of dance theater, VJing and television. FreeJ supports the input of multiple layers of video footage, which can be filtered through special-effect-chains, and then mixed for output.
M3U is a computer file format for a multimedia playlist. One common use of the M3U file format is creating a single-entry playlist file pointing to a stream on the Internet. The created file provides easy access to that stream and is often used in downloads from a website, for emailing, and for listening to Internet radio.
PLS is a computer file format for a multimedia playlist. It is typically used by media players for streaming media over the Internet, but may also be used for playing local media.
LIVE365 is an Internet radio network which enables users to create their own online radio stations and listen to thousands of human curated stations. Online radio stations on the Live365 network were created and managed by music and talk enthusiasts, including both hobbyists and professional broadcasters. Live365 also has many well established AM and FM stations that use Live365 broadcasting platform to simulcast their terrestrial radio streams. The Live365 network also features radio stations from artists such as Johnny Cash, David Byrne, Pat Metheny, Jethro Tull, and Frank Zappa. Live365 was created in 1999, and remains one of the longest running internet radio websites for listeners and broadcasters.
Airtime is a radio management application for remote broadcast automation, and program exchange between radio stations. Airtime was developed and released as free and open-source software, subject to the requirements of the GNU General Public License until it was changed to GNU Affero General Public License.
Altacast is a free and open-source audio encoder that can be used to create Internet streams of varying types. Many independent and commercial broadcasters use Altacast to create Internet radio stations, such as those listed on the Icecast, Loudcaster and Shoutcast station directories.
Music Player Daemon (MPD) is a free and open source music player server. It plays audio files, organizes playlists and maintains a music database. In order to interact with it, a client program is needed. The MPD distribution includes mpc, a simple command line client.
Alluvium is open source peercasting software developed by the Foundation for Decentralization Research, first released in 2003. It comprises three components, Core, Media Player, and Server. Alluvium allows video and audio programming to be broadcast over the Internet using swarming technology. It is powered by Onion Networks' Swarmcast, and is notable for its incorporation of server-side time-based playlists, and client software which examines those playlists and begins streaming content from the server(and available peers) per that schedule, simplifying the creation of continuous-broadcast video and audio.
The Turtle Beach AudioTron AT-100 and AT-101 are 1U rack-mountable, hi-fi network music players. An AudioTron can stream digital music files from personal computers or NAS devices without the need to install server software on these storage devices since the AudioTron is based on Windows CE and is therefore a computer that looks like audio hardware. Supported file formats include Wave, WMA, MP3 and MP3 playlists. These files can reside on a Microsoft Windows network share or on a Samba server. AudioTron reads music files over Ethernet or HPNA network, and generates analog audio via RCA connectors as well as digital audio via S/PDIF.
Streamtuner is a streaming media directory browser. Through the use of a C/Python plugin system, it offers a GTK+ 2.0 interface to Internet radio directories. Streamtuner does not actually play any files, it downloads a list of online radio streams and then tells the unix player to play the selected stream. Streamtuner offers hundreds of thousands of music resources in a more common interface.
cmus is a console audio player for Unix-like operating systems. cmus is distributed under the terms of the GPL-2.0-or-later and is operated exclusively through a text-based user interface, built with ncurses.
GPAC Project on Advanced Content is an open-source multimedia framework focused on modularity and standards compliance. GPAC was created as an implementation of the MPEG-4 Systems standard written in ANSI C and later extended in Streaming Media. GPAC provides tools to process, inspect, package, stream, media playback and interact with media content. Such content can be any combination of audio, video, subtitles, metadata, encrypted media, rendering and ECMAScript.
Opus is a lossy audio coding format developed by the Xiph.Org Foundation and standardized by the Internet Engineering Task Force, designed to efficiently code speech and general audio in a single format, while remaining low-latency enough for real-time interactive communication and low-complexity enough for low-end embedded processors. Opus replaces both Vorbis and Speex for new applications, and several blind listening tests have ranked it higher-quality than any other standard audio format at any given bitrate until transparency is reached, including MP3, AAC, and HE-AAC.
DeaDBeeF is an audio player software available for Windows, Linux and other Unix-like operating systems. An ad-supported Android version is available, but has not been updated since 2017. DeaDBeeF is free and open-source software, except on Android.