IPTV直播源自动检测和更新工具

什么是 Guovin/TV ?

Guovin/TV 支持自定义频道菜单,并根据模板频道,自动获取并更新最新的直播源接口,测速校验后生成可用的接口文件。

软件特点:

  • ✅ 自定义模板,生成您想要的频道
  • ✅ 支持多种获取源方式:组播源、酒店源、订阅源、关键字搜索
  • ✅ 接口测速验效,响应时间、分辨率优先级,过滤无效接口
  • ✅ 偏好设置:IPv6、接口来源排序优先级与数量配置、接口白名单
  • ✅ 定时执行,北京时间每日 6:0018:00 执行更新
  • ✅ 支持多种运行方式:工作流、命令行、GUI 软件、Docker(amd64/arm64)
  • ✨ 更多功能请见 配置参数 部分

软件支持多种部署方式,包括支持 exe 文件、Github Actionsdocker 方式,如果你选择非 docker 方式,建议参考官方代码库中的说明

安装

在群晖上以 Docker 方式安装。

镜像有两个版本:

  • requests:轻量级,性能要求低,更新速度快,稳定性不确定(推荐订阅源使用此版本)
  • driver:性能要求较高,更新速度较慢,稳定性、成功率高;修改配置 open_driver = False 可切换到 request 版本(推荐酒店源、组播源、关键字搜索使用此版本)

在注册表中搜索 guovern ,根据需要选择版本,老苏选的是 tv-driver,版本选择 latest

本文写作时, latest 版本对应为 v1.3.4

容器名称

如果你不打算手动执行,名称可以随意,否则建议叫 tvlist

这样你执行手动运行命令时,可以不用做任何修改

docker 文件夹中,创建一个新文件夹 tvlist,并在其中建一个子文件夹 configoutput

文件夹 装载路径 说明
docker/tvlist/config /tv-driver/config 设置文件
docker/tvlist/output /tv-driver/output 检测后的输出文件

注意:选择不同的容器,装载路径 是不一样的

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
3078 8000

命令行安装

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 新建文件夹 tvlist 和 子目录
mkdir -p /volume1/docker/tvlist/{config,output}

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

# 运行容器
docker run -d \
--restart unless-stopped \
--name tvlist \
-p 3078:8000 \
-v $(pwd)/config:/tv-driver/config \
-v $(pwd)/output:/tv-driver/output \
guovern/tv-driver

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

1
2
3
4
5
6
7
8
9
10
11
12
version: '3'

services:
tvlist:
image: guovern/tv-driver
container_name: tvlist
restart: unless-stopped
ports:
- "3078:8000"
volumes:
- ./config:/tv-driver/config
- ./output:/tv-driver/output

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 tvlist 和 子目录
mkdir -p /volume1/docker/tvlist/{config,output}

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

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

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3078 有可能啥也没有

别慌,先看看日志,可能还在下载中,也可能还在处理数据

运行期间,可能 CPU 会比较高

时间不好估计,总之,需要等日志中显示处理完成才行

这个镜像没有界面,上面的日志提示了使用方法,在浏览器中输入不同的 URL 会有不同的结果:

    1. http://群晖IP:3078,会下载 result.m3u 文件,可以直接用来进一步处理或者导入直播软件
    1. http://群晖IP:3078/result,可以直接查看内容,适用于可订阅的播放器
    1. http://群晖IP:3078/log,可以看到详细的日志

上面的文件,都可以在 output 目录中找到

进阶

配置参数

找到 config 目录中的 config.ini 文件

其中 subscribe_urls 为订阅源,你可以在字段后面输入自己收集的订阅链接(支持 txtm3u 链接),多个链接以逗号分隔,保存即可

其他参数可以根据需要进行修改,具体每个参数的说明,请参考官方的文档:https://github.com/Guovin/TV/blob/master/docs/config.md

手动运行

默认情况下,容器是定时运行的

但我们也可以在更新了 subscribe_urls 后,手动运行

1
2
# 手动运行
docker exec -it --user root tvlist pipenv run python main.py scheduled_task

运行结束

参考文档

Guovin/TV: 📺IPTV电视直播源更新工具🚀:包含💰央视(付费)、📡卫视、🏠广东、🌊港·澳·台、🎬电影、🎥咪咕、🏀体育、🪁动画、🎮游戏、🎵音乐、🏛经典剧场;支持自定义增加频道;支持组播源、酒店源、订阅源、关键字搜索;每天自动更新两次,结果可用于TVBox等播放软件;支持工作流、Docker(amd64/arm64)、命令行、GUI运行方式 | IPTV live TV source update tool
地址:https://github.com/Guovin/TV