简体中文
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 许可证,具体条款和声明保留要求见仓库中的许可证文件。