再也不怕找不到音乐资源!一文教你把 YouTube/Spotify 装进NAS
更新时间:2025-04-09 13:32 浏览量:2
不知道大家是否在用 Spotify(声破天) 和 YouTube(油管)?
这俩分别是全球音频内容和视频内容的扛把子平台。为了方便日常使用,这俩我都和群友组织一起开了家庭车会员~
但是,内容那么多,听不过来、看不过来又是一回事,有时候想把喜欢的音乐离线保存下来,才发现远比想象中复杂。尤其是油管,播放列表一长串,一个个保存不仅麻烦,还可能被、限制访问,想提取音频、封面、字幕?更是心累。
于是我找到了这个宝藏项目:PlaylistDL,能轻松把这俩平台的音乐保存到NAS。其实也不局限于音乐,有声书、相声之类的音频文件也都OK。
注意只是音频!也就是说油管的视频链接你整进去,最后也仅会提取音频给你!
项目介绍&特征
PlaylistDL 是一款自托管的 Web 应用程序,用于从 Spotify 和 YouTube 获取歌曲、专辑或播放列表作为 MP3 文件。该应用程序提供了一个 Web 界面,供用户输入链接,然后使用spotdl(对于 Spotify)或yt-dlp(对于 YouTube)将其保存为音频文件。
支持Spotify和YouTube:根据 URL 自动识别和处理播放列表。会话管理:将每个用户创建唯一的下载目录,方便管理管理员模式:允许管理员用户直接下载到服务器上的指定文件夹。进度条和下载日志:通过网页界面实时查看下载进度和日志。自动清理:在指定时间后自动删除临时下载文件。有组织的下载:保存按艺术家和专辑文件夹进行归档,简洁效率。本篇我们以威联通NAS为例,通过Docker Compose进行部署。
部署代码如下:
version: '3' # 最新版该行可删除services: playlistdl: image: tanner23456/playlistdl:v2 container_name: playlistdl ports: - "4827:5000" # 冒号左侧可改 environment: - ADMIN_USERNAME=YDXian - ADMIN_PASSWORD=123456 - AUDIO_DOWNLOAD_PATH=/app/data - CLEANUP_INTERVAL=300 volumes: - /share/Container/playlistdl/data:/app/data restart: unless-stopped/share/Container/playlistdl/data:/app/data宿主机文件映射部分,也就是冒号左侧建议自行修改位置。这里我也踩了一个坑,起初的容器内路径设置的/data,发现下载完后NAS目录找不到资源。。。查看日志后并进入容器后才发觉是/app/data。打开声破天,用我自己的歌单和单曲分别进行测试。
点击分享,获得分享链接,将其复制下来。
粘贴到PlaylistDL的URL识别框内,点击Download。也可以自定下载目录。
可以看到正在下载中。
这里提示,自己的歌单不要设置隐私,要设置为公开,不然会识别不到,显示服务器错误~
下载完成。
再来试试油管,同样的操作,也是下载成功。
NAS中可以看到搞好的资源,分类得很好。
指定下载目录,容器内目录结构如下。
一些可能存在的问题
我看过yt-dlp和spotdl的相关ISSUES:
经过一段时间的测试,我发现这与我下载的IP地址100%相关。一些代理似乎对一些流行歌曲有问题(不包括403错误的歌曲,这些歌曲只是被阻止了)。我获得的最好的结果是在被谷歌归类为西方国家的ips上,因为我的个人有一个干净的ip,但一个不受欢迎的“谷歌地区”(俄罗斯)我首先面临这个问题。希望这能帮助到某人。再经过我的测试,一些公共魔法工具所提供的IP地址确实会被检测为「非人类流量」,被强制要求登录验证(人机验证 / Cookie 校验),导致下载出错。这个只能靠更换IP解决。
另外一种情况可能是文件写入权限问题,需要赋予宿主机的读写权限,SSH链接NAS,输入:
sudo chmod -R 777 /share/Container/playlistdl/data之后重启或重新创建容器即可。
其他情况,有些资源可能拉取不到,可能是歌名/专辑名过长不匹配或后缀太复杂等问题,也有可能是资源在油管的标题不一致,或是非公开版本。