一个局域网KTV方案,手机扫码就能点歌,电视或投影仪直接全屏播MV。曲库和账号数据都存在NAS的共享目录里,第一次进后台管理要设密码。

Github地址

https://github.com/ma303973022/junyao-ktv

功能特性

  • 手机当点歌台,电视只管放画面
  • 原唱伴唱随时切,用的是HLS多音轨技术,切换不卡顿、进度也不丢
  • 有Intel/AMD核显就走VAAPI硬件转码,没有就自动退到软件编码
  • 视频格式吃得比较杂,mp4、mkv、avi、flv、mov、webm、mpg都能播
  • 转码出来的缓存文件每天自动清,省得硬盘被吃光
  • 曲库是渐进式扫描和转码的,边扫边播不用干等
  • 带个管理后台,加歌删歌改信息都行,有密码锁着

运行环境

  • 运行平台:飞牛 fnOS / Docker 应用
  • 支持架构:x86_64, aarch64

怎么装上 这项目主要是给飞牛fnOS用的,打包成.fpk格式进应用中心装。有Docker的话更灵活,x86和ARM64都支持。

Docker部署直接拉ma303973022/junyao-ktv:latest镜像,端口默认8083映射到容器内8080。要挂三个目录:/data放数据库和缓存,/mv放你的MV曲库,/singer放歌手头像。有核显就把/dev/dri设备透传进去,环境变量里VAAPI_DEVICE默认指向renderD128;N卡理论上也能走NVENC,但作者没实测过,得自己折腾nvidia-container-toolkit。