SDU-IPTV-PRO

基于 plsy1/iptv 项目开发的自动化 IPTV 源处理与发布系统,专注于优化源文件可用性、提升使用便捷性,实现全流程自动化运维。

❗️ 注意

由于源仓库plsy1/iptv内容已被第三方用于付费倒卖,该行为与其项目宗旨严重不符,亦可能引发合规与法律风险,原作者决定无限期停更。所以,本项目只保留multicast-static.m3u不定时手动更新,其余项目跟随源项目做停更处理

📁 项目结构

SDU-IPTV-PRO/
├── .github/
│ └── workflows/
│   └── update-sources.yml
│   ├── merge-on-custom-change.yml
│   └── auto-packaging.yml
├── custom/
│ ├── custom.m3u
│ ├── custom1.m3u
│ └── …custom*.m3u
├── scripts/
│ ├── process_unicast.py
│ ├── process_multicast.py
│ └── merge_m3u.py
├── backup/
│ ├── temp-unicast.m3u
│ ├── temp-multicast-r2h.m3u
│ └── temp-multicast-nofcc.m3u
├── unicast.m3u
├── multicast-r2h.m3u
├── multicast-nofcc.m3u
├── multicast-static.m3u
├── .data/hash
└── README.md

🚀 核心特性

  • 自动更新机制: 每小时监测原始源文件变动,实时同步最新内容
  • 灵活频道管理: 支持创建任意数量的 custom*.m3u 文件,自动合并
  • 智能频道管理: 自动完成频道分类、排序、合并,优化观看体验
  • URL格式适配: 组播源回看地址自动转换,兼容主流播放器
  • 高可靠自动化:通过智能并发控制,确保多个自动化任务有序执行
  • 版本自动留档: 源文件变更时自动创建Release,保留历史版本
  • 多格式输出: 提供单播、组播(含去FCC版本)多类型源文件

📖 使用指南

直接使用

  • 单播源: 下载 unicast.m3u,直接导入Ku9等播放器使用
  • 组播源: 下载 multicast-r2h.m3u,配合rtp2httpd服务使用
  • 去FCC组播源: 下载 multicast-nofcc.m3u或multicast-static.m3u,适用于无法使用FCC场景

自定义你的频道

  1. Fork 本仓库
  2. 在 custom/ 目录下,编辑或创建任意 custom*.m3u 文件(如 custom.m3u, custom1.m3u)
  3. 将你想要的频道按标准 M3U 格式写入文件
  4. 提交更改
  5. 系统将自动检测到你的修改,并在几分钟内完成合并、更新和发布

历史版本获取

访问仓库 Releases 页面,可查看所有历史版本及更新日志,按需下载。

⚙️ 配置说明

本项目由三个核心的 GitHub Actions 工作流驱动,它们协同工作,实现了无人值守的自动化:

  1. Update Sources (更新源)

    • 触发:每小时定时运行,或手动触发。
    • 任务:
      1. 智能检测远端源文件是否变化(通过对比 .data 目录中的哈希记录)
      2. 若有变化,则下载最新源,进行处理,生成中间文件并存档于 backup/ 目录
      3. 合并所有 custom/custom*.m3u 文件,生成最终的 .m3u 文件
      4. 提交所有变更,并更新哈希记录
  2. Merge on Custom Change (响应自定义变更)

    • 触发:当 custom/ 目录下任何 custom*.m3u 文件被修改时
    • 任务:
      1. 读取 backup/ 目录中已有的中间文件
      2. 重新合并所有 custom/custom*.m3u 文件
      3. 提交最终的 .m3u 文件变更
  3. Auto Packaging (自动打包发布)

    • 触发:当最终的 .m3u 文件发生任何变更时。
    • 任务:自动创建一个新的 GitHub Release,将最新的播放列表和完整仓库打包存档。

🔧 关键转换规则

频道排序优化

  1. CGTN相关频道归类至「其他频道」
  2. 山东卫视复制一份至央视频道组,方便集中观看
  3. CCTV4欧洲/美洲调整至山东少儿频道之后
  4. 山东经济广播移至频道列表末尾

URL格式转换

回看源转换

rtsp://...\({...:utc}... → http://192.168.100.1/rtsp/...\) {...}...&r2h-seek-offset=-28800

  • 单播RTSP协议转HTTP协议,兼容Ku9播放器
  • 适配rtp2httpd网页端播放器回看格式,优化时间戳同步

直播源转换

  • 组播源地址 192.168.0.1 统一替换为 192.168.100.1
  • 组播RTP协议转HTTP协议,提升跨设备兼容性

🚨 免责声明

  1. 本项目不生产、不存储任何直播内容,所有数据均来源于公开网络及原作者仓库,仅做格式转换与整理。
  2. 直播内容的版权归电视台、广电机构等原版权方所有,本项目不承担内容合法性、可用性的担保责任。
  3. 仅供个人学习、测试使用,下载后请在24小时内删除,严禁用于商业用途或非法传播。
  4. 如因使用本项目内容引发版权纠纷、法律责任,均由使用者自行承担,与项目维护者无关。
  5. 若本项目内容侵犯您的合法权益(如版权、商标权等),请通过GitHub Issues联系,我们将在核实后24小时内删除相关内容。

🙏 致谢

正是无数技术先行者的默默耕耘与无私分享,才让优质IPTV资源触手可及。特别感谢 plsy1/iptv 项目提供的原始源文件与核心处理思路,为本次开发奠定了坚实基础,谨致以最诚挚的敬意与感谢!

Languages
JavaScript 60%
Python 40%