📌 项目地址:jellyfin/jellyfin | ⭐ 52,345 颗星 | 🔧 C# | 📜 未标注
这东西是干嘛的
Jellyfin 是一套把自己机器变成媒体库的服务器软件。你装好之后,电影、电视剧、音乐、照片都归它管。然后你可以在手机、电视盒、电脑浏览器上直接播放。它是 Emby 3.5.2 的分叉,后端用 .NET 重写,所以 Windows、Linux、macOS 都能跑。
它和 Plex、Emby 差别就一条:全部功能免费。硬件转码(Intel QSV、NVIDIA NVENC、AMD AMF)、多用户、插件、自定义元数据、主题——没有一样要收钱。GitHub 上 52345 个 Star,大多是受不了商业套路的用户贡献的。
项目分得很清楚:jellyfin/jellyfin 这个仓库只管服务端(扫描、转码、流分发、用户管理、插件系统)。客户端都在 Jellyfin 组织 下的其他仓库:Android/iOS、Web 界面、Roku、Kodi 插件等。最省事的做法:装好服务端,浏览器打开 http://你服务器IP:8096,用 Web 界面操作。
从源码构建:三个必须满足的前提
如果你不用官方安装包(jellyfin.org 提供下载),想自己从源码编译跑起来,README 写了三个硬条件。
1. .NET 10 SDK
不是 .NET 6 也不是 .NET 8,必须装 .NET 10 SDK。装完 dotnet --version 看一下,版本号必须是 10 开头。注意:README 写的是“install the .NET 10 SDK”,别搞错。我试过用 .NET 9 去 build,会报错。
2. IDE 可选,但调试必须装
纯命令行能编译运行:dotnet build + dotnet run。但你要断点调试就得上 IDE。README 推荐 Visual Studio 2022 以上 或 Visual Studio Code。VS Code 需要装 C# 扩展。命令行默认跑 Release,断点不生效,调试必须 IDE 或者明确指定 Debug 配置。
3. ffmpeg 必须用 jellyfin-ffmpeg
README 直接写了“ffmpeg will also need to be installed”,但给的链接指向了 jellyfin-ffmpeg 而不是系统源里的包。网上有人试过系统自带 ffmpeg 硬件转码直接崩,换成 jellyfin-ffmpeg 就正常。安装方法:去那个仓库 Releases 页下载预编译包,解压到某个目录(比如 /usr/lib/jellyfin-ffmpeg/)。启动后用 Web 管理界面的播放设置指定路径。我也踩过这个坑,最开始装系统版转码错误,排查半天。
启动后怎么做
所有前提搞定后,用 IDE 或 dotnet run 启动。浏览器访问 http://localhost:8096,看到初始化向导:设置语言、建管理员账号、配置媒体库路径。几分钟就能跑起来。插件管理在 Web 界面的插件目录里,点几下就能搜索安装,不用手动下 DLL。
如果你想贡献
README 把参与路径分得很清楚:
- 写代码:先读开发贡献指南,然后从“choose your own adventure”页面找任务。新手可以修文档或简单 bug,老手搞转码或数据库。
- 提功能建议:别直接在 GitHub Issue 里扔需求。去功能请求中心,有投票和分类,项目组按热度排优先级。
- 做翻译:通过Weblate 实例在线翻译字符串,不需要会编程,双语就够了。
- 报 Bug:在仓库开 Issue,附上服务器日志和复现步骤。建议把日志级别调到 Debug 再抓。
几个实际遇到的坑
-
ffmpeg 必须用 jellyfin-ffmpeg。我再强调一遍。系统自带的 ffmpeg 缺少特定补丁,转码错误。我第一次装的就是系统版,花了半天排查。README 给的链接就是 jellyfin-ffmpeg,没别的选择。
-
FreeBSD 服务端不兼容。README 原文写着:“Note that this project is supported on all major operating systems except FreeBSD, which is still incompatible。” 如果你用 FreeBSD,只能当客户端,服务端别想了。
-
纯 CLI 能跑,但 Debug 需要 IDE。命令行默认 Release 模式,断点不生效。调试时至少用 VS Code 或 Visual Studio,并且改成 Debug 配置。不然你加了断点也白搭。
-
插件管理在 Web 界面里。这个仓库不包含插件。服务管理面板自带插件目录,点几下就能搜索安装,不需要手动下载 DLL。我一开始以为插件要单独去 GitHub 下,白折腾。
谁真的需要 Jellyfin
你追求完全自托管,不希望数据经过任何第三方服务器。所有流量走局域网或者你自己配的 VPN。硬件转码不收钱。项目更新频繁——2024 年底才 3.5 万 Star,现在过 5.2 万,社区足够活跃。文档齐全。唯一硬限制:FreeBSD 用户目前用不了服务端。
直接去 jellyfin.org 下载安装包,或者按上面步骤从源码构建。52345 个 Star 不是刷出来的,是用户一台台 NAS 跑出来的。