Liquidsoap Explained

Liquidsoap
Developer:Romain Beauxis and Samuel Mimram
Released:2004
Latest Release Version:2.2.5
Programming Language:OCaml
Operating System:Unix-like and Microsoft Windows
Genre:Stream generator
License:GPL-2.0-or-later

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]

Usage

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]

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 bys1 = input.http("https://server.org:8000/stream")which can later on be amplified bys1 = amplify(2., s1)A source can also be defined from a playlist bys2 = 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 bys = switch[({ 6h-22h }, s1), ({ 22h-6h }, s2)]Finally, the resulting source can be broadcast by an Icecast server as an mp3 stream withoutput.icecast(%mp3, host="localhost", port=8000, password="hackme", mount="radio", s)

Further reading

External links

Notes and References

  1. Book: Baelde . David . Beauxis . Romain . Mimram . Samuel . SOFSEM 2011: Theory and Practice of Computer Science . Liquidsoap: A High-Level Programming Language for Multimedia Streaming . Lecture Notes in Computer Science . 2011 . 6543 . 99–110 . 10.1007/978-3-642-18381-2_8. 1104.2681 . 978-3-642-18380-5 . 1250366 .
  2. Web site: Creating an Internet Radio Station with Icecast and Liquidsoap .
  3. Web site: Icecast 3rd Party Applications .
  4. Web site: Functional audio and video stream generation with Liquidsoap .
  5. Web site: What is Airtime? .
  6. Web site: AzuraCast .
  7. Web site: LibreTime architecture .
  8. Web site: Radio France contributes to open source audio streaming software .
  9. Web site: Building an Open-Source based audio streaming platform .
  10. Web site: Radio France's Liquidsoap scripts . .
  11. Web site: Live365 to Present at Liquidshop 1.0 .
  12. Web site: Live365 to Showcase Product at Liquidshop 2 .