Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

用 php 实现的 EPG 服务端, Docker🐳 部署,带设置界面、台标管理、直播源管理,支持 DIYP & 百川 、 超级直播 以及 xmltv 格式。

License

NotificationsYou must be signed in to change notification settings

taksssss/EPG-Server

Repository files navigation

EPG-Server

📺 EPG-Server

Docker PullsImage Size

PHP 实现的 EPG(电子节目指南)服务端,Docker 部署,自带设置界面、台标管理、直播源管理,支持DIYP & 百川超级直播 以及xmltv 格式。

💻 主要功能

📡多直播格式:支持返回 DIYP & 百川、超级直播以及 xmltv 格式文件。

🐳多架构支持:提供适用于 amd64、arm64 和 armv7 架构的 Docker 镜像,兼容电视盒子等设备使用。

📦小体积镜像:基于 Alpine 构建,压缩后仅 20 MB。

🗃️数据库管理:采用先构建后存数据库的策略,减少冗余、提升读取速度。支持 SQLite 和 MySQL 数据库,内置 phpLiteAdmin 管理工具。

🖼️台标管理:支持台标模糊匹配,便于匹配台标资源。

直播源管理:支持聚合 TXT/M3U 直播源,并定时更新。

🔒访问权限控制:支持设置 TOKEN 、User-Agent ,限制访问 EPG 服务及直播源。

⏱️缓存支持:集成 Memcached,可自定义缓存时间。

🔄频道匹配:支持繁体中文频道匹配,可进行双向模糊匹配;支持频道别名(可使用正则表达式)和指定 EPG 源。

定时任务:支持定时更新数据。

📝节目单生成:支持生成指定频道节目单并匹配 M3U 的 xmltv 格式文件。

🗂️兼容多种格式:支持不同标准格式的 XMLTV 文件。

🛠️文件管理:集成 tinyfilemanager 以便于文件管理。

🌐界面设置:包含简单易用的网页设置页面,便于操作和管理。

Tip

⚠️ 使用前请仔细阅读「管理页面」底部的「使用说明」

原贴:【Docker | 台标管理 | 直播源管理】自建DIYP、超级直播EPG节目单服务

xmltv 用户使用方法:【一键生成】匹配 M3U 文件的 XML 节目单

直播源管理 使用方法:【EPG-Server】直播源管理使用说明

设置页面

内置正则表达式说明:

  • 包含regex:
  • 示例:
    • CCTV$1 => regex:/^CCTV[-\s]*(\d{1,2}(\s*P(LUS)?|[K\+])?)(?![\s-]*(美洲|欧洲)).*/i :将CCTV 1综合CCTV-4K频道CCTV - 5+频道CCTV - 5PLUS频道 等替换成CCTV1CCTV4KCCTV5+CCTV5PLUS(排除CCTV4美洲CCTV4欧洲

📝 更新日志

TODO:

  • 支持返回超级直播格式
  • 整合更轻量的alpine-apache-php 容器
  • 整合生成xml 文件
  • 支持多对一频道映射
  • 支持繁体频道匹配
  • 仅保存指定频道列表节目单
  • 导入/导出配置
  • 频道指定EPG
  • 生成台标信息
  • 直播源管理

🚀 部署步骤

  1. 配置Docker 环境

  2. 若已安装过,先删除旧版本并拉取新版本

    docker rm php-epg -f&& docker pull taksss/php-epg:latest
  3. 拉取镜像并运行:

    docker run -d \  --name php-epg \  -v /etc/epg:/htdocs/data \  -p 5678:80 \  --restart unless-stopped \  taksss/php-epg:latest

    默认数据目录为/etc/epg ,根据需要自行修改

    默认端口为5678 ,根据需要自行修改(注意端口占用)

    可选参数:-e PHP_MEMORY_LIMIT=512M ,设置 PHP 内存限制,默认512M

    可选参数:-e ENABLE_FFMPEG=true ,启用 ffmpeg 组件

    无法正常拉取镜像的,可使用同步更新的腾讯云容器镜像ccr.ccs.tencentyun.com/taksss/php-epg:latest

(可选)同时部署 MySQL 、 phpMyAdmin 及 php-epg
  • 方法1: 新建docker-compose.yml 文件后,在同目录执行docker-compose up -d
  • 方法2: 依次执行以下指令:
    docker run -d \  --name mysql \  -p 3306:3306 \  -e MYSQL_ROOT_PASSWORD=root_password \  -e MYSQL_DATABASE=phpepg \  -e MYSQL_USER=phpepg \  -e MYSQL_PASSWORD=phpepg \  --restart unless-stopped \  mysql:8.0
    docker run -d \  --name phpmyadmin \  -p 8080:80 \  -e PMA_HOST=mysql \  -e PMA_PORT=3306 \  --link mysql:mysql \  --restart unless-stopped \  phpmyadmin/phpmyadmin:latest
    docker run -d \  --name php-epg \  -v /etc/epg:/htdocs/data \  -p 5678:80 \  --restart unless-stopped \  --link mysql:mysql \  --link phpmyadmin:phpmyadmin \  taksss/php-epg:latest

🛠️ 使用步骤

  1. 在浏览器中打开http://{服务器IP地址}:5678/manage.php

  2. 默认密码为空,根据需要自行设置

  3. 添加EPG 源地址, GitHub 源确保能够访问,点击更新配置 保存

  4. 点击更新数据库 拉取数据,点击数据库更新日志 查看日志,点击查看数据库 查看具体条目

  5. 设置定时任务 ,点击更新配置 保存,点击定时任务日志 查看定时任务时间表

    建议从凌晨1点 左右开始抓,很多源00:00 ~ 00:30 都是无数据。隔6 ~ 12 小时抓一次即可。

  6. 点击更多设置 ,选择是否生成xml文件生成方式 ,设置限定频道节目单

  7. 用浏览器测试各个接口的返回结果是否正确:

  • xmltv 接口:http://{服务器IP地址}:5678/index.php
  • DIYP&百川 接口:http://{服务器IP地址}:5678/index.php?ch=CCTV1
  • 超级直播 接口:http://{服务器IP地址}:5678/index.php?channel=CCTV1
  1. http://{服务器IP地址}:5678/index.php 填入DIYPTiviMate 等软件的EPG 地址栏
  • ⚠️ 直接使用docker run 运行的话,可以将:5678/index.php 替换为:5678/
  • ⚠️ 部分软件不支持跳转解析xmltv 文件,可直接使用:5678/t.xml.gz:5678/t.xml 访问。

快捷键:

  • Ctrl + S:保存设置
  • Ctrl + /:对选中 EPG 地址设置(取消)注释

☕ Buy Me a Coffee

Buy Me a Coffee

⭐ Star History

Star History Chart

👍 特别鸣谢

About

用 php 实现的 EPG 服务端, Docker🐳 部署,带设置界面、台标管理、直播源管理,支持 DIYP & 百川 、 超级直播 以及 xmltv 格式。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

[8]ページ先頭

©2009-2025 Movatter.jp