再一次,实现听歌自由

简介: 2002年11月,百度上线MP3搜索功能,几乎能搜索和下载到所有的歌曲。按相关的版权法规,百度未经授权使用他人资源牟利是违法的。当时互联网产业违法采集数据、传播盗版是家常便饭,版权管理形同虚设,百度顺势而为分了一块大蛋糕。盗版音乐砸了音乐人的饭碗,就如同盗版软件摧残软件从业者。最近十多年,政府对音像作品版权的管理日趋严格,这是一件利国利民的好事,一个行业兴盛的起点首先是从业者得到应有的报酬。

20年前,中国网民听歌是自由的,准确点说是听盗版歌的自由。
2002年11月,百度上线MP3搜索功能,几乎能搜索和下载到所有的歌曲。按相关的版权法规,百度未经授权使用他人资源牟利是违法的。当时互联网产业违法采集数据、传播盗版是家常便饭,版权管理形同虚设,百度顺势而为分了一块大蛋糕。盗版音乐砸了音乐人的饭碗,就如同盗版软件摧残软件从业者。最近十多年,政府对音像作品版权的管理日趋严格,这是一件利国利民的好事,一个行业兴盛的起点首先是从业者得到应有的报酬。
百度MP3搜索
今天,付费听音乐已经成为网民的共识。我常常使用网易云听音乐,这是一个好软件,只是没有周杰伦的歌,网易云官方解释是没有拿到周杰伦歌曲的版权。QQ音乐倒是有周杰伦歌曲,但是偶尔也会因版权问题下架其他歌手作品。同样,酷狗音乐、咪咕音乐也不能提供所有的歌曲。问题来了,如何在一个音乐APP上听到所有的我喜欢的歌,实现听歌自由呢?自建音乐服务器是唯一的路。
Navidrome 是一款开源音乐服务器,用于自建云端音乐播放器,兼容手机、桌面等多种客户端。Navidrome 资源占用率非常低,支持中文界面,可以播放任何音频格式,实在是码农+音乐爱好者的折腾利器。Navidrome 提供了 Demo 地址 demo.navidrome.org/app/ , 账号密码都是 demo。
首先准备可以远程访问的服务器,最好有独立的公网IP,硬件配置至少1核1G,预装CentOS或者Debian系统。有一个独立的域名更好,比如 music.test.com ,否则就要用 IP+端口号访问音乐服务器。
1 安装docker-compose
推荐使用 docker 安装 Navidrome ,首先安装 docker-compose :
shell复制代码# 安装yum工具
yum install -y yum-utils

设置源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装docker

yum install -y docker-ce

启动doker服务

systemctl start docker

安装docker-compose

yum install docker-compose

2 安装Navidrome
编辑docker-compose.yml,内容如下:
yaml复制代码version: "3"
services:
navidrome:
image: deluan/navidrome:latest
user: 0:0
ports:

  - "8080:8080" #自定义端口
restart: unless-stopped
environment:
  ND_SCANSCHEDULE: 1h
  ND_LOGLEVEL: info  
  ND_SESSIONTIMEOUT: 24h
  ND_BASEURL: ""
volumes:
  - "/usr/local/music.test.com/data:/data"
  - "/usr/local/music.test.com/music:/music:ro"

volumes 参数指定数据 data 和音乐文件 music 的映射路径,/usr/local/music.test.com/ 即为真实的文件路径。
shell复制代码# -f 指定使用的 Compose 模板文件,默认为 docker-compose.yml,可以多次指定,指定多个yml
docker-compose -f docker-compose.yml up -d

执行以上启动命令后 Navidrome 将会安装成功,内网访问路径是 http://localhost:8080
3 配置外网访问
配置 Nginx 将 music.test.com 域名映射给内网地址,再配置域名解析,将 music.test.com 解析为真实IP。
nginx复制代码server {
listen 80;
server_name music.test.com;
access_log /var/log/nginx/music.test.com combined;

location / {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
}

}

完成以上三步后,在路径 /usr/local/music.test.com/music 上传一些音乐文件,然后通过地址 music.test.com/app 就能访问到音乐服务器界面,按系统提示添加管理员账号和密码,最后呈现的效果如下图所示:
Navidrome管理界面
Navidrome 会自动扫描 music 目录下的音乐文件元信息,形成一个歌曲管理清单。如果在清单里面看不到最新上传的歌曲,可以点击右上角的心跳图标,再点击“完全扫描”按钮,扫描所有文件。
4 配置手机客户端
日常听歌时,可以通过 Navidrome 管理后台直接播放音乐,也可以安装手机客户端:

IOS: playSub、Substreamer、Amperfy、iSub
Android: DSub、Subtracks、Substreamer、Ultrasonic 、Audinaut

推荐使用 Substreamer,这个APP更加符合国人的使用习惯,主页地址: substreamerapp.com/ 。IOS客户端下载地址: apps.apple.com/us/app/subs… ;Android客户端下载地址: m.289.com/azrj/477219… 。Substreamer 首次启动后根据界面提示填写服务器地址 music.test.com ,以及第三步配置的账号和密码。Substreamer 启动之后自动获取音乐数据,如下所示:
Substreamer客户端
5 修改歌曲元信息
无论歌手发布过多少歌曲,一般只有几首歌会被放在歌单反复听,像周杰伦这种高产者几乎是凤毛麟角。好听的歌曲往往分布在不同的专辑中,Substreamer 默认按专辑分组展示音乐列表,界面上专辑列表很长,但是进入专辑里面仅有一两首歌,用户听起来非常不方便。可以用软件 Mp3tag 修改歌曲元信息,将歌曲改成同一个专辑名称,这样就将它们聚合在一起。Mp3tag的下载地址 www.mp3tag.de/en/dodownlo… 。
Mp3tag
根据我国法律规定,未经著作权人许可,将其享有著作权的内容复制传播,原则上触犯著作权法。请购买正版歌曲再上传至 Navidrome 实现你的听歌自由,切勿使用磁力搜索器获取盗版音乐。

相关文章
|
6月前
|
监控 C#
技术经验解读:【转】c#实现魔兽(warIII)中显血和改键功能(附源码)(不影响聊天打字)
技术经验解读:【转】c#实现魔兽(warIII)中显血和改键功能(附源码)(不影响聊天打字)
100 0
|
定位技术 图形学
Unity3D——射击游戏(多地图,多人物,枪支切换,驾车,扔手雷等功能,堪比小型和平精英)
Unity3D——射击游戏(多地图,多人物,枪支切换,驾车,扔手雷等功能,堪比小型和平精英)
Unity3D——射击游戏(多地图,多人物,枪支切换,驾车,扔手雷等功能,堪比小型和平精英)
|
Windows
分享5款小众且无广告的软件,走过路过别错过
你是否喜欢一些小众且无广告的软件?如果是的话,那可不要错过今天我给你们推荐的这5款软件。
65 0
|
算法 安全
体积小、无广告的5款小软件,总有一款适合你
大家好,我又来啦,今天给大家带来的5款软件,共同特点都是体积小、无广告、超实用,大家观看完可以自行搜索下载哦。
137 0
|
算法 C语言 C++
c++游戏制作指南(三):c++剧情类文字游戏的制作
c++游戏制作指南(三):c++剧情类文字游戏的制作
1132 0
[视频]高端微课|W01.初尝万彩动画——人人都能制作动画版微课!
或许,你也曾想抛弃PPT那万年不变的动画模式!或许,你也想让你的微课提升一个档次!或许,你也羡慕网上那些科普类动画的的炫酷!
102 0
|
搜索推荐 数据安全/隐私保护 Windows
5款冷门小工具,让你的电脑变得与众不同
每个人的电脑中都会安装很多软件,可能还保留着很多不为人知的冷门软件。不过虽然冷门,但绝不意味着低能,相反很多冷门软件的功能十分出色。闲话少说,接下来我就给大家推荐5款冷门小工具,看一看有没有你喜欢的。
120 0
|
人工智能 移动开发 数据可视化
不会游戏编程还能制作游戏吗?(附无代码游戏制作软件推荐)
在这个时代,你不懂摄影,但是却可以用手机轻松地拍出好看的照片;你不懂图像处理,但是却可以一键让你的照片显示出各种各样的效果;你不懂画画,但是却可以通过语言描述,让 AI 帮助你画出你可能凭借自己永远都无法画出的作品......工具在不断的降低创作的门槛,让越来越多的人能够做一些原本只有少数人才能做到的事。
763 0
|
人工智能 算法 固态存储
这才是模块化电脑该有的样子:一人打造的超迷你计算机,震动了整个极客圈
这才是模块化电脑该有的样子:一人打造的超迷你计算机,震动了整个极客圈
144 0