20年前,中國網民聽歌是自由的,準確點說是聽盜版歌的自由,
2002年11月,百度上線MP3搜索功能,幾乎能搜索和下載到所有的歌曲,按相關的著作權法規,百度未經授權使用他人資源牟利是違法的,當時互聯網產業違法采集資料、傳播盜版是家常便飯,著作權管理形同虛設,百度順勢而為分了一塊大蛋糕,盜版音樂砸了音樂人的飯碗,就如同盜版軟體摧殘軟體從業者,最近十多年,政府對音像作品著作權的管理日趨嚴格,這是一件利國利民的好事,一個行業興盛的起點首先是從業者得到應有的報酬,

今天,付費聽音樂已經成為網民的共識,我常常使用網易云聽音樂,這是一個好軟體,只是沒有周杰倫的歌,網易云官方解釋是沒有拿到周杰倫歌曲的著作權,QQ音樂倒是有周杰倫歌曲,但是偶爾也會因著作權問題下架其他歌手作品,同樣,酷狗音樂、咪咕音樂也不能提供所有的歌曲,問題來了,如何在一個音樂APP上聽到所有的我喜歡的歌,實作聽歌自由呢?自建音樂服務器是唯一的路,
Navidrome 是一款開源音樂服務器,用于自建云端音樂播放器,兼容手機、桌面等多種客戶端,Navidrome 資源占用率非常低,支持中文界面,可以播放任何音頻格式,實在是碼農+音樂愛好者的折騰利器,Navidrome 提供了 Demo 地址 https://demo.navidrome.org/app/ , 賬號密碼都是 demo,
首先準備可以遠程訪問的服務器,最好有獨立的公網IP,硬體配置至少1核1G,預裝CentOS或者Debian系統,有一個獨立的域名更好,比如 music.test.com ,否則就要用 IP+埠號訪問音樂服務器,
1 安裝docker-compose
推薦使用 docker 安裝 Navidrome ,首先安裝 docker-compose :
# 安裝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,內容如下:
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/ 即為真實的檔案路徑,
# -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,
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 上傳一些音樂檔案,然后通過地址 http://music.test.com/app 就能訪問到音樂服務器界面,按系統提示添加管理員賬號和密碼,最后呈現的效果如下圖所示:

Navidrome 會自動掃描 music 目錄下的音樂檔案元資訊,形成一個歌曲管理清單,如果在清單里面看不到最新上傳的歌曲,可以點擊右上角的心跳圖示,再點擊“完全掃描”按鈕,掃描所有檔案,
4 配置手機客戶端
日常聽歌時,可以通過 Navidrome 管理后臺直接播放音樂,也可以安裝手機客戶端:
- IOS: playSub、Substreamer、Amperfy、iSub
- Android: DSub、Subtracks、Substreamer、Ultrasonic 、Audinaut
推薦使用 Substreamer,這個APP更加符合國人的使用習慣,主頁地址: https://substreamerapp.com/ ,IOS客戶端下載地址: https://apps.apple.com/us/app/substreamer/id1012991665 ;Android客戶端下載地址: http://m.289.com/azrj/477219.html ,Substreamer 首次啟動后根據界面提示填寫服務器地址 http://music.test.com ,以及第三步配置的賬號和密碼,Substreamer 啟動之后自動獲取音樂資料,如下所示:

5 修改歌曲元資訊
無論歌手發布過多少歌曲,一般只有幾首歌會被放在歌單反復聽,像周杰倫這種高產者幾乎是鳳毛麟角,好聽的歌曲往往分布在不同的專輯中,Substreamer 默認按專輯分組展示音樂串列,界面上專輯串列很長,但是進入專輯里面僅有一兩首歌,用戶聽起來非常不方便,可以用軟體 Mp3tag 修改歌曲元資訊,將歌曲改成同一個專輯名稱,這樣就將它們聚合在一起,Mp3tag的下載地址 https://www.mp3tag.de/en/dodownload64.html ,

根據我國法律規定,未經著作權人許可,將其享有著作權的內容復制傳播,原則上觸犯著作權法,請購買正版歌曲再上傳至 Navidrome 實作你的聽歌自由,切勿使用磁力搜索器獲取盜版音樂,
參考
https://www.cnblogs.com/niumoo/p/16951437.html
https://www.mp3tag.de/en/dodownload64.html
https://www.jianshu.com/p/d31fb0540910
公 眾 號:編碼磚家
獨立博客:codingbrick.com
文章出處:https://www.cnblogs.com/xiaoyangjia/p/17369942.html
本文著作權歸作者所有,任何人或團體、機構全部轉載或者部分轉載、摘錄,請在文章明顯位置注明作者和原文鏈接,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/551569.html
標籤:其他
上一篇:函式呼叫堆疊的一些簡單認識
下一篇:返回列表
