Karaoke Eternal 介绍与选型指南

自托管开源卡拉OK派对系统联网溯源与选型:v2.0.2/ISC/920 Stars 取证,Server-Player-点歌端三角色架构与媒体格式解析,及与 OpenKJ、UltraStar Deluxe、通用音乐服务器的量化对比。

Karaoke Eternal流媒体自托管Karaoke Eternal2026/10/29

Karaoke Eternal 介绍与选型指南

本文为 Karaoke Eternal 系列的开篇,全部信息来自官方站点、官方文档与公开徽章服务的联网取证,查询日期统一为 2026-10-28;文中不含任何本地实测环节,部署、配置与运维的实操细节分别见本系列后续篇章。

一、项目定位:它到底解决什么问题

家庭聚会、宿舍晚会、小型派对的经典痛点是:点歌靠喊、排队靠抢、切歌靠吼。Karaoke Eternal 给出的答案是"把点歌台装进每个人的手机浏览器"——它是一个自托管的开源卡拉OK派对系统:服务器端托管你的曲库并提供 Web 应用,参与者用手机浏览器搜索并加入实时点歌队列,与大屏相连的播放端(同样只是一个浏览器页面)自动依次播放,全流程无需安装任何 App。

官方对它的自我定义非常克制:"Host awesome karaoke parties where everyone can easily find and queue songs from their phone's browser"(举办精彩的卡拉OK派对,每个人都能用手机浏览器轻松找歌、排队点歌)。有三个官方强调的关键词值得展开:

  • Fully self-hosted(完全自托管):服务器跑在你自己的设备上——Windows PC、Mac、Linux 桌面机、树莓派或 NAS 均可;
  • No ads or telemetry(无广告、无遥测):不采集数据,不插入广告;
  • Microphones are not required(无需麦克风):播放端只输出音乐,人声由演唱者直接贡献——它不是"消音伴唱机",而是"派对组织者"。

💡 技术拓展:Karaoke(卡拉OK)一词源自日语"空オーケストラ"(空的管弦乐队)。在软件语境里,"卡拉OK系统"通常分两类:一类是"演唱游戏"(如 UltraStar Deluxe,会对音高、节奏打分),另一类是"主持/点播系统"(hosting software,只管曲库、队列和播放)。Karaoke Eternal 属于后者——这一点是选型时最容易产生预期偏差的地方,第四章对比表中会再次强调。

来源:Karaoke Eternal 官网首页(https://www.karaoke-eternal.com/ ,查询日期 2026-10-28)。

二、版本、许可证与热度取证

选型第一课:先看"家底"。本章通过公开徽章服务(shields.io)与官方软件源对项目的基础事实做逐项取证,所有数值均标注查询日期,便于后续复核。

2.1 徽章取证

取证项结果取证通道查询日期
最新版本v2.0.2npm 官方源(https://www.npmjs.com/package/karaoke-eternal )2026-10-28
开源许可证ISCnpm 包 package.json 的 license 字段声明2026-10-28
GitHub Stars920shields.io 徽章(https://img.shields.io/github/stars/bhj/KaraokeEternal.json )2026-10-28
代码仓库https://github.com/bhj/KaraokeEternalnpm 页 Repository 字段2026-10-28
官方站点https://www.karaoke-eternal.comnpm 页 homepage 字段2026-10-28

💡 技术拓展:ISC 许可证与 MIT 许可证高度相似,同属宽松(permissive)许可证家族——允许任意使用、修改、再分发(含商用),只要求保留版权声明与许可文本。对企业内网部署而言,ISC 意味着几乎没有合规负担。Karaoke Eternal 的版权归属为 RadRoot LLC(2019-2026),这也是其官方发布物(如 Docker Hub 上 radrootllc 命名空间)的由来。

2.2 发行形态

Karaoke Eternal Server 通过两种官方形态发行,且两者都是多平台、多架构(要求 64 位):

  1. npm 包:npm i -g karaoke-eternal,要求 Node.js v24 或更高版本,启动命令为 karaoke-eternal-server;
  2. Docker 形态:发布于 Docker Hub 的 radrootllc/karaoke-eternal 命名空间,官方文档说明其"modeled after LinuxServer's images"(仿照 LinuxServer 镜像规范),同时支持 amd64 与 arm64 架构,自带 PUID/PGID/TZ 环境变量约定。

对 NAS 或专用服务器场景,官方明确表示 Docker 是首选("the preferred way to run Karaoke Eternal Server");具体的 Compose 编排实录见《Karaoke Eternal Docker Compose 部署实战》。

来源:Karaoke Eternal Server 官方文档(https://www.karaoke-eternal.com/docs/karaoke-eternal-server/ ,查询日期 2026-10-28);npm 官方源版本页(查询日期 2026-10-28);shields.io 徽章(查询日期 2026-10-28)。

三、架构与媒体源:三个角色一台戏

理解 Karaoke Eternal 的架构,关键是分清它定义的三个角色。官方 Getting Started 文档对角色的划分直接决定了你家里的设备怎么摆。

3.1 三角色架构

  • Server(服务器):托管 Web 应用与媒体文件的核心进程。它"runs on pretty much anything"——树莓派、NAS、Windows/Mac/Linux 桌面均可,职责是提供网页服务、维护曲库数据库、协调实时队列;
  • Player(播放端):连接大屏与音箱的系统,在浏览器里打开 Player 页面即可。由于 Player 完全基于浏览器,它不必与 Server 同机——你可以用一台旧笔记本接电视,服务器则藏在 NAS 里;
  • 点歌端:就是每个客人的手机浏览器。扫码或输入服务器地址即可搜歌、点歌、看队列——无需注册邮箱,无需装 App。

三个角色之间的实时协作(点歌、队列变化、播放状态同步)通过长连接推送实现,这正是"任何一台手机点歌,所有屏幕上的队列立刻刷新"体验的技术基础。

💡 技术拓展:这套"服务端 + 浏览器多端"架构常被称为 B/S(Browser/Server)架构,与之相对的是需要安装客户端的 C/S 架构。B/S 架构对派对场景的价值在于"零安装成本"——客人扫一个码就能参与,这是 Karaoke Eternal 与桌面软件类卡拉OK方案(如 OpenKJ)在体验上的分水岭。

3.2 媒体源与曲库扫描

官方文档列出的支持格式非常聚焦:

  • MP3+G(含 zip 压缩包;官方同时支持用 .m4a 替代 .mp3 作为音频轨);
  • MP4 视频(编解码兼容性取决于播放端浏览器)。

曲库入库依赖媒体扫描器(media scanner),默认按 "Artist - Title"(歌手 - 标题) 的文件命名规则解析元数据;解析失败的文件不会出现在曲库中,需要到扫描日志里排查。对于命名不规范的历史曲库,官方提供了 _kes.v2.json 元数据解析器配置文件:既可调整分隔符与左右顺序(如"标题 - 歌手"),也可用 JSON-e 模板从音频内嵌标签(music-metadata 支持的字段)提取歌手与标题。

💡 技术拓展:MP3+G(MP3 plus Graphics)是卡拉OK行业的经典格式:一个 .mp3 音频文件搭配一个同名 .cdg 文件(CD+Graphics,把歌词画面以低分辨率图形流存储)。zip 打包版(MP3+G zip)则把两个文件合并,方便库管理。这一"音画分离"的传统源自 VCD/CDG 光盘时代,也是为什么卡拉OK曲库常见"歌名.mp3 + 歌名.cdg"成对出现。

来源:Karaoke Eternal Server 官方文档"Media Files / Metadata Parser"章节(https://www.karaoke-eternal.com/docs/karaoke-eternal-server/ ,查询日期 2026-10-28);Getting Started(https://www.karaoke-eternal.com/docs/getting-started/ ,查询日期 2026-10-28)。

四、同类方案量化选型对比

本章引导语只有一句:先想清楚你要的是"游戏"还是"派对基础设施"。开源卡拉OK生态里最有迷惑性的就是这两类产品的边界——Nerd Techy 的评述一针见血:"games like ultrastar deluxe score your pitch and rhythm, while hosting tools like openkj and karaoke eternal manage queues and playback without scoring"(UltraStar Deluxe 这类游戏为音高和节奏打分,而 OpenKJ 与 Karaoke Eternal 这类主持工具只管队列和播放、不打分)。

下表从部署形态、点歌体验、队列机制、评分能力、媒体格式五个维度横向对比(Karaoke Eternal 列与 OpenKJ、UltraStar Deluxe 列均有公开来源,媒体服务器列为通用能力概述):

对比维度Karaoke Eternal v2.0.2OpenKJUltraStar Deluxe / Vocaluxe通用音乐服务器(Ampache / Navidrome / Jellyfin 等)
产品定位卡拉OK派对主持系统跨平台卡拉OK主持软件卡拉OK演唱游戏(类 SingStar)音乐/媒体库流媒体服务
部署形态服务器进程(Docker/npm),全角色浏览器化桌面应用(Linux/macOS/Windows),需 GUI 环境桌面游戏程序,接大屏+手柄/麦克风服务器(Docker/原生),配合各自 Web/App 客户端
客人点歌方式手机浏览器直连服务器,扫码即用桌面端操作为主,配套 Songbook 提供网页搜歌/提交不支持多人远程点歌(本地游玩)支持 Web/App 点播,但无派对队列概念
实时队列与公平轮转内置房间队列,支持多房间与轮转机制有队列管理无(按游戏选曲流程走)播放列表为主,无公平轮转
演唱打分(音高/节奏)❌ 无(其"星标"是曲库收藏,非评分)✅ 可选音高评分✅ 核心功能即评分❌ 无
卡拉OK媒体格式MP3+G(含 zip、.m4a 音轨)、MP4MP3+G、ZIP 等UltraStar TXT 歌词格式为主通用音频格式(MP3/FLAC 等),基本不管 CDG
许可证ISCGPL-3.0开源(以各仓库声明为准)各异(多为 GPL/AGPL 系)
64 位要求是(多架构:amd64/arm64)按发行版按发行版多数支持多架构

对表格的三点解说:

  1. "无打分"是设计取舍而非缺陷。Karaoke Eternal 把全部精力放在"队列公平性 + 全员零门槛参与"上;如果聚会的核心乐趣是"比谁唱得准",UltraStar Deluxe / Vocaluxe 这类演唱游戏才是对口工具。
  2. OpenKJ 是功能最接近的同类,但它是桌面应用,需要一个带 GUI 的常驻机器;Karaoke Eternal 的服务器可以完全无头(headless)运行在 NAS/树莓派上,播放端和点歌端都是浏览器页面——对"服务器藏在角落、电视上只开一个浏览器"的家庭场景更友好。
  3. 通用音乐服务器(如本站已评测的 《Ampache 介绍与选型指南》 、《Navidrome 0.64.2 介绍与选型指南》 、《Jellyfin 12.4 介绍与选型指南》 )能放音乐、能管媒体库,但都缺少"多人在手机上实时排队抢麦"的派对机制;反过来,Karaoke Eternal 也不是日常听歌的方案。两者是互补关系而非替代关系。

来源:Nerd Techy《8 Best Open Source Karaoke Software in 2026》(https://nerdtechy.com/best-open-source-karaoke-software ,查询日期 2026-10-28);OpenKJ Project 官网(http://openkj.org/downloads ,查询日期 2026-10-28);UltraStar Deluxe 官网 About 页(https://usdx.eu/about/ ,查询日期 2026-10-28);GitHub Topics: karaoke(查询日期 2026-10-28)。

五、适用场景与限制

任何选型都要回答"什么时候不该用它"。综合官方文档与生态定位,Karaoke Eternal 的边界如下。

5.1 高适用场景

  • 家庭影院 + NAS 组合:曲库放 NAS,Server 以 Docker 形态常驻,电视上的浏览器就是 Player,全家人手机点歌——这是官方文档设想的典型形态;
  • 多房间/多场景场所:支持多房间(Room)模型,每个房间有独立队列,小到家庭两层楼、大到小酒吧包间都适用;
  • 旧设备复用:Player 与点歌端都是浏览器页面,一台退役笔记本、一个树莓派接电视即可充当播放端;
  • 隐私敏感环境:无广告、无遥测,数据全部留在本地。

5.2 明确的限制

  • 无演唱评分:想要音高打分、计分排行榜的,请直接选演唱游戏类产品;
  • 纯音频文件不被视为完整曲目:官方支持列表是 MP3+G(音频+歌词画面)与 MP4 视频;一个孤零零的 .mp3(无 .cdg 歌词画面、无视频轨)不构成卡拉OK曲目,扫描后不会出现在曲库中;
  • 文件命名有约定:默认要求"Artist - Title"格式,命名混乱的历史曲库需要借助 _kes.v2.json 解析器治理,否则"扫不进库";
  • 仅支持 64 位系统;
  • MP4 编解码受播放端浏览器制约:同一文件在不同浏览器的播放兼容性可能有差异,官方文档明确提示了这一点;
  • 人声不打分、不修音:系统只输出伴奏音乐,"无需麦克风"的另一面是没有任何音频处理能力。

六、选型建议

  • 要"人人能点、公平排队"的派对系统:Karaoke Eternal 是当前开源生态里体验最完整的方案之一——浏览器化程度最高、部署最轻(一个服务进程 + 一个曲库目录)、许可证宽松(ISC);
  • 要"唱得准不准"的竞技玩法:选 UltraStar Deluxe 或 Vocaluxe;
  • 已有带 GUI 的工作站、想要传统 KJ(主持人)工作台:可以评估 OpenKJ;
  • 只是想在家听歌:通用音乐服务器更合适(参见本站 Ampache / Navidrome / Jellyfin 系列);
  • 决定部署后的第一步:跟随《Karaoke Eternal Docker Compose 部署实战》完成从零到点歌成功的全流程;需要逐项调优服务参数时,配合《Karaoke Eternal 配置参数详解》;日常曲库维护、备份恢复与升级操作,见《Karaoke Eternal 常用命令与运维实战(核心篇)》。

参考来源汇总

  1. Karaoke Eternal 官网:https://www.karaoke-eternal.com/ (查询日期 2026-10-28)
  2. Karaoke Eternal Server 官方文档:https://www.karaoke-eternal.com/docs/karaoke-eternal-server/ (查询日期 2026-10-28)
  3. Getting Started:https://www.karaoke-eternal.com/docs/getting-started/ (查询日期 2026-10-28)
  4. npm 官方源:https://www.npmjs.com/package/karaoke-eternal (查询日期 2026-10-28)
  5. GitHub 仓库:https://github.com/bhj/KaraokeEternal (查询日期 2026-10-28)
  6. shields.io Stars 徽章:https://img.shields.io/github/stars/bhj/KaraokeEternal.json (查询日期 2026-10-28)
  7. Nerd Techy 开源卡拉OK软件评测:https://nerdtechy.com/best-open-source-karaoke-software (查询日期 2026-10-28)
  8. OpenKJ Project:http://openkj.org/downloads (查询日期 2026-10-28)
  9. UltraStar Deluxe 官网:https://usdx.eu/about/ (查询日期 2026-10-28)