菜单

播放列表系统

相关源文件

播放列表系统是管理和组织存储库中数千个 IPTV 流的核心基础设施。它通过可被全球视频播放器使用的标准化 M3U 播放列表来处理流 URL 的组织、格式化和分发。本页面解释了播放列表系统的结构、流的组织方式以及系统如何生成用户可以访问的各种播放列表文件。

有关按类别、语言、国家和地区划分的播放列表组织的具体详细信息,请参阅 播放列表组织。有关添加或修复流的信息,请参阅 添加和修复流

播放列表架构概览

播放列表系统遵循分层结构,将数千个单独的流组织到可访问的、分类的播放列表中。

来源:README.md25-293

播放列表文件结构

存储库使用 M3U 格式的播放列表,该格式广泛被媒体播放器支持。 streams/ 目录中的单个流文件包含原始频道定义,而根目录和分类目录中的已处理播放列表则提供了有组织的访问点。

源文件(streams/*.m3u

streams/ 目录中的源文件按国家代码组织(例如,us.m3uuk.m3u)。这些文件包含原始流定义,包括频道元数据,例如

  • 频道 ID(tvg-id
  • 频道名称
  • 流 URL
  • 可选参数(推荐人、用户代理等)

流条目示例

#EXTINF:-1 tvg-id="ABCNewsLive.us",ABC News (720p)
https://content.uplynk.com/channel/3324f2467c414329b3b0cc5cd987b6be.m3u8

来源:streams/us.m3u1-10

生成的播放列表

系统从这些源文件中生成几种类型的播放列表:

  1. 主播放列表index.m3u)- 包含所有可用频道
  2. 类别索引index.category.m3u)- 按类别组织频道
  3. 语言索引index.language.m3u)- 按语言组织频道
  4. 国家索引index.country.m3u)- 按国家组织频道
  5. 地区索引index.region.m3u)- 按地区组织频道

每个索引还具有相应的单独文件(例如,categories/news.m3ulanguages/eng.m3u 等),以便更精确地访问。

来源:README.md25-47 README.md91-115 README.md142-167 README.md294-306

播放列表生成过程

播放列表系统遵循一个明确定义的流程,将原始流数据转换为有组织的播放列表。

来源:README.md25-47

M3U 文件格式

存储库使用标准的 M3U 扩展格式,每个流条目由两行组成:

  1. 元数据行 - 以 #EXTINF:-1 开头,后跟 tvg-id 和显示名称等属性
  2. URL 行 - 包含实际的流 URL

示例

#EXTINF:-1 tvg-id="BloombergTV.us",Bloomberg TV US (720p)
https://bloomberg.com/media-manifest/streams/us.m3u8

某些流可能使用 #EXTVLCOPT 标签包含其他参数,该标签提供特定于播放器的指令,如 HTTP 推荐人或用户代理字符串。

#EXTINF:-1 tvg-id="FoxNewsChannel.us" http-referrer="https://webxzplay.cfd/" http-user-agent="Mozilla/5.0",Fox News Channel (720p)
#EXTVLCOPT:http-referrer=https://webxzplay.cfd/
#EXTVLCOPT:http-user-agent=Mozilla/5.0
https://zekonew.newkso.ru/zeko/premium347/mono.m3u8

来源:streams/us.m3u152-157 streams/us.m3u334-337

播放列表组织结构

播放列表系统以多种方式组织流,以提供灵活的访问

按类别

频道被分组到新闻、体育、娱乐等类别中。完整的类别列表在单独的文档中提供,包括以下选项:

  • 新闻
  • 体育
  • 电影
  • 音乐
  • 娱乐
  • 纪录片
  • 等等。

来源:README.md37-90

按语言

频道按广播语言组织,每个语言都有单独的播放列表(例如,英语、西班牙语、阿拉伯语等)。

来源:README.md91-293

按国家

频道按广播国家分组。这包括特定国家的播放列表,有时还包括国家内的细分。

来源:README.md294-345

按地区

频道也可以按地理区域访问(例如,美洲、欧洲、亚洲等)。

来源:README.md25-36

特殊情况

NSFW 内容处理

截至 2024 年 1 月 30 日,该存储库已停止分发 NSFW 频道。这些频道以前可以通过专用的类别文件访问,但已从分发中移除。

来源:README.md27

国家细分

对于某些国家,流还按细分进行组织。例如,阿根廷有不同省份的播放列表。

Argentina (223p)
├── Buenos Aires (18p)
├── Catamarca (1p)
└── ... other provinces

这允许对特定国家/地区内的区域内容进行更细粒度的访问。

来源:README.md324-344

访问播放列表

最终用户可以通过使用 GitHub Pages URL 来访问播放列表。例如:

  • 主播放列表:https://iptv-org.github.io/iptv/index.m3u
  • 类别索引:https://iptv-org.github.io/iptv/index.category.m3u
  • 特定类别:https://iptv-org.github.io/iptv/categories/news.m3u

这些 URL 可以插入任何支持 IPTV 流的视频播放器中。

来源:README.md33-35 README.md45-47

数据流和集成

播放列表系统与 IPTV 存储库的其他组件集成,包括自动化工作流和外部资源。

来源:README.md25-293

结论

播放列表系统是使 IPTV-org 存储库功能齐全且可访问的基础性基础设施。它管理数千个流的组织、验证和分发,为用户提供了跨不同类别、语言、国家和地区访问 IPTV 内容的标准化方式。

该系统的分层结构在保持干净、有组织的存储库架构的同时,实现了内容的灵活访问。通过 GitHub Actions 工作流的持续验证和更新,该系统确保播放列表对最终用户保持最新和功能正常。