今年早些时候的某一天,我在 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 卡,因此外部驱动器是必不可少的。 我也喜欢将我的媒体放在与操作系统分开的驱动器上。 我之前使用过希捷的 2TB 外部硬盘,效果很好。 我试图保持预算较低,但我也想要一个 SSD,这次是占用空间小的 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 媒体播放器。
突破
每当有人找到开源解决方案时,就会有一个天使长出翅膀。 具有讽刺意味的是,我被地球上最大的闭源公司之一推向了寻找非专有解决方案的道路。 我最喜欢我创建的系统的地方在于,我可以控制它的所有方面,无论是好是坏。
5 条评论