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.phpDIYP&百川接口: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文件、生成方式,设置限定频道节目单用浏览器测试各个接口的返回结果是否正确:



