Liquidsoap
Liquidsoap is a powerful tool for building complex audio and video stream generators, typically targetting internet radios and webtvs. It consists of a simple script language, which has a first-class notion of source (basically a stream) and provides elementary source constructors and source compositions from which you can build the stream generator you want. This design makes liquidsoap flexible and easily extensible.
We believe that liquidsoap is easy to use. For basic purposes, the scripts consist of the definition of a tree of sources. You will quickly learn how natural it is to use liquidsoap in such cases. The good thing is that when you will want to make your stream more complex, you will be able to stay in the same framework and keep a maintainable configuration. Of course, using some complex features might require a deeper understanding of the concepts of source and request and of our scripting language.
We discuss below what liquidsoap is and what it is not. If you already know that and want to get started with liquidsoap, just jump to the documentation index. It guides you through these pages, starting with the quickstart tour.
Liquidsoap is an open-source sofware from the Savonet project.
Features
Here are a few things you can easily achieve using Liquidsoap:
Playing from files, playlists, directories or script playlists (plays the file chosen by an external program).
Transparent remote file access; easy addition of file resolution protocols.
Scheduling of many sources, depending on time, priorities, quotas, etc.
Mixing sources on top others.
Queuing of user requests; editable queues.
Sound processing: compression, normalization, echo, soundtouch, etc.
Speech and sound synthesis.
Metadata rewriting and insertion.
Arbitrary transitions: cross-fade, jingle insertion, custom, etc. The behaviour of the transition can be programmed to depend on metadata and average volume.
Input of other streams: useful for switching to a live show. Liquidsoap can relay an HTTP stream but also host it.
Blank detection.
Definable event handlers on new tracks, new metadata and excessive blank.
Multiple outputs in the same instance: you can have several quality settings, use several media or even broadcast several contents from the same instance.
Output to Icecast/Peercast/Shoutcast (MP3/Ogg) or a local file (WAV/MP3/Ogg/AAC).
Input/output via Jack, ALSA, OSS and PortAudio. Output via libao.
Interactive control of many operators via Telnet or UNIX domain socket, and indirectly using scripts, graphical/web/IRC interfaces.
Video streams generation.
Liquid Soap Quick Start Link: https://www.liquidsoap.info/doc-1.4.1/quick_start.html