NAS端最强音乐库,多平台服务支持。海康存储部署『Navidrome』

NAS端最强音乐库,多平台服务支持。海康存储部署『Navidrome』

哈喽小伙伴们好,我是Stark-C~

对于我们NAS用户,我们总是喜欢将自己喜欢的音乐资源通过下载的方式保存在本地,不过海康存储目前对因音乐的支持和管理实在过于薄弱,所以我们可以通过Docker的方式部署第三方套件,来实现对于音乐的支持和管理。

今天给大家分享的这款【Navidrome 】,功能强大,界面简单,对无损音乐也是完美支持,并且内存占用还非常的小!

关于Navidrome

img

🔺Navidrome 是一个开源的基于网络的音乐收藏和流媒体服务器,它可以通过Web界面或API进行管理和访问,支持多种音频格式和多种平台,包括Windows、Linux、macOS等。

而我今天的教程就是教大家通过Docker的方式轻松的部署在我们使用的NAS上,简单设置之后就可以让我们自由地从任何浏览器或移动设备收听我们存储在NAS上的音乐。

Navidrome官网:Navidrome

Navidrome下载与安装页面:Installation | Navidrome

Navidrome官方demo:Navidrome (默认用户名/密码:demo)

👉功能和亮点:

  • 几乎可播放任何音频格式,包括MP3、FLAC、AAC、OGG等。

  • 提供Web界面和API,方便用户进行管理和访问。

  • 与所有 Subsonic/Madsonic/Airsonic 客户端兼容。

  • 支持多用户、多播放列表和多标签等功能。

  • 提供智能播放列表、随机播放、重复播放等功能。

  • 自动监控你音乐库的变化(如:上传新文件、重新加载新的元数据)

  • 支持Scrobble和Last.fm等服务。

  • 支持传输中进行转码,可按用户/播放器设置,支持 Opus 编码。

  • 支持在线下载与多种语言,包括简体中文。

  • 资源占用率非常低

👉手机和电脑端使用

Navidrome 除了Docker私有化部署后的WEB网页界面,还支持各种第三方客户端。

引用官方介绍,Navidrome 支持的第三方客户端如下:

iOS: play:Sub, substreamer, Amperfy 和 iSub

Android: DSub, Subtracks, substreamer, Ultrasonic 和 Audinaut

Web: Subplayer, Airsonic Refix, Aurial, Jamstash 和 Subfire

Desktop: Sublime Music (Linux) 和 Sonixd (Windows/Linux/macOS)

CLI: Jellycli (Windows/Linux) 和 STMP (Linux/macOS)

Sonos: bonobAlexa: AskSonic

Other:Subsonic Kodi PluginNavidrome Kodi Plugin

部署前的准备

1,创建项目配置存储文件夹

img

🔺先在文件管理器(我的空间)中的Docker目录下新建一个navidrome的文件夹,然后在该文件夹下在建一个“data”子文件夹用于相关配置文件的持久化存储(也便于以后Docker容器迁移)。

2,获取刮削源API

和我们搭建影视库一样,Navidrome也可以通过刮削源获取音乐库中的歌手/专辑/图像等信息。刮削源可以使用Last.fm和Spotify,不过这两个平台都是国外的,所以对国内音乐识别不太友好,国外音乐倒是没有什么问题的。

img

🔺先说说Last.fm,先去官网注册一个账号并登录,打开创建API链接【Login | Last.fm】,信息如实填写即可。

img

🔺提交之后就能获得API秘钥和共享秘钥,保存下来待用,等下部署的时候会用到。

img

🔺接着是Spotify,同样需要先官网注册并登录,然后打开链接【spotify-for-developers】,点击Creat app。

img

🔺同样填入名称、描述及重定向 URI,重定向 URI就填写[NAS本地IP:端口号],端口号随意填写一个本地没被占用的端口,稍后部署Navidrome项目也会用到这个端口,完成后点“保存”。

img

🔺点击右上角“设置”。

img

🔺同样记下显示的ID和密码,保存下来待用,等下部署的时候也会用到。

Navidrome部署

img

🔺打开海康存储 R1的Docker管理器,分别点击“镜像管理--添加--官方库添加”。

img

🔺镜像名称输入“deluan/navidrome”并回车,选择第一个直接下载就可以了。

img

🔺安装版本当然是选择latest(最近)了,如果网络没什么问题,这里就可以正常下载,并有一个下载进度。

img

🔺下载完成后点击镜像下面的“创建容器”。

img

🔺【存储空间】咱们需要手动添加以下映射关系:

  • ./music:/music # 冒号前面映射NAS中音乐存放路径

  • ./Docker/navidrome/data:/data # 冒号前面映射新建的“data”子文件夹

后面的类型全部为“读写”。

img

🔺【端口设置】这里“容器端口”设置为4533,本地端口设置为不冲突的任意端口即可,“端口类型”选择TCP。

img

🔺至于【环境】这里,需要添加以下变量:

  • ND_SPOTIFY_ID=xxxxx # SPOTIFY的ID

  • ND_SPOTIFY_SECRET=xxxxx # SPOTIFY的SECRET

  • ND_LASTFM_SECRET=xxxxx # Last.fm的SECRET

  • ND_LASTFM_APIKEY=xxxxx # Last.fm的API

  • ND_ENABLETRANSCODINGCONFIG=true # 启用Web端转码

  • ND_LOGLEVEL=info # 记录日志消息

  • ND_LASTFM_LANGUAGE=zh # 中文语言

  • --restart=always # 总是重启

最后就没啥可设置的了,点“完成”按钮就搞定了Navidrome的部署工作。

img

🔺最后在容器管理的列表中看到Navidrome已经在运行中,就说明没什么问题可以使用了。

Navidrome体验

👉打开方式:

img

🔺打开Navidrome容器“详情--端口设置”,点击访问地址,就能一键打开部署好的Navidrome容器项目。

img

🔺首次进入需要输入一个账户和密码,随意输入就行,但是需要记住,因为我们稍后使用手机登录的时候还会用到!

img

🔺然后就能打开Navidrome的首页了,界面默认显示的是英文,且目前已经显示我们部署时候映射的音乐文件。

👉设置中文

img

🔺点击右上角的人像图标,选择“Personal”,然后点击“ Language ”。

img

🔺选择“简体中文”即可。

img

🔺返回到项目主页可以看到它已经按专辑分好类了,同时左边状态栏还有多播放列表和多功能标签等,点击专辑可以播放专辑歌曲,加入歌单,还可以查看信息,或者下载。

👉简单试用

img

🔺我这里随意点开一张专辑,点开之后就能看到专辑里面的所有音乐了。

img

🔺任意点击想要听的歌曲就可以直接播放了,并且还能自己编辑播放列表。大家可以看出我这里全部都是FLAC无损音乐(海康目前还不能直接播放无损音乐),播放是非常的流畅,音质在我看来也还是非常不错的。

👉手机端使用

img

🔺我这里以安卓手机为例,先在谷歌应用商店下载安装【Ultrasonic】APP,打开之后按照提示输入服务器的地址。(有公网的小伙伴可以直接使用公网IP实现外网播放,记得路由器要设置端口转发,没有公网的小伙伴也可以通过内网穿透的方案,比如用 frp 、nps等,之前的教程有过分享,这里就不在赘述了)

img

🔺APP端的界面还是非常不错的,和我们常用的音乐客户端区别不大,最主要是没有广告~

最后

Navidrome 总体来说作为一款搭载在NAS上的音乐管理播放程序,还是非常适合打造私人专属在线音乐库的,当然它的弊端也有,就是不知道怎么搞定歌词的问题,不过我个人对歌词也并不是刚需,目前也就这样吧~~

img

🔺本教程演示的机型是海康存储(HIKVISION)私有云R1,它是一款四盘位高性能的家庭网络存储解决方案,最大支持96TB存储容量。它采用Intel四核处理器 N100,标配一个 DDR5内存插槽与双M.2 SSD设计,强大的性能足够个人及家庭用户的数据备份和文件共享需求。

I/O接口上也是非常丰富,包括3个USB 3.2 Gen2 10Gbps接口、1个 USB3.2 Gen2 Type-C接口及1个HDMI接口(4K 60fps),两个2.5G网口,适应多种扩展需求。

比较有意思的是,它的前面板刚还配备了1块2.86寸、60Hz触控屏,支持多种功能与主题设置,可实时显示温度、CPU占用、风扇、硬盘等状态信息,侧边还配备了透明侧板以及可调控炫彩RGB氛围灯,拥有极高的可玩性。

好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,咱们下期再见!谢谢大家~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/908961.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【论文阅读笔记】Wavelet Convolutions for Large Receptive Fields

1.论文介绍 Wavelet Convolutions for Large Receptive Fields 大感受野的小波卷积 2024 EECV Paper Code 2.摘要 近年来,人们试图通过增加卷积神经网络(ConvolutionalNeuralNets,CNNs)的核尺寸来模拟视觉变换器(V…

2024年最新10款顶级项目管理软件排行

项目管理软件在现代项目管理中扮演着至关重要的角色,它不仅仅是一个工具,更是一种高效、系统化的方法来管理和优化项目流程,帮助项目经理和团队成员快速了解项目状态,加速项目进展。 进度猫 进度猫是一款以甘特图为向导的轻量级…

SAP ABAP开发学习——RFC

目录 RFC接口 定义 调用过程 RFC的通信 RFC通信情况 RFC接口系统 RFC的通信模式 RFC版本 RFC调用方式 Web Service接口 SAP创建Web Service示例 远程目标的维护 创建远程目标 外部系统访问设置 RFC的调用 RFC接口 定义 调用过程 RFC的通信 RFC通信情况 RFC接…

gps数据对接G7易流平台

之前伙伴对接G7物流平台获取温度、轨迹数据,写的一塌糊涂,今天来重新对接下。 G7易流 G7物联和易流科技合并后正式发布的品牌,主要面向生产制造与消费物流行业的货主及货运经营者提供软硬一体、全链贯通的SaaS服务。这包括订阅服务&#xff…

【网络】传输层协议TCP(下)

目录 四次挥手状态变化 流量控制 PSH标记位 URG标记位 滑动窗口 快重传 拥塞控制 延迟应答 mtu TCP异常情况 四次挥手状态变化 之前我们讲了四次挥手的具体过程以及为什么要进行四次挥手,下面是四次挥手的状态变化 那么我们下面可以来验证一下CLOSE_WAIT这…

高效新闻管理:SpringBoot框架应用

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理新闻稿件管理系统的相关信息成为必然。开发…

【已解决】C# NPOI如何设置单元格格式

前言 设置单元格格式我们做表格必须要的一步,那么如何对单元格进行设置呢?直接上图看看效果图先,我做的是一个居中然后字体变化的操作,其他的查他的手册即可。 解决方法 直接上代码 IWorkbook excelDoc new XSSFWorkbook();…

通过微调 Embedding 优化 RAG

大型语言模型 (LLM) 向用户和组织展示了巨大的潜力;它们的强大功能和生成能力使它们最近广受欢迎并被广泛接受。LLM 面临的一些缺点是无法以上下文感知的方式生成或响应用户给出的提示,听起来非常通用和开放,或者有时响应的信息已经过时。如果…

微信小程序生成二维码

目前是在开发小程序端 --> 微信小程序。然后接到需求:根据 form 表单填写内容生成二维码(第一版:表单目前需要客户进行自己输入,然后点击生成按钮实时生成二维码,不需要向后端请求,不存如数据库&#xf…

用接地气的例子趣谈 WWDC 24 全新的 Swift Testing 入门(二)

概述 从 WWDC 24 开始,苹果推出了全新的测试机制:Swift Testing。利用它我们可以大幅度简化之前“老态龙钟”的 XCTest 编码范式,并且使得单元测试更加灵动自由,更符合 Swift 语言的优雅品味。 在这里我们会和大家一起初涉并领略…

Python的自然语言生成与对话系统介绍

1. 背景介绍 自然语言生成(Natural Language Generation,NLG)和对话系统是人工智能领域的重要研究方向。NLG 涉及将计算机理解的信息转换为自然语言文本,而对话系统则涉及计算机与用户之间的自然语言交互。Python 作为一种易于学习、易于使用的编程语言…

HarmonyOS NEXT 应用开发实战(十、从零设计一款个人中心页面详细示例)

随着HarmonyOS的不断发展,越来越多的开发者开始关注这个平台上的应用开发。本篇文章将详细讲解如何从零开始设计一款个人中心页,并在代码中实现其相关功能。 1. 项目结构设计 首先,我们需要设计一个合理的项目结构。我们将个人中心页面分为几…

Node.js 入门指南:从零开始构建全栈应用

​🌈个人主页:前端青山 🔥系列专栏:node.js篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来node.js篇专栏内容:node.js-入门指南:从零开始构建全栈应用 前言 大家好,我是青山。作…

我们来学mysql -- 连接(原理版)

我们来学mysql -- 连接 题记两张表驱动表 题记 回到初学者的视角,navicat或命令窗口,呈现一行行数据,类比为excel工作薄更是深入人心通过join将多表的记录关联起来,这似乎也没啥问题只是好像是那么回事,又…似乎有想说…

ssm校园二手交易管理系统+vue

系统包含:源码论文 所用技术:SpringBootVueSSMMybatisMysql 免费提供给大家参考或者学习,获取源码看文章最下面 需要定制看文章最下面 目 录 1 绪论 1 1.1 选题背景 1 1.2 选题意义 1 1.3 研究内容 2 2 系统开发技术 3 2.1 MySQL数…

2024年前三季度币安、OKX等五大交易所上币表现分析

随着加密市场竞争的加剧,头部交易所逐渐在上币策略、代币选择、交易活跃度等方面采取了不同的应对策略。Animoca Digital Research近期发布的一份报告,通过对币安、OKX、Bitget、KuCoin和Bybit五大交易所2024年前三季度的上币情况进行了详细分析。本文将…

Nature文章《deep learning》文章翻译

这篇文章是对Nature上《deep learning》文章的翻译。原作者 Yann LeCun, Yoshua Bengio& Geoffrey Hinton。 这篇文章的中心思想是深入探讨深度学习在机器学习中的革命性贡献,重点介绍其在特征学习、监督学习、无监督学习等方面的突破,并阐述其在图…

使用 RabbitMQ 有什么好处?

大家好,我是锋哥。今天分享关于【使用 RabbitMQ 有什么好处?】面试题。希望对大家有帮助; 使用 RabbitMQ 有什么好处? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 RabbitMQ 是一种流行的开源消息代理,广…

Scrapy链接MongoDB数据库

本文章是在Scrapy入门-CSDN博客的基础上改写的代码。 1.声明采集目标 打开mySpider/mySpider1/items.py文件,修改MyspiderItem类为AIspiderItem: class AIspiderItem(scrapy.Item): title scrapy.Field() url scrapy.Field() date scrapy.Field() 2…

Qt项目实战:红绿灯小程序

目录 一.初始化对象 二.捕获并处理特定的事件 三.自定义绘制方法 四.绘制外部边框 五.绘制内部边框 六.绘制按钮的背景色 七.绘制覆盖层(高光效果) 八.效果 九.代码 1.h 2.cpp 一.初始化对象 1.设置文本、颜色、边框和背景色等默认值。 2.安…