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

IPTV EPG服务器搭建教程

西风2个月前 (09-25)网络技术540

📺 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-...

Frp(frps,frpc) 内网穿透

Frp(frps,frpc) 内网穿透

编辑包中的 frps.ini 文件服务端参数说明请移步:https://gofrp.org/docs/reference/server-configures/[common] bind_port = 7000 vho...

随机头像 API 搭建

选择安装位置一般安装在网站根目录初始化文件在目录下创建 api.php 文件,随后创建一个名为 img 的文件夹,将图片存放进 img 文件夹下<?php $img_array = glob('img/*...

openwrt 安装 sftp-server

OpenWrt系统通常默认安装了Dropbear SSH服务器,但是不包含sftp-server组件。如果您需要在OpenWrt系统中使用sftp服务,可以按照以下步骤安装:连接到您的OpenWrt设备,通过SSH登录到系统中。更新软件包列...

openwrt 安装make

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

发表评论

访客

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