逐暗者的麦田 一位Java攻城狮的个人博客,主要分享编程、建站、动漫、趣闻和生活内容
博主 逐暗者的麦田

本站由 又拍云又拍云提供CDN加速/云存储服务

萌ICP备20237379号沪ICP备:13037081号-2,13037081号-1,13037081号-3 博主 昨天 22:48 在线自豪地使用 Typecho 建站搭配使用 🌻Sunny 主题当前在线 3 人
歌曲封面 未知作品

本站由 又拍云又拍云提供CDN加速/云存储服务

萌ICP备20237379号

沪ICP备:13037081号-2,13037081号-1,13037081号-3

网站已运行 3 年 58 天 9 小时 20 分

Powered by Typecho & Sunny

3 online · 31 ms

Title

私有音乐云

逐暗者

·

程序人生

·

Article
⚠️ 本文最后更新于2023年08月05日,已经过了444天没有更新,若内容或图片失效,请留言反馈

背景

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

于是使用开源的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获取并不一定全)。

现在已有 1271 次阅读,1 条评论,0 人点赞
Author:逐暗者
作者
私有音乐云
当前文章累计共 2356 字,阅读大概需要 3 分钟。
Thread.sleep(0)的奇怪现象
2022年9月13日 · 0评论
异形工厂
2022年1月30日 · 0评论
ChatGPT
2023年3月2日 · 0评论
Comment:共1条
发表
  1. 头像
    @
    我尝试的方案是ipv6+alist(webdav阿里云盘)
    · Windows · Chrome · 中国广东省佛山市电信

    👍

    💖

    💯

    💦

    😄

    🪙

    👍 0 💖 0 💯 0 💦 0 😄 0 🪙 0
搜 索 消 息 足 迹
你还不曾留言过..
你还不曾留下足迹..
博主 不再显示
博主