• Stars
    star
    1,315
  • Rank 35,778 (Top 0.8 %)
  • Language
    OCaml
  • License
    GNU General Publi...
  • Created almost 13 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Liquidsoap is a statically typed scripting general-purpose language with dedicated operators and backend for all thing media, streaming, file generation, automation, HTTP backend and more.

Liquidsoap

Liquidsoap is a swiss-army knife for multimedia streaming, notably used for netradios and webtvs. It has tons of features, it's free and it's open-source!

Liquidsoap is a powerful and flexible language for describing your streams. It offers a rich collection of operators that you can combine to create and transform streams. Liquidsoap is very light and easy to use, in the Unix tradition of simple strong components working together.

Copyright 2003-2023 Savonet team

GPL license CI GitHub release Install with Opam ! Chat on slack !

Homepage http://liquidsoap.info
Discord Chat http://chat.liquidsoap.info
Blog https://www.liquidsoap.info/blog/
Bug reports https://github.com/savonet/liquidsoap/issues
User questions https://github.com/savonet/liquidsoap/discussions
IRC (deprecated) #savonet on irc.libera.chat (slack bridge)
Mailing list (deprecated) [email protected]

Installation

See the instructions here.

Release Details

Current release status by version:

Branch Latest release Supported Rolling Release
2.2.x In development βœ… 2.2.x
2.1.x 2.1.4 πŸŒ… 2.1.x
2.0.x 2.0.7 ❌ 2.0.x
1.4.x 1.4.4 ❌ ❌

Notes

  • Development branch 2.2.x is being prepared for its first stable release. We do encourage new projects to start with it and users to report issues. We will prioritize these issues over other ones.
  • Development branch 2.1.x is nearing the end of its development cycle and will only be updated on a best effort basis or in case of a major issue.

Versions

Liquidsoap releases follow a semantic versioning as follows:

<major_version>.<minor_version>.<bugfix_version>

Where:

  • major_version is bumped when there are major changes, i.e. changes in the paradigm, major implementation change etc. Versions with different major versions are incompatible
  • minor_version is bumped when there are minor changes, i.e. new operators, renaming, new modules etc. Version with different minor versions may be incompatible
  • bugfix_version is bumped when a new bugfix version is published. Versions with only bugfix version changes should be compatible

Please note that liquidsoap is a complex framework with a lot of operators and advanced implementations. For this reason, it is possible that a bugfix actually fixes the behavior of an operator the way it was intended to be and may break scripts that previously relied on incorrect implementations.

Therefore, we strongly recommend maintaining a staging environment that makes it possible to test new versions before using them in production. In this context, the semantic versioning above should guide you in knowing how much scrutiny you should put into a new release before validating it in your staging environment.

Assets

Release assets are provided at: https://github.com/savonet/liquidsoap/releases. Published, versioned releases are available using their published tag, i.e. vx.y.z.

We also provide rolling releases. A rolling release is a snapshot of a current, unpublished release. It can be a future stable release or a future bugfix release for a given major/minor version.

For both types of releases, we reserve the right to update, delete and add assets to the release at any time. If you are looking for permanent links to release assets, you should grab them from https://github.com/savonet/liquidsoap-release-assets/releases, which reflects all our releases but whose artifacts are never modified/deleted.

Documentation

HTML documentation is available on our website

We also have written the Liquidsoap book which is available online and in physical version.

Contributing

Contributions are more than welcome: you can submit issues if you find some, or contribute to the code through pull requests. You can checkout the code with

git checkout [email protected]:savonet/liquidsoap.git

To build the code, you will need all the required opam packages installed. You can do it this way:

cd liquidsoap/
opam pin git+https://github.com/savonet/ocaml-dtools
opam pin git+https://github.com/savonet/ocaml-cry
opam pin git+https://github.com/savonet/ocaml-metadata
opam pin git+https://github.com/savonet/ocaml-ffmpeg # optional
opam pin -ny .
opam install --deps-only liquidsoap

You might also need to pin a local version of the OCaml modules that we maintain in relation to liquidsoap. This can be done by pinning that module locally using opam.

Assuming that all dendencies are installed, you can now build with

dune build

In order to ensure the quality of your commits, you are recommended to install the pre-commit hooks with

pre-commit install

Those will automatically check before each commit that those meet some of our quality requirements.

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details, fully stated in the COPYING file at the root of the liquidsoap distribution.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Authors

  • Developers:
  • Former project leader and emeritus developer:
  • Contributors:
    • Florent Bouchez
    • Julien Cristau
    • StΓ©phane Gimenez
    • ClΓ©ment Renard
    • Vincent Tabard
    • Sattisvar Tandabany

More Repositories

1

ocaml-ssl

OCaml SSL bindings.
OCaml
56
star
2

liquidsoap-full

[DEPRECATED] Former main repository with all in-house bindings
HTML
49
star
3

ocaml-ffmpeg

OCaml bindings to the FFmpeg library.
C
48
star
4

liquidsoap-daemon

Daemonization scripts for liquidsoap
Shell
36
star
5

ocaml-mm

OCaml multimedia library
OCaml
33
star
6

ocaml-posix

Bindings to the various POSIX APIs
OCaml
28
star
7

ocaml-portaudio

OCaml bindings for portaudio.
C
17
star
8

ocaml-duppy

OCaml asynchronous scheduler and monad for server-oriented programming.
OCaml
16
star
9

mingw-ocaml

OCaml cross-compiler based on mingw
12
star
10

liquidsoap-controler

Generic JSON-based HTTP controler for liquidsoap radios.
JavaScript
11
star
11

ocaml-gstreamer

OCaml bindings for the GStreamer multimedia framework.
C
11
star
12

ocaml-srt

OCaml bindings for the Secure, Reliable, Transport protocol library
OCaml
10
star
13

ocaml-taglib

OCaml bindings to taglib.
OCaml
10
star
14

ocaml-flac

OCaml bindings to libFLAC
C
9
star
15

ocaml-alsa

OCaml ALSA bindings.
C
9
star
16

ocaml-lilv

OCaml bindings to the lilv library for using LV2 plugins.
OCaml
9
star
17

ocaml-cry

OCaml native module for icecast/shoutcast source protocol(s).
OCaml
9
star
18

ocaml-ogg

OCaml bindings to libogg.
OCaml
8
star
19

ocaml-schroedinger

OCaml bindings to libschroedinger. (UNMAINTAINED)
C
8
star
20

ocaml-metadata

Library to read metadata from files in various formats.
OCaml
8
star
21

ocaml-opencl

OCaml bindings for openCL
C
7
star
22

ocaml-ao

OCaml libao bindings.
C
7
star
23

ocaml-pulseaudio

OCaml bindings for pulseaudio.
C
6
star
24

ocaml-speex

OCaml bindings to libspeex
OCaml
6
star
25

ocaml-shine

OCaml binding to the fixed-point mp3 encoding library shine.
C
6
star
26

ocaml-opus

OCaml bindings for Opus audio codec.
C
6
star
27

ocaml-rtmp

Native implementation of the RTMP protocol.
OCaml
6
star
28

vscode-liquidsoap

VSCode support for the liquidsoap language
TypeScript
6
star
29

ocaml-ladspa

OCaml bindings for LADSPA plugins.
C
5
star
30

ocaml-dtools

OCaml modules for writing daemons
OCaml
5
star
31

ocaml-mem_usage

Cross-platform memory usage information
C
5
star
32

ocaml-lame

OCaml bindings to the LAME mp3 encoder.
OCaml
4
star
33

book

The Liquidsoap book.
TeX
4
star
34

flows-client

Client for flow administation
CoffeeScript
4
star
35

ocaml-mad

OCaml bindings to the MAD mp3 decoder.
C
3
star
36

ocaml-dssi

OCaml bindings for dssi plugins.
C
3
star
37

ocaml-vorbis

OCaml bindings to lbvorbis.
C
3
star
38

ocaml-gavl

OCaml bindings for the Gavl video manipulation library.
M4
3
star
39

ocaml-fdkaac

OCaml binding for the fdk-aac library.
OCaml
3
star
40

liquidshop

Website for liquidshop, the first Liquidsoap workshop!
Makefile
3
star
41

ocaml-magic

C
3
star
42

papers

Articles and notes about Liquidsoap
TeX
3
star
43

ocaml-gd

Mirror of https://sourceforge.net/projects/gd4o/
OCaml
3
star
44

ocaml-bjack

OCaml blocking JACK API
C
3
star
45

ocaml-samplerate

OCaml bindings for libsamplerate.
C
3
star
46

flows-push

Savonet Flows client-side application.
CoffeeScript
3
star
47

pitcher

Presentation app using liquidsoap and react/nextjs.
TypeScript
3
star
48

liquidsoap-prettier

Prettier plugin for liquidsoap script
JavaScript
3
star
49

heroku-buildpack-liquidsoap

Heroku buildpack for liquidsoap
Shell
3
star
50

flows-submit

Savonet Flows submission application.
Python
2
star
51

heroku-template-liquidsoap

Application template for liquidsoap on heroku
2
star
52

ocaml-voaacenc

OCaml bindings for the vo-aacenc AAC encoder. (UNMAINTAINED)
OCaml
2
star
53

savonet.github.io

HTML
2
star
54

ocaml-xmlplaylist

OCaml module to parse various RSS playlist formats.
OCaml
2
star
55

m4

In-house autoconf macros.
M4
2
star
56

liquidsoap-win32

Binary builds of recent liquidsoap sources.
2
star
57

ocaml-faad

OCaml bindings for the libfaad AAC decoder library.
C
2
star
58

ocaml-soundtouch

OCaml bindings for the soundtouch audio library.
C++
2
star
59

ai-radio

Example of using liquidsoap to build a AI radio
2
star
60

findlib

Mirror of http://projects.camlcity.org/projects/findlib.html
OCaml
1
star
61

miscellaneous

Miscellaneous projects and code.
OCaml
1
star
62

ocaml-theora

OCaml bindings to libtheora.
C
1
star
63

ocaml-frei0r

OCaml bindings to the frei0r video API.
C
1
star
64

ocaml-lo

OCaml bindings for LO library.
C
1
star
65

ocaml-lastfm

OCaml API to lastfm radio and audioscrobbler
OCaml
1
star
66

ocaml-aacplus

OCaml bindings for libaacplus (UNMAINTAINED)
OCaml
1
star
67

dlfcn-win32

Mirror of https://code.google.com/p/dlfcn-win32
C
1
star
68

codemirror-lang-liquidsoap

Lezer grammar for liquidsoap scripts
JavaScript
1
star