AzuraCast 与 Discourse 的 API 集成
AzuraCast 链接:https://www.azuracast.com/
AzuraCast API 链接:Swagger UI
AzuraCast 是一款开源的完整网络电台运营解决方案。所有功能均可通过浏览器控制,甚至已实现了完全基于浏览器的流媒体客户端。电台自动化功能仍在持续开发中,部分功能尚需改进,但该软件已可投入生产使用。
AzuraCast 的底层架构基于成熟可靠的组件,同时力求符合当前技术水平。流媒体平台采用 Icecast(可选 Shoutcast)以及 Liquidsoap 脚本语言搭建;各个流媒体频道通过一个功能丰富的 Web 应用程序进行管理。为尽可能简化在所有系统上的安装流程,所有组件均通过 Docker 容器进行虚拟化。安装过程仅需几条命令行指令,其余操作均在浏览器中完成。因此,AzuraCast 应能在所有常见的 Linux 系统上运行。目前,基于 ARM 的平台(如树莓派)尚不支持。
为电台带来更多多样性
该平台的基本理念是能够同时提供多个独立的电台,而不仅仅是一个。这样不仅可以运营完整的托管服务,还能打造一个为不同听众提供合适音乐风格的网络电台。每个电台拥有独立的配置文件,并管理自己的音乐文件和播放列表。此外,还可创建用户,允许他们通过集成的 Web DJ 或传统流媒体软件进行直播。丰富的设置选项、统计信息及其他管理工具进一步完善了界面。我们甚至考虑到了辅助技术用户,因为整个界面非常便于屏幕阅读器操作。
广播流程中的改进需求
播放顺序通过播放列表来设计。然而,在用户界面中,用户最初无法直接看到分配给列表的文件,只能看到设置和调度规则,这可能会让从其他电台自动化系统切换过来的用户感到困惑。编辑播放列表时,需确定其是基于歌曲播放还是基于 URL 播放(即外部内容,如传送的通告或节目)。不过,混合播放列表目前尚不可行。例如,包含本地开场文件、通过 URL 传送的通告以及本地结尾文件的通告容器,目前只能通过间接方式实现。音乐文件区域的播放列表由内容填充。单个文件或完整文件夹可分配给任意数量的播放列表,因此无需重复上传文件。新内容可通过浏览器上传。对于大量数据,可在 Docker 容器中临时设置 FTP 服务器,但这需要通过命令行进行干预。
Auto-DJ 的行为在电台的管理区域中定义。这表明所谓的交叉淡入淡出(即各文件之间的过渡)也提供了智能选项,可在混音时考虑音轨音量,但尚未包含静音检测功能,有时会导致歌曲之间的过渡显得不够平滑。此外,针对不同类型的文件也没有独立的淡入淡出设置。虽然音乐片段之间的过渡可以较长,但播放广告或人声片段时通常希望几乎没有或完全没有淡入淡出效果。因此,此处仍有大量优化空间。不过,AzuraCast 已为经验丰富的用户提供将自定义代码注入 Liquidsoap 配置的功能。
结论
AzuraCast 正处于持续开发中,目前几乎每天都在更新。即使该软件已可投入生产使用,经验丰富的电台制作人员可能仍希望等待更多功能上线。但考虑到该项目仅由少数核心开发者领导,AzuraCast 的表现令人印象深刻,在某些方面甚至超越了类似的商业产品。因此,值得持续关注。得益于简单的 Docker 安装方式,可快速搭建测试环境以跟踪其进展。
开发工作在 GitHub 上进行。该团队还提供一些独立的软件组件供用户在其自有项目中使用,包括基于 PHP 的 Icecast 流媒体标题显示功能。包含安装说明和支持选项的网站位于 Azuracast.com。
我们只能希望 AzuraCast 不会像几年前介绍的 Airtime 那样黯然退场,并且其
