IPTV播放器与转码解决方案neTV

简介

什么是 neTV ?

neTV 是一个极简的、自托管的 IPTV 流媒体网络界面。它被设计为功能齐全的媒体中心(如 JellyfinEmby)的轻量级替代品,让你可以在浏览器中轻松观看 IPTV 直播、电影和剧集,并在服务器上进行转码,以优化观看体验。

主要特点

  • 直播电视:支持 EPG 网格指南。
  • 电影和剧集:自动获取元数据。
  • Chromecast 支持:轻松投射到大屏幕。
  • 字幕支持:支持常见的字幕格式。
  • 搜索功能:快速找到你想看的内容。
  • 收藏夹与继续播放:方便地管理你的喜爱内容并从上次停止的地方继续观看。
  • 响应式设计:在桌面和移动设备上都有良好的体验,并支持键盘导航。
  • 优化的转码:根据需要对视频流进行转码,以获得最佳的播放效果。

应用场景

  • 个人 IPTV 播放器:在任何支持现代浏览器的设备上观看你的 IPTV 订阅。
  • 家庭媒体中心:为你的家庭成员提供一个简单易用的界面来访问直播电视和媒体库。
  • 轻量级 Jellyfin/Emby 替代品:如果你只需要基本的媒体浏览和播放功能,neTV 是一个不错的选择。

neTV 是一个专为 IPTV 设计的高效播放器,适合希望从多个源获取简单 IPTV 美好体验的用户。其轻量级的设计和强大的功能,使其成为自托管 IPTV 服务的理想选择。

安装

在群晖上以 Docker 方式安装。

官方提供了 2 个版本的镜像

区别在于 netv-ffmpeg:latest 中提供了一些额外的编解码器支持,适用于高效转码和低延迟流媒体

netv:latest 则使用 Ubuntu 官方仓库中的包,功能较为基础

选择哪一个版本取决于你的需求:如果只需要基本的 IPTV 播放,可以选择 netv:latest;如果需要视频转码等高级功能,则应选择 netv-ffmpeg:latest

如果你熟悉命令行,可能用 docker clidocker-compose 更快捷

docker cli

使用 docker cli 命令安装:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 新建文件夹 netv 和 子目录
mkdir -p /volume1/docker/netv/cache

# 进入 netv 目录
cd /volume1/docker/netv

# 运行容器(如果群晖主机没有 GPU 支持)
docker run -d \
--restart unless-stopped \
--name netv \
-p 8724:8000 \
-v $(pwd)/cache:/app/cache \
-v /etc/localtime:/etc/localtime:ro \
ghcr.io/jvdillon/netv:latest

# 运行容器(如果群晖主机有 GPU 支持)
docker run -d \
--restart unless-stopped \
--name netv \
--device /dev/dri:/dev/dri \
-p 8724:8000 \
-v $(pwd)/cache:/app/cache \
-v /etc/localtime:/etc/localtime:ro \
ghcr.io/jvdillon/netv:latest

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
services:
netv:
image: ghcr.io/jvdillon/netv:latest
container_name: netv
restart: unless-stopped
ports:
- "8724:8000"
volumes:
- ./cache:/app/cache
- /etc/localtime:/etc/localtime:ro
devices:
- /dev/dri:/dev/dri # for hardware transcoding (remove if no GPU)

如果你的主机不支持 GPU,切记删除 devices 部分,否则会报错;

然后通过 SSH 登录到您的群晖,执行下面的命令:

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 netv 和 子目录
mkdir -p /volume1/docker/netv/cache

# 进入 netv 目录
cd /volume1/docker/netv

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8724 ,第一次需要注册管理员账号

还需要登录

登录成功后,就能看到 neTV 的界面

M3U

进入设置,拉到最底部

Add Source 增加 m3u

可以看看 iptv-org/iptv——这是一个由社区维护的全球公开 IPTV 频道合集,但是能播的不多,而且都是些地方台

  • Name:播放列表的名称
  • Type:播放列表的类型,这里是 M3U Playlist
  • URL:播放列表的地址

EPG

只是演示,未必能用

Add Source 增加 epg

  • Name:列表的名称
  • Type:列表的类型,这里是 EPG Only
  • URL:列表的地址

播放

回到顶部的 Live TV Filter,点 Allow All

回到首界面可以看到播放列表

进入频道就可以观看了

打不开的会显示错误

其他

至于视频(movies)和剧集(series),neTV 本身不支持直接添加本地视频文件、文件夹或本地剧集库(如挂载硬盘目录、扫描本地 MKV/MP4 文件)。所有视频和剧集内容都必须来自外部 IPTV

所以如果你想要播放本地视频文件或自建剧集库,neTV 并不支持。你可以考虑其他自托管方案,如 JellyfinPlexEmby等,这些专门支持本地媒体扫描和剧集管理

参考文档

jvdillon/netv: IPTV in your Browser & Transcoding on your Server
地址:https://github.com/jvdillon/netv

iptv-org/iptv:全球公开可用的 IPTV 频道合集 — iptv-org/iptv: Collection of publicly available IPTV channels from all over the world
地址:https://github.com/iptv-org/iptv