ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Jellyfin 私有媒体库部署完整指南:在家跑一个跨设备流媒体服务

Jellyfin 私有媒体库部署完整指南:在家跑一个跨设备流媒体服务 Jellyfin 私有媒体库部署完整指南在家跑一个跨设备流媒体服务【免费下载链接】jellyfinThe Free Software Media System - Server Backend API项目地址: https://gitcode.com/GitHub_Trending/je/jellyfin当客厅电视、手机、笔记本想同时看同一部片时你其实只需要在一台常开的小主机上跑一个服务把媒体文件夹指给它各设备用浏览器或客户端就能流式播放。Jellyfin 就是这样一个自由开源的私有媒体库与流媒体服务本文带你在一台 Linux 主机上从零把它跑起来。部署路线先回答三个问题动手前先花 10 秒确认自己走哪条路你的情况建议路线有常开的 Linux 主机、命令行熟练源码编译部署本文主线偏好图形界面、不想碰命令行用官方安装程序或包管理器版本主机上已装 Docker容器化映射端口与媒体目录即可无论哪条路线最终效果一致服务器监听 8096 端口客户端统一指向它。本文主线演示源码方式因为它对想看代码、想改行为的人最透明编译过程本身也是一次快速了解项目结构的机会。环境自检你现有设备够不够用不用换新机器对照两档清单看现状即可。最低档只直接播放不转码CPU双核 2.0GHz 以上内存2GB磁盘10GB 空闲不够会怎样直接播放 1080P 依然没问题但首次扫描媒体库会很慢内存不足时服务可能频繁重启流畅档需要转码或看 4KCPU四核 3.0GHz 以上最好支持硬件加速内存8GB转码临时目录放 SSD不够会怎样转码卡顿、多人同时播放时掉帧4K 基本没戏两档共同的前提依赖ffmpeg一切转码、封装探测都靠它必装.NET SDK 10源码编译用版本以仓库 global.json 为准10.0.0允许小版本向上核心部署Linux 上先跑起来以下在 Ubuntu/Debian 系演示需要 root 或 sudo 权限。安装依赖并顺手验证 ffmpegsudo apt update sudo apt install -y git ffmpeg dotnet-sdk-10.0 ffmpeg -version | head -n 1执行后你应看到一行 ffmpeg 版本号。版本缺失就是后面一切转码问题的源头。克隆仓库并编译git clone https://gitcode.com/GitHub_Trending/je/jellyfin cd jellyfin dotnet build Jellyfin.sln -c Release编译需要几分钟结束时应看到Build succeeded错误数为 0。创建数据目录并启动服务mkdir -p ~/jellyfin-data dotnet Jellyfin.Server/bin/Release/net10.0/jellyfin.dll \ --nowebclient \ --datadir ~/jellyfin-data两个参数值得说明完整参数含义见 Jellyfin.Server/StartupOptions.cs--nowebclient仓库内不含 Web 前端声明不托管它根路径会重定向到 API 文档页客户端一律用原生 App--datadir数据库、配置、日志统一落在这里迁移机器时拷走这一个目录即可执行后控制台会依次打印存储检查、数据库迁移等步骤最后一行出现Startup complete即启动成功。其他平台差异速查平台差异点Windows同样克隆编译后PowerShell 里运行.\Jellyfin.Server\bin\Release\net10.0\jellyfin.exe参数不变macOSbrew install dotnet ffmpeg去掉 sudo 后命令与 Linux 一致Docker免编译docker run -d --name jellyfin -p 8096:8096 -v ~/jellyfin/config:/config -v ~/jellyfin/cache:/cache -v ~/Movies:/media jellyfin/jellyfin首次运行验证确认它真的活着别只信控制台用两种方式确认。 浏览器本机打开http://localhost:8096/局域网其他设备打开http://服务器IP:8096/默认端口 8096 定义在服务端网络配置里。由于用了--nowebclient首页会重定向到 Swagger API 文档页——看到 API 文档列表就是正常的不代表坏了。 命令行在服务器本机执行curl -s -o /dev/null -w HTTP %{http_code}\n http://127.0.0.1:8096/执行后你应看到HTTP 200或HTTP 302重定向到 API 文档。若长时间无输出或直接 connection refused跳到下面的常见卡点。深度定制三个最值得做的配置建媒体库并让命名替你做分类操作控制台 → 媒体库 → 添加媒体库选文件夹并指定类型电影、剧集、音乐、照片其余保持默认。命名遵循惯例效果最好电影片名 (2010).ext剧集剧名/Season 01/剧名 - S01E01.ext。为什么服务器按文件名解析出年份、季集号再去下载封面和简介这是媒体库自动长起来的原理。做完后的效果扫描完成后客户端里影片自动分组、带海报墙剧集按季集排列。开启硬件加速转码先确认能力ffmpeg -encoders | grep -i hw输出里出现nvencNVIDIA、qsvIntel或vaapiAMD/Intel才值得开。然后进控制台 → 播放 → 硬件加速选择对应选项转码质量设平衡。做完后的效果4K 转码从卡成 PPT变成流畅CPU 占用明显回落。收紧安全HTTPS 加访问白名单控制台 → 网络中启用 HTTPS默认 HTTPS 端口 8920指定证书路径并打开 HTTP 强制跳转同一页面可配置远程 IP 过滤器把家网网段加进白名单该项默认即白名单模式。做完后的效果外网无法直接访问服务局域网内访问全程加密。常见卡点症状 → 原因 → 一条命令⚠️ 卡住的人大多集中在这三处对号入座即可。症状浏览器提示拒绝连接原因服务没在跑或访问的端口、IP 不对。 修复ss -lntp | grep 8096——有 jellyfin/dotnet 输出说明服务活着是客户端地址填错无输出则回看启动控制台报错。症状启动即报错 Kestrel failed to start原因8096 端口被占用或绑定地址无效服务端日志原话即指向 network.xml 绑定配置。 修复sudo lsof -i :8096找到占用进程并停掉或修改~/jellyfin-data/config/network.xml里的 HTTP 端口后重启。症状直接播放正常一点转码就报错原因ffmpeg 未安装或路径不对。 修复sudo apt install -y ffmpeg再跑ffmpeg -version确认版本号正常重启服务。接下来你可以试试在手机、电视上装 Jellyfin 客户端全部指向同一个服务器地址全家设备共享一个媒体库前面挂一层反向代理加 HTTPS配合端口转发或动态 DNS实现外网安全访问浏览插件市场为元数据、字幕、歌词装上顺手的外挂用内置的备份能力定期导出库数据迁移主机时连元数据一起带走【免费下载链接】jellyfinThe Free Software Media System - Server Backend API项目地址: https://gitcode.com/GitHub_Trending/je/jellyfin创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表