V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
memcache
V2EX  ›  分享创造

最近玩 NAS 比较多,手撸一个音乐流媒体服务

  •  
  •   memcache · 3 天前 · 1489 次点击

    前言

    近来玩了很多 nas 服务,发现私有音乐服务都做的不是很用心,厂商的关注点都在影视上。基于此,萌生了写一个音乐流媒体服务的想法。以下是最初的一些想法: -轻量级部署、低负载; 可以在小 nas 上玩 -支持大约几万的私有音乐库 -基本的搜索、歌单能力界面美观简易使用

    目前已经有了 1.0 版本,小弟自己已经在使用了,不过也还在继续优化迭代中.

    项目地址

    https://github.com/chenqimiao/qm-music

    介绍

    目前需要配合支持 subsonic 的客户端来使用,我是使用了音流,这是一款商用 app ,不过免费的功能足够我使用了,本来做这个项目也是以玩的心态出发,所以开源出来,希望大家可以多给提提意见或者一起参与来完善。

    当然啦,有条件的小伙伴可以给我个 star 吗, 鼓励下我继续用爱发电~ 大恩不言谢 hh~

    下面是一些功能列表

    已支持

    • docker 部署
    • subsonic 协议兼容
    • 智能转码
    • 多格式支持
    • 多用户
    • 歌单
    • 收藏喜欢
    • 专辑列表
    • 艺术家列表
    • 歌曲、艺术家、专辑搜索
    • 相似歌手、歌曲检索
    • 歌曲风格检索
    • 歌词智能匹配
    • 搜索能力(简繁体互搜)

    TODO

    • 图片资源(艺术家、歌曲、专辑)缓存
    • last.fm api 接入
    • Spotify api 接入
    • 客户端开发
    • unitest 补充(减少修改引入) ...
    22 条回复    2025-04-13 18:54:01 +08:00
    muzihuaner
        1
    muzihuaner  
       3 天前 via Android
    有时间试试🤗
    makizhang
        2
    makizhang  
       3 天前 via Android
    目前,用的 navidrome
    lazyrm
        3
    lazyrm  
       3 天前 via iPhone
    todo 能多做一个么? 就是根据歌曲进行推荐(≧▽≦)/♫
    vicalloy
        4
    vicalloy  
       2 天前
    我用的 https://github.com/epoupon/lms
    服务跑着路由器上,对内存很敏感。
    lms 用 cpp 写的,内存占用低。
    xiaoz
        5
    xiaoz  
       2 天前 via Android
    @makizhang #2 ,这个不支持重命名文件和删除就很蛋疼。
    xiaoz
        6
    xiaoz  
       2 天前 via Android
    建议 README.md 加一些截图展示,这样可以给用户留下第一印象。
    Aixtuz
        7
    Aixtuz  
       2 天前
    同在用 navidrome ,但会尝试一下。
    chenplum
        8
    chenplum  
       2 天前
    感谢开发者,很不错的项目,有几个问题:
    1. 刷新曲库的时间太长了,800 曲库用时
    2. 支持检查文件目录变动,曲库自动增量更新
    chenplum
        9
    chenplum  
       2 天前
    @chenplum 800 曲库用了 20 分钟
    zhengfan2016
        10
    zhengfan2016  
       2 天前
    智能转码怎么实现的,我也正在做类似的轮子,但是像 jellyfin 这样的点播动态转码还没找到比较好的方案 ,看其他人大多数实现都是直接用 ffmpeg 全部转码一遍存 sql
    memcache
        11
    memcache  
    OP
       1 天前
    @muzihuaner 谢谢
    memcache
        12
    memcache  
    OP
       1 天前
    @makizhang 嗯,我想的是多做一些中文歌曲的特性,比如繁体简体之类搜索分类支持
    memcache
        13
    memcache  
    OP
       1 天前
    @lazyrm 已经有了哈,欢迎试用
    memcache
        14
    memcache  
    OP
       1 天前
    @xiaoz 好的,后面会补充下
    memcache
        15
    memcache  
    OP
       1 天前
    @chenplum
    1.刷新这块会持续优化,这可能跟 cpu 配置也有些关系,目前 2c 3.5Ghz 测试下来,25 分钟差不多可以刷 1w 多首歌
    2.嗯,后期会加定时任务,目前文件目录变动需要手动刷新
    memcache
        16
    memcache  
    OP
       1 天前
    @Aixtuz 嗯,我想的是多做一些中文歌曲的特性,比如繁体简体之类搜索分类支持
    memcache
        17
    memcache  
    OP
       1 天前
    @zhengfan2016 需要一些检测机制在结合客户端配置
    memcache
        18
    memcache  
    OP
       1 天前
    @xiaoz navidrome 确实感觉是相对封闭一些的 哈哈,作者管控力比较强
    dann73580
        19
    dann73580  
       1 天前
    有考虑过不用 sql 外置数据库么?几十万首音乐会很卡很卡...navidrome 就有这个毛病
    memcache
        20
    memcache  
    OP
       16 小时 3 分钟前
    @dann73580 good idea ,会考虑列入议程!
    dann73580
        21
    dann73580  
       14 小时 10 分钟前
    @memcache pqsql 就很好哈哈,现在我用 navidrome 搜索歌曲有时候就卡卡的,感觉 sqlite 有点扛不住
    memcache
        22
    memcache  
    OP
       11 小时 47 分钟前
    @dann73580 可以,到时候我再调研下 哈哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   949 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 22:41 · PVG 06:41 · LAX 15:41 · JFK 18:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.