跳到正文
发现
Liquidsoap:流媒体脚本语言
命令行工具效率工具

Liquidsoap:流媒体脚本语言

一套用于网络电台与网络电视的流媒体脚本语言,用丰富的操作符组合、变换和输出音视频流。

admin
发布于 2026-10-28
浏览
4
访问
0
下载
0
版本
v2.4.6
平台
Windows、Linux
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。

详细介绍

项目简介

Liquidsoap 是一款专为多媒体流处理而设计的静态类型脚本语言,常被用于搭建网络电台(netradio)和网络电视(webtv)。它提供大量操作符,你可以把它们组合起来创建、变换和输出音频流。项目强调轻量与易用,沿用 Unix 中「简单而强壮的组件协同工作」的传统,免费且开源。

主要功能

  • 用脚本描述流:通过一套语言和操作符集合来构建、变换流,适合直播、点播与自动化播出场景。
  • 面向媒体与流媒体:仓库简介中说明它为媒体、流媒体、文件生成、自动化、HTTP 后端等场景提供专门的操作符与后端。
  • 丰富的输出能力:例如 output.icecast 等输出算子,可对接流媒体服务器。
  • 轨道与过渡控制:fade.in / fade.out、cross / crossfade、metadata.deduplicate 等算子用于淡入淡出、交叉淡化与元数据处理。
  • 配套工具链:实验性的 language server(liquidsoap-language-server)、格式化工具 liquidsoap-prettier、tree-sitter 语法、CodeMirror 语言支持,以及 VS Code 扩展 vscode-liquidsoap 和 Neovim 相关插件。
  • 在线试用:官方提供 Playground(https://www.liquidsoap.info/try/)可直接体验。
  • 完整文档:除网站文档外,还出版了《the Liquidsoap book》,提供在线 PDF 与纸质版本。

安装与使用

官方完整安装与构建说明见:https://www.liquidsoap.info/doc.html?path=install.html

二进制包仓库

官方为 Debian、Ubuntu、Fedora、Alpine 提供软件仓库,每个发行版本对应一个 channel。运行下面的脚本即可配置你所选用的仓库:

curl -fsSL https://repo.liquidsoap.info/setup.sh | sudo sh

配置完成后,按系统使用 apt-get install liquidsoap、dnf install liquidsoap 或 apk add liquidsoap,后续升级随系统一起进行。Windows 则提供 .zip 归档,Docker 镜像以 savonet/liquidsoap:v2.4.6 这类标签发布。

从源码构建(开发版)

项目使用 dune 构建、opam 管理依赖,要求 OCaml ≥ 5.4、dune ≥ 3.23:

opam install --deps-only ./opam/liquidsoap.opam ./opam/liquidsoap-lang.opam
dune build

仓库根目录的 ./liquidsoap 包装脚本可以直接从构建目录运行二进制,并把标准库指向 src/libs/,无需安装:

./liquidsoap your_script.liq

通过 opam 从源码安装

opam pin -ny .
opam install liquidsoap

注意事项

  • 许可证为 GPL-2.0。
  • 版本号遵循语义化规则:主版本变更互不兼容,次版本可能不兼容,修订版本应当兼容;但由于框架复杂,修复有时会纠正算子原本应有的行为,从而影响依赖旧实现的脚本。官方强烈建议维护一套 staging 环境,在正式使用新版本前先行测试。
  • 预编译资产覆盖 Debian(stable/testing)、Ubuntu(LTS/最新版)、Fedora、Alpine edge 与 Windows 64 位;2.4.6 之前的 .deb 包需要 deb-multimedia.org。
  • FFmpeg 仅计划支持最近两个大版本(当前为 8 和 9),7.1 及以上目前也可用,更旧版本的支持可能随时取消。
  • 发布资产可能被更新或删除;如需永久链接,请从 liquidsoap-release-assets 仓库获取。

本作品整理自 GitHub 开源项目 savonet/liquidsoap,原作者 @savonet,许可证 GPL-2.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。

更新记录

  1. v2.4.6当前版本

    修复 fade.in/fade.out 在延迟待定时被放大为无穷、fade.out 跳过后静音下一首、output.icecast 分块模式断线不重连;修正 cross/crossfade 的去重与 on_track 触发、同步回调死循环及 file.watch 文件替换跟踪等问题。

评论