网站LOGO
逐暗者的麦田
页面加载中
7月22日
网站LOGO 逐暗者的麦田
一个java软件攻城狮
菜单
  • 热评
    用户的头像
    首次访问
    上次留言
    累计留言
    我的等级
    我的角色
    打赏二维码
    打赏博主
    私有音乐云
    点击复制本页信息
    微信扫一扫
    文章二维码
    文章图片 文章标题
    创建时间
  • 一 言
    确认删除此评论么? 确认
  • 本弹窗介绍内容来自,本网站不对其中内容负责。
    • 复制图片
    • 复制图片地址
    • 百度识图
    按住ctrl可打开默认菜单

    私有音乐云

    shellingford · 原创 ·
    程序人生 · 音乐Navidrome
    共 2371 字 · 约 3 分钟 · 950
    本文最后更新于2023年08月05日,已经过了352天没有更新,若内容或图片失效,请留言反馈

    背景

    前不久使用了内网穿透+树莓派搭建了自己的服务器,最近正好又烦恼音乐的问题。现在听自己喜欢的歌都需要在好多平台上充值会员,哪天会员到期就无法听了,一个平台又听不全,实在是非常恶心。于是想着自己搭建一个属于自己的私有音乐云。

    于是使用开源的navidrome搭建一个自己的私有音乐云,它除了支持web播放外,还支持app,这里推荐使用安卓的substreamer应用,除了支持播放音乐外,还支持缓存音乐、更可以设置2个服务器地址(为啥要2个?当然是为了内网穿透考虑的,在内网时直接访问内网地址,在外网时使用内网穿透地址,非常贴心)

    部署服务端

    先建立一个docker-compose.yml文件

    shell 代码:
    version: "3"
    services:
      navidrome:
        image: deluan/navidrome:latest
        container_name: navidrome
        ports:
          - "4533:4533"   # 左边可以改成自己服务器未被占用的端口
        environment:
          # Optional: put your config options customization here. Examples(这些都是可选的):
          ND_SCANSCHEDULE: 1m
          ND_LASTFM_ENABLED:
          ND_LASTFM_APIKEY: 123 # 修改成自己的APIKEY
          ND_LASTFM_SECRET: 123  # 修改成自己的SECRET
          ND_LASTFM_LANGUAGE: zh
          ND_LOGLEVEL: info
          ND_SESSIONTIMEOUT: 24h
          ND_BASEURL: ""
        volumes:
          - "./data:/data"
          - "./music:/music:ro"  # 冒号左边修改成自己本地的音乐文件夹路径
    

    ND_LASTFM_APIKEY 和 ND_LASTFM_SECRET 可以用,也可以注释掉,它是LAST.FM提供的一个音乐解析封面接口、关注、记录喜好等作用的,可以在这里申请开发应用 并获得apikey和secret

    data目录用来存放数据文件的,记录着音乐专辑、账户(没错,是支持多账户的)、用户播放列表等数据的。
    music目录是用来存放音乐文件的,服务会定时扫描这个目录下的mp3文件。

    配置好文件后,就可以拉取并启动docker了。对外提供http使用4533端口,如果需要https或者80端口,可以通过nginx反向代理来提供服务。

    服务端使用

    首次登陆的时候会要求填写一个管理员账号和2次密码确认,之后就可以用账号登陆了。当然一开始是没有音乐的,这需要我们自己上传mp3文件,方式有很多,通过FTP、目录同步。很可惜的是navidrome自身不提供文件上传的功能,据说是为了安全。
    我这里通过宝塔面板来上传服务,也很方便,就不额外使用ftp或者装其他文件管理docker了。

    服务端可以建立自己的歌单,管理自己收藏的歌曲等等。

    安卓端

    我这里使用的是substreamer应用,可以从谷歌商店下载。

    首先是配置服务器地址,也就是IP+4533端口,如果使用了nginx反向代理,那就填自己的域名。
    它是支持2个地址的,一个填内网,一个填外网。(当然如果是在云服务器上搭建,只需要用一个就可以了)

    用账号和密码登录后就可以同步歌单和歌曲听了,当然也可以开启缓存歌曲。

    如果弄到音乐?

    由于之前是用各大平台听的音乐,已经有一些了,所以这就需要用到音乐解锁工具来解锁。


    如果是QQ音乐下载下来的是qmc或者mgg格式,前者通过解锁之后获得的是mp3格式,可以直接上传,后者解锁之后获得的不是mp3格式,还需要音频转换软件转成mp3。

    当然,连部署私有化云都能搞定,音乐应该也能轻松获取到才是。

    尾声

    这个依旧有几个缺点:
    第一、成本并不小。播放音乐至少要5M带宽,如果不是有免费的内网穿透+树莓派作为服务器,那租一个5M带宽的云服务器价格也不便宜,通常足够一个平台一年的会员费了。(虽然依旧免去了多个平台来回切的问题了)
    第二、音乐质量,由于无损音频文件体积过大,还是不适合作为云音乐直接播放,需要额外的转码工作,对自架仅有的带宽来说更加吃紧了。
    第三、这个自架的云服务并没有歌词匹配,歌曲信息维护也需要一定的个人维护(API获取并不一定全)。

    声明:本文由 shellingford(博主)原创,依据 CC-BY-NC-SA 4.0 许可协议 授权,转载请注明出处。

    还没有人喜爱这篇文章呢

    现在已有

    1

    条评论
    我要发表评论
    1. 头像
      头像
      • 等级:Lv.1
      • 角色:访客
      • 在线:很久之前

      我尝试的方案是ipv6+alist(webdav阿里云盘)

      · · · 广东-佛山
    博客logo 逐暗者的麦田 一个java软件攻城狮
    MOEICP 萌ICP备20237379号 ICP 沪ICP备13037081号-2,沪ICP备13037081号-1,沪ICP备13037081号-3 又拍云 本站由又拍云提供CDN加速/云存储服务

    💻️ shellingford 7月14日 在线

    🕛

    本站已运行 2 年 331 天 6 小时 41 分

    🌳

    自豪地使用 Typecho 建站,并搭配 MyLife 主题
    逐暗者的麦田. © 2021 ~ 2024.
    网站logo

    逐暗者的麦田 一个java软件攻城狮