IPTV EPG服务器搭建教程
📺 PHP-EPG-Docker-Server
PHP 实现的 EPG(电子节目指南)服务端, Docker
部署,自带设置界面、台标管理,支持 DIYP & 百川 、 超级直播 以及 xmltv 格式。
ℹ️ 主要功能
支持返回
DIYP & 百川
、超级直播
以及xmltv
格式 📡提供
amd64
跟arm64
、armv7
架构镜像,支持 电视盒子 等设备 🐳基镜像采用
alpine
,压缩后大小仅 20 MB 📦采用 先构建再存数据库 策略,减少数据冗余,提高读取速度 🚀
支持
SQLite
及MySQL
数据库 🗃️支持
Memcached
,可设置缓存时间 ⏱️支持 台标管理 ,台标模糊匹配 🖼️
支持 繁体中文 频道匹配 🌐
支持 双向模糊匹配 ✍🏻
支持 频道别名 ,可用 正则表达式 🔄
支持 频道指定 EPG 源 🈯
内置 定时任务 ⏳
支持生成 指定频道节目单 📝
支持生成 匹配 M3U 的
xmltv
格式文件 💯支持查看 频道匹配 结果 🪢
兼容多种
xmltv
格式 🗂️包含网页设置页面 🌐
支持多个 EPG 源 📡
可配置数据保存天数 📅
内置
phpLiteAdmin
方便管理数据库 🛠️
[!TIP]
台标匹配需搭配 酷9APP 使用。
内置正则表达式说明:
包含
regex:
示例:
CCTV$1 => regex:/^CCTV[-\s]*(\d+(\s*P(LUS)?|[K\+])?)(?![\s-]*(美洲|欧洲)).*/i
:将CCTV 1综合
、CCTV-4K频道
、CCTV - 5+频道
、CCTV - 5PLUS频道
等替换成CCTV1
、CCTV4K
、CCTV5+
、CCTV5PLUS
(排除CCTV4美洲
和CCTV4欧洲
)
📝 更新日志
2024-9-24
新增:无节目表频道的台标模糊匹配
优化:默认台标列表
优化:新建自定义台标提示
优化:转存台标提示,转存进度显示
2024-9-22
优化:更改台标
CDN
源,并替换为裁切版本修复:导入数据路径错误
修复:定时任务误删本地台标
修复:超级直播返回字段
2024-9-21:
新增:上传任意频道台标
新增:一键上传所有
CDN
台标到服务器新增:无节目表频道的台标匹配
优化:更新时清理未使用台标文件
2024-9-19:
新增:台标管理,支持
URL
及上传
,模糊匹配,返回DIYP
、超级直播
及xmltv
格式(感谢fanmingming/live、wanglindl/TVlogo)修复:超级直播时间戳、
showTime
字段错误
历史更新记录见CHANGELOG.md
TODO:
支持返回超级直播格式
整合更轻量的
alpine-apache-php
容器整合生成
xml
文件支持多对一频道映射
支持繁体频道匹配
仅保存指定频道列表节目单
导入/导出配置
频道指定
EPG
源生成台标信息
🚀 部署步骤
配置
Docker
环境若已安装过,先删除旧版本并拉取新版本(注意备份数据)
docker rm php-epg -f && docker pull taksss/php-epg:latest
拉取镜像并运行:
docker run -d \ --name php-epg \ -p 5678:80 \ --restart always \ taksss/php-epg:latest
默认端口为
5678
,根据需要自行修改。 无法正常拉取镜像的,可使用同步更新的腾讯云容器镜像
(ccr.ccs.tencentyun.com/taksss/php-epg:latest
)
(可选)数据持久化
(可选)同时部署 MySQL 、 phpMyAdmin 及 php-epg
Ctrl + S
:保存设置Ctrl + /
:对选中 EPG 地址设置(取消)注释⚠️ 直接使用
docker run
运行的话,可以将:5678/epg/index.php
替换为:5678/epg
。⚠️ 部分软件不支持跳转解析
xmltv
文件,可直接使用:5678/epg/t.xml.gz
或:5678/epg/t.xml
访问。xmltv
接口:http://{服务器IP地址}:5678/epg/index.php
DIYP&百川
接口:http://{服务器IP地址}:5678/epg/index.php?ch=CCTV1
超级直播
接口:http://{服务器IP地址}:5678/epg/index.php?channel=CCTV1
将
http://{服务器IP地址}:5678/epg/index.php
填入DIYP
、TiviMate
等软件的EPG 地址栏
在浏览器中打开
http://{服务器IP地址}:5678/epg/manage.php
默认密码为空,根据需要自行设置
添加
EPG 源地址
, GitHub 源确保能够访问,点击更新配置
保存点击
更新数据库
拉取数据,点击数据库更新日志
查看日志,点击查看数据库
查看具体条目设置
定时任务
,点击更新配置
保存,点击定时任务日志
查看定时任务时间表建议从
凌晨1点
左右开始抓,很多源00:00 ~ 00:30
都是无数据。 隔6 ~ 12
小时抓一次即可。点击
更多设置
,选择是否生成xml文件
、生成方式
,设置限定频道节目单
用浏览器测试各个接口的返回结果是否正确: