跳转到内容

BunFM ​

BunFM 是使用 Node.js 构建的自托管实时音频流媒体服务。它在多个客户端之间同步播放,通过 Telegram 机器人接收音频并控制播放,让共享聆听的操作集中在聊天中完成。

平台与用途 ​

  • 部署方式:自托管服务器;仓库列出的依赖包括 Node.js、Bun 运行时、FFmpeg 和 Telegram 机器人令牌。
  • 控制方式:Telegram 聊天命令与音频上传。
  • 用途:以集中管理的曲目队列实现低延迟共享聆听。
  • 许可证:MIT。

主要功能 ​

  • 实时音频流,在多个客户端之间同步播放。
  • 通过 Telegram 接收音频文件和语音消息。
  • 通过命令列出、移除或跳过曲目。
  • 在 Telegram 聊天中切换静音,并可通过配置开启随机播放。
  • 使用 FFmpeg 进行音频转码。
  • 配置服务器地址、端口、音频存储目录,以及播完文件的自动清理。

项目介绍了低延迟播放能力,本页不承诺每种部署环境都能达到固定延迟。

开始使用 ​

访问 BunFM 官方仓库,查看安装说明与配置详情。

准备文档要求的运行时和 FFmpeg,创建 Telegram 机器人,并将令牌配置为 BUN_FM_BOT_TOKEN。按照 README 安装依赖、构建并启动服务器。默认监听地址为 127.0.0.1:7080,README 介绍了通过浏览器或 ffplay 访问的方式。

向机器人发送 /start 查看状态,在聊天中上传音频,使用 /ls 列出曲目,使用 /next 跳到下一首。

常见问题 ​

Telegram 是否仅用于通知? ​

不是。机器人可以接收音频文件和语音消息,聊天命令用于管理曲目与控制播放。

BunFM 是托管服务吗? ​

不是。需要自行部署服务器,并配置 Telegram 机器人令牌、运行时和音频存储。

能否从队列中移除曲目? ​

可以。文档中的 /rm 命令可按编号移除曲目,/ls 用于列出曲目,/next 用于跳过当前曲目。

BunFM 使用什么许可证? ​

BunFM 采用 MIT 许可证,具体条款和声明保留要求见仓库中的许可证文件。