今年早些时候的某一天,我在我的 Mac 音乐库中查找了一首自 2001 年以来就一直存在的歌曲。我收到一条错误消息:“您所在的国家或地区目前无法使用此歌曲。” 我认为这可能只是我的 iPhone 上的一个小故障,所以我尝试了桌面应用程序。 还是不行。 我打开我的媒体驱动器,音乐文件就在那里。 为了检查它是否可以播放,我按了一下空格键,它立即开始播放。 哼。 我有这个文件,我想。 为什么音乐应用程序无法播放它?

(DJ Billings, CC BY-SA 40)
经过一番挖掘,我发现其他用户也遇到了类似的问题。 总结一下,似乎 Apple 决定拥有我的一些歌曲,即使我是在 1990 年代后期从我自己的 CD 中将这首特定的歌曲翻录成 MP3 格式的。
需要明确的是,我不是 Apple Music 订阅者。 我指的是以前称为 iTunes 的免费“音乐”应用程序。 当 Apple Music 首次推出时,我试用了一下,但很快就放弃了。 他们决定用他们的 DRM 版本替换我之前拥有的歌曲。 事实上,我相信这就是我混乱的音乐麻烦开始的地方。 从那时起,我就一直受到 Apple 的强力推送通知的轰炸,试图引导我重新成为 Apple Music 订阅者。
销售通知很烦人,但这首突然无法播放的歌曲是不可接受的。 我知道必须有一种更好的方法来管理我的音乐,一种让我控制我已经拥有的音乐和电影文件的方法。
寻找新的开源媒体解决方案
在发生这件事之后,我自然而然地在社交媒体上发泄了我的不满。 我还列出了我认为理想解决方案所需满足的简短列表
- 它需要是开源的,并且在 Linux 上运行。
- 如果可能,我想在自己的服务器上运行它。
- 如果可能,它应该是免费的(如啤酒那样)。
- 我希望能够控制媒体的组织方式。
- 我希望能够在电视上观看电影,并收听音乐。
- 它应该可以在家里(WiFi)和互联网上工作。
- 它应该是跨平台可访问的(Linux、Mac OS、Windows、Android、iOS)。
我知道这是一个很高的要求。 我不确定我是否能得到我想要的一切,但我认为以星空为目标总比满足于快速而简单的东西要好。 有几个人建议使用 Jellyfin,所以我决定看看,但考虑到我已经陷入了如此多的兔子洞,我并没有抱太大的乐观态度。
我发现的东西令人难以置信。 Jellyfin 满足了我列表上的每一项。 更好的是,我发现我可以将它与我的 Raspberry Pi 一起使用。 我加入了 Jellyfin 的行列,并且没有回头。
Raspberry Pi 和 Jellyfin 是完美的组合
我将描述我所做的事情,但这并非旨在成为完整的教程。 当我说如果我能做到,你也能做到时,请相信我。
Raspberry Pi 4
我使用了带有 4GB RAM 的 Raspberry Pi 4 Model B。 SD 卡是 128GB,这比我需要的要多。 Pi 4 有 WiFi,但它使用以太网连接到我的路由器,因此延迟较少。
我喜欢 Raspberry Pi 的其中一点是能够通过插入新的 SD 卡来更换整个操作系统和存储。 如果操作系统不适合您,您可以在几秒钟内切换回来。
Western Digital Elements 2 TB 外部 SSD
由于我的所有媒体都无法容纳在 128GB SD 卡上,因此外部驱动器是必不可少的。 我也喜欢将我的媒体放在与操作系统分开的驱动器上。 我以前使用过 Seagate 的 2TB 外部硬盘驱动器,效果很好。 我试图保持低预算,但我也想要一个 SSD,这次要占用空间小的。 Western Digital 驱动器非常小巧、快速且完美。 为了与 Raspberry Pi 一起使用,我必须将驱动器格式化为 exFAT 并添加一个软件包以帮助 Pi 挂载它。
Jellyfin
关于 Jellyfin,我说再多好话也不为过。 它完全符合我的要求。 它是开源的,100% 免费,没有中央服务器、数据收集或跟踪。 它还可以播放我驱动器上的所有音乐、电影和电视节目。
几乎每个平台都有客户端,或者您可以在 Web 浏览器中收听或观看。 目前,我正在 Debian 和 Ubuntu 的应用程序上收听我的音乐,效果很好。

(DJ Billings, CC BY-SA 40)
设置 Jellyfin
许多比我更聪明的人已经创建了关于 Jellyfin 设置的详细说明,所以我宁愿指向他们的工作。 此外,Jellyfin 还有优秀的文档。 但我将列出基本知识,以便您了解如果您想自己做这件事会发生什么。
命令行
首先,您需要有信心使用终端编写命令,或者愿意学习。 我鼓励您尝试一下,因为仅仅通过这个项目,我就变得非常熟练和自信地使用 Bash。
文件组织
最好在开始之前将您的媒体文件组织好。 以后更改是可以的,但如果您的文件分类良好,Jellyfin 识别您的文件时出现的问题会更少。
Jellyfin 使用 MusicBrainz 和 AudioDb 数据库来识别您的文件,我发现错误很少。 在它找到您的目录后,看到电影和音乐的封面弹出非常令人满意。 我不得不上传我的艺术作品几次,但这很容易。 您也可以用您自己的艺术作品替换空白或通用的类别图像。
用户
您可以添加用户并调整他们的控制级别。 例如,在我的家庭中,只有我拥有删除音乐的能力。 还有家长控制可用。
流程和资源
以下是使用 Jellyfin 设置 Raspberry Pi 媒体服务器的一般流程和我使用的一些资源
-
在您的 Pi 上安装您选择的操作系统。
-
如果您使用大型外部驱动器进行存储,请将其格式化,使其使用您的 Pi 可用的文件系统,并且对您来说也很方便。 我发现 exFAT 是所有主要平台上最容易使用的文件系统。
-
在您的 Pi 上配置防火墙,以便其他计算机可以访问 Jellyfin 库。
-
在您的个人计算机上安装Jellyfin Media Player。
突破
每当有人找到开源解决方案时,就会有一个天使获得翅膀。 讽刺的是,我被地球上最大的闭源公司之一推向寻找非专有解决方案的道路。 我最喜欢我创建的系统的地方在于,我可以控制它的所有方面,无论是好的还是坏的。
5 条评论