当前位置:首页 > 网络技术 > 正文内容

IPTV EPG服务器搭建教程

西风5个月前 (09-25)网络技术2458

📺 PHP-EPG-Docker-Server

Docker Pulls Image Size

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

                gitee:https://gitee.com/taksssss/PHP-EPG-Docker-Server

ℹ️ 主要功能

  • 支持返回 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频道 等替换成 CCTV1CCTV4KCCTV5+CCTV5PLUS(排除 CCTV4美洲 和 CCTV4欧洲

📝 更新日志

2024-9-24

  1. 新增:无节目表频道的台标模糊匹配

  2. 优化:默认台标列表

  3. 优化:新建自定义台标提示

  4. 优化:转存台标提示,转存进度显示

2024-9-22

  1. 优化:更改台标 CDN 源,并替换为裁切版本

  2. 修复:导入数据路径错误

  3. 修复:定时任务误删本地台标

  4. 修复:超级直播返回字段

2024-9-21:

  1. 新增:上传任意频道台标

  2. 新增:一键上传所有 CDN 台标到服务器

  3. 新增:无节目表频道的台标匹配

  4. 优化:更新时清理未使用台标文件

2024-9-19:

  1. 新增:台标管理,支持 URL 及 上传,模糊匹配,返回 DIYP 、 超级直播 及 xmltv 格式(感谢fanmingming/livewanglindl/TVlogo

  2. 修复:超级直播时间戳、showTime 字段错误

历史更新记录见CHANGELOG.md

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 \
      -p 5678:80 \
      --restart always \
      taksss/php-epg:latest

    默认端口为 5678 ,根据需要自行修改。 无法正常拉取镜像的,可使用同步更新的 腾讯云容器镜像ccr.ccs.tencentyun.com/taksss/php-epg:latest


(可选)数据持久化

(可选)同时部署 MySQL 、 phpMyAdmin 及 php-epg



  • 🛠️ 使用步骤

    快捷键:

    🖼️ 效果示例

    DIYP

    TiviMate

    📸 系统截图

    台标管理

    搜索频道、编辑映射

    频道指定 EPG 源

    更多设置

    查看频道匹配

    phpLiteAdmin

    • 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

    1. 将 http://{服务器IP地址}:5678/epg/index.php 填入 DIYPTiviMate 等软件的 EPG 地址栏

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

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

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

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

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

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

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

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



扫描二维码推送至手机访问。

版权声明:本文转载自网络,如有侵权请与本站联系。

本文链接:https://blog.cnod.net/post/74.html

分享给朋友:

相关文章

怎样给网卡的IP地址设置别名

命令如下,适用于Linux和Mac# 设置IP别名ifconfig en1 alias 192.168.2.1 netmask 255.255.255.0 # 删除IP...

postman中文设置(教程)

postman中文设置(教程)

第一步:  下载postman,安装postman。官网地址:https://www.postman.com/downloads/ 第二步:  下载中文包。官网地址:https://github.com/hlmd/Postman-...

为openwrt里的docker扩容教程

为openwrt里的docker扩容教程

我这边的话是使用的eSir的高大全openwrt固件作为旁路由,eSir的固件里有自带的docker但是空间只有几百兆,有时候我们要折腾一些东西的话是不够的,所以在我们的空间还有剩余的时候可以给他扩容出来,方便使用。我的硬盘够用所以我给他3...

openwrt 安装make

通常,OpenWrt固件不包含完整的编译环境,包括make命令。但您可以通过以下方式在OpenWrt上安装make命令:首先,通过SSH登录到您的OpenWrt设备中。然后,运行以下命令更新软件包列表:opkg update安装m...

openwrt 获取内核版本

要获取在OpenWrt上运行的内核版本,您可以使用以下命令:uname -r该命令将返回当前内核版本的信息。在OpenWrt系统中,内核版本信息通常以类似于4.14.221的形式呈现。另外,您也可以通过以下命令来查看系统完整的内核...

群晖搭建Pushdeer消息推送

群晖搭建Pushdeer消息推送

前言最近家里搞了些微服务,需要一些消息推送,比如 ha 的 设备推送 等,目前网上有的推送感觉一是不太稳定 / 二氪金,所以既然自己有服务,就可以搭建,所以一路摸索,最终实现。Pushdeer官方地址:http://ww...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。