package liquidsoap-libs-extra

  1. Overview
  2. Docs
Liquidosap standard library -- extra functionalities

Install

Dune Dependency

Authors

Maintainers

Sources

v2.2.0.tar.gz
md5=7c66a8995b267504a953023dc83a71b9
sha512=f1ba43fcd0bba005bfc3ae4df9897860d11108a7cef3bdb216c2be955dc48a5c0e536fa130eeb6bdcc4d08abc706285c3a8e60d64fb495de9afb481615768167

README.md.html

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

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 (w/ discord bridge)
Mailing list (deprecated) savonet-users@lists.sourceforge.net

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 (docker: savonet/liquidsoap:rolling-release-v2.2.x) | | 2.1.x | 2.1.4 (docker: savonet/liquidsoap:v2.1.4| 🌅 | 2.1.x (docker: savonet/liquidsoap:rolling-release-v2.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 git@github.com: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

OCaml

Innovation. Community. Security.