Liquidsoap
   HOME

TheInfoList



OR:

Liquidsoap is a
scripting language In computing, a script is a relatively short and simple set of instructions that typically automation, automate an otherwise manual process. The act of writing a script is called scripting. A scripting language or script language is a programming ...
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 Functional may refer to: * Movements in architecture: ** Functionalism (architecture) ** Form follows function * Functional group, combination of atoms within molecules * Medical conditions without currently visible organic basis: ** Functional s ...
,
statically typed In computer programming, a type system is a logical system comprising a set of rules that assigns a property called a ''type'' (for example, integer, floating point, string) to every '' term'' (a word, phrase, or other set of symbols). Usu ...
with
type inference Type inference, sometimes called type reconstruction, refers to the automatic detection of the type of an expression in a formal language. These include programming languages and mathematical type systems, but also natural languages in some bran ...
. The language is an original one, but the interpreter is programmed in
OCaml OCaml ( , formerly Objective Caml) is a General-purpose programming language, general-purpose, High-level programming language, high-level, Comparison of multi-paradigm programming languages, multi-paradigm programming language which extends the ...
and provided as
free software Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
. 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 MP3 (formally MPEG-1 Audio Layer III or MPEG-2 Audio Layer III) is a coding format for digital audio developed largely by the Fraunhofer Society in Germany under the lead of Karlheinz Brandenburg. It was designed to greatly reduce the amount ...
or
Opus Opus (: opera Opera is a form of History of theatre#European theatre, Western theatre in which music is a fundamental component and dramatic roles are taken by Singing, singers. Such a "work" (the literal translation of the Italian word "opera ...
, and the actual streaming is performed by serving generated HLS playlists or by using streaming software such as
Icecast Icecast is a streaming media project released as free software maintained by the Xiph.Org Foundation. It also refers specifically to the Server (computing), server program which is part of the project. Icecast was created in December 1998/Janua ...
. Although originally targeted at audio streams, the generation of video stream is also supported.


Usage

Liquidsoap is used as a back-end for radio streaming software such as
Airtime Air time or airtime may refer to: *Air time (broadcasting), also spelled "airtime", available hours for broadcast or time purchased for broadcast * Air time (mobile phone), also spelled "airtime", top-up for mobile roaming services *Air time (ride ...
, AzuraCast or LibreTime. It is also used by many radios to generate online streams such as the French national radio
Radio France Radio France () is the French national public radio broadcaster. Stations Radio France offers seven national networks: *France Inter — Radio France's "generalist media, generalist" station, featuring entertaining and informative talk mixed wi ...
, or the
Live365 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 enthus ...
radio network.


Script examples

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 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. ...
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 , s1), (, s2) Finally, the resulting source can be broadcast by an
Icecast Icecast is a streaming media project released as free software maintained by the Xiph.Org Foundation. It also refers specifically to the Server (computing), server program which is part of the project. Icecast was created in December 1998/Janua ...
server as an mp3 stream with output.icecast(%mp3, host="localhost", port=8000, password="hackme", mount="radio", s)


References


Further reading

*


External links

*
Liquidshop
an online workshop about Liquidsoap * {{GitHub, savonet/liquidsoap Free audio software Free multimedia software Internet radio software Programming languages created in 2004 Streaming software