加载中...
私有音乐云
发表于:2022-10-06 | 分类: 程序人生
字数统计: 1.1k | 阅读时长: 4分钟 | 阅读量:

背景


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

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

部署服务端


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

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获取并不一定全)。

上一篇:
AI绘画
下一篇:
一次性讲清楚voliate的可见性
本文目录
本文目录