【教程】IPTV 接入 Jellyfin 三种方案对比,新手别再走弯路

群晖 NAS + Jellyfin 直播电视接入,从昨晚踩坑到现在的全部总结。 先看这篇选对方向,再去看具体操作。


三条路线的核心区别

在群晖 NAS 上把 IPTV 接入 Jellyfin,主要有三条路。最关键的区别是:谁来拉取直播流——这直接决定了稳不稳定、好不好排查。

方案 原理 优点 缺点 适用场景
直接 M3U Jellyfin 读 M3U 里的原始流地址,播放器直连源 零 Docker 部署,无中间代理,不会被容器 UA 拦截,操作最简单 不能自定义台号,不能按分组筛选频道 快速测试,不想折腾 Docker
xTeVe 模拟 HDHomeRun 调谐器,容器作为中间代理拉流再转发 Jellyfin 识别为 HDHR,可自定义台号、频道分组,内置 EPG 映射 容器网络/UA 容易被源 403,容器挂了全部频道失效 需要自定义频道编号,愿意处理网络问题
Guovin IPTV-API 容器只负责抓取、测速、过滤 M3U 源,输出 M3U 接口;不转发视频流 定时自动抓取、剔除失效源,输出纯净 M3U,播放器直连源 无 HDHR 模拟,只能 M3U 接入,Docker Hub 拉镜像易超时 需要自动维护源列表

一句话看懂本质

  • xTeVe:播放器 → xTeVe 容器 → 源流(容器去拉流,容易被拦截)
  • Guovin IPTV-API:播放器 → 直接访问源流(容器只整理链接,不碰流传输)

这就是为什么 xTeVe 经常 VLC 打不开流,而裸 M3U 就能播——因为请求头、网络环境不一样,源服务器直接把容器的请求拒了。


推荐优先级

  1. 第一步:先测试 M3U 直连 — 零 Docker,直接验证源能不能播。源都播不了,折腾容器没用。
  2. 第二步:需要台号再上 xTeVe — 确认源流可用后,如果非要自定义频道编号、分类,再搞 xTeVe,并处理容器网络问题。
  3. 第三步:需要自动更新选 Guovin — 希望源列表自动定期抓取、测速清理的,再部署 Guovin。注意群晖拉镜像大概率要配国内加速源。

建议

如果你只是想在 Jellyfin 里看电视,直接 M3U 直连是最优解,别碰 xTeVe 这个坑。 xTeVe 2.2.0 的 bug 太多,M3U 输出、lineup.json、制图页面保存,每一步都能卡你半天,最后还可能因为容器 UA 被源 403 全部白搭。