惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Help Net Security
Help Net Security
量子位
大猫的无限游戏
大猫的无限游戏
雷峰网
雷峰网
B
Blog RSS Feed
宝玉的分享
宝玉的分享
Security Latest
Security Latest
小众软件
小众软件
P
Proofpoint News Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
月光博客
月光博客
博客园_首页
美团技术团队
T
Tailwind CSS Blog
The Cloudflare Blog
爱范儿
爱范儿
L
LINUX DO - 热门话题
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Threatpost
V
Vulnerabilities – Threatpost
A
Arctic Wolf
C
Cybersecurity and Infrastructure Security Agency CISA
S
Securelist
阮一峰的网络日志
阮一峰的网络日志
T
Tenable Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
J
Java Code Geeks
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
Schneier on Security
I
Intezer
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
腾讯CDC
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Scott Helme
Scott Helme
S
SegmentFault 最新的问题
Simon Willison's Weblog
Simon Willison's Weblog
人人都是产品经理
人人都是产品经理
Schneier on Security
Schneier on Security
Jina AI
Jina AI
N
News and Events Feed by Topic
C
Cisco Blogs
L
Lohrmann on Cybersecurity
V
V2EX
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Cisco Talos Blog
Cisco Talos Blog
W
WeLiveSecurity
The Last Watchdog
The Last Watchdog
O
OpenAI News
V
Visual Studio Blog
Apple Machine Learning Research
Apple Machine Learning Research

BlogFinder

日常漫步 Vol.24 之漫步前山河 - 雅余 周报 #1-聊聊本周的收获 - Edwin's Blog 我的OpenCode必装插件与Skill Write Something 掌中之物未必在掌握之中 · CRIVU PiliNara,一个更顺手的 PiliPlus 分支 「NekoEcho」:做一个必有回响的猫娘主题博客 2026-05 书影音总结 简化博客主题 - 安迪 我第一次发布 npm 包 拾花小记#45:中考前的二三事 – 小改学习志 黛西花园5月游 #18 枇杷又熟了的五月月报 一些奇奇怪怪的需求?word仿方正书版的几个小操作 - Xiobb's Blog 0419 御温泉之旅 修复了一些bug,网站基本上趋于稳定了 - 新锐博客 又回到四十年前 如何定义成功 迷鹿屋2026已重新上线 科技冰火两重天+一周回顾 ${title} 热度退了,我反而用得更深了-咕咚同学 我到底该不该换个域名? 随身WIFI折腾记 - 安迪 博客撰写体验提升——hexo pro插件 为什么不用相机把屏幕上的接关密码拍下来? 国清寺与天台山 – Ouroboros ★★★★☆《挽救计划》——久违的经济上行感 - Davidの3号基地 删除右键“打开方式”里多余选项 第三周刊_No.53|一切都会被支付两次 安卓APP通话记录与录音上传踩坑记录 - 子舒的博客 天量下跌 inBox 笔记 2.3.8,把工具栏交给了你-咕咚同学 我把小龙虾搬到了微信-咕咚同学 安好 - 响石潭 Compound Engineering Plugin:让每个工程单元都比上一个更容易 MOSS-TTS Family:开源高质量语音与声音生成模型家族深度解析 Crawl4AI:专为 LLM 设计的开源 Web 爬虫与数据抓取工具 Build Your Own X:从零实现你最喜欢的技术——程序员进阶的终极资源清单 Anthropic Skills:用文件夹教 Claude 专业技能的开源框架 1年的去月球(下) - 梅之夏 欢迎回来。 简单讲讲 ASN.1 与 OID DTV - 直播聚合客户端 5.22-5.27 – 不兴江 还没去过鸭川 – 不兴江 张晶晶同学三刷林志颖 关于我 – 不兴江 爱与嫉妒 – 不兴江 港股被持续做空 备案码花了四百块-咕咚同学 一句话生成封面:我给公众号做了4种风格的AI封面生成技能 「官」方認證 再谈费曼学习法 2026-05-28T00:34:11+08:00 2026-05-28T00:28:45+08:00 离谱的英语学习指南:基于AI的英语进阶系统方法论 iii:零集成架构的后端统一运行时 Claude Code Harness:让 Claude Code 工作有迹可循的工程化框架 Heretic:全自动移除大语言模型审查机制的开源工具 MarkItDown:微软开源的万能文档转 Markdown 利器 Harness:让 Claude Code 秒变多智能体协作工厂 这段时间尽折腾AI Agent了,确实极大地提高了效率 近期动态:两个新站点正式上线啦 误判解除!zhouayuan.com 腾讯安全申诉成功 - 周阿源|玩具设计・插画日常・生活随笔 Ralph:让 AI 编码工具自主循环跑完所有 PRD 任务的量产神器 全都违法 – 个人工作记录 关于zhouayuan.com被误判 “含违规信息” 的说明与申诉记录 - 周阿源|玩具设计・插画日常・生活随笔 小米 MiMo v2.5 Pro 白嫖 最大的人间清醒,兜里有钱,但是不花。 夜晚靓歌(12):于文文现场solo - 王志勇的Blog 今日插画:风扬起的倔强 - 周阿源|玩具设计・插画日常・生活随笔 回门习俗 独立网卡 - 忘记了回忆 500亿入股人工智能企业 从命令行到桌面智能体-咕咚同学 第一性原理读书笔记 行者微评论223-加班の守株待兔-博客|政治与时事-风雨行者 ZOZO开源物理接触求解器:GPU加速的可扩展仿真引擎 OpenStock:开源股票市场交易平台技术深度解析 MoneyPrinterTurbo:基于AI的全自动短视频生成工具深度解析 Claude-Mem:为 Claude Code 构建的持久化记忆压缩系统 Twenty:可代码化定制的企业级开源 CRM 平台技术深度解析 2026-05-26T22:59:17+08:00 企业级开源大模型部署平台 GPUStack 实战教程 1年的去月球(上) - 梅之夏 Sevalla - 静态网站托管服务 不用翻墙、不用注册、不用月费,普通人也能用上 Claude Code 装修灯具要注意⚠️ 黄梅天先锋 - 游子微博 公安备案顺利办结,站点备案全部完成 - 周阿源|玩具设计・插画日常・生活随笔 第三次兑换天猫超市卡了宗宗酱-三维狐少儿编程 Don't think, feel. - Rolen's Blog 人这一辈子,到底图个什么 博客迁移 - Edwin's Blog 情感赛道写作模板 再现本轮行情的典型特征 裁员与平常心-咕咚同学 别让“偷懒”,成为隐私泄露的破绽 片刻 - Jdeal | Life is like a Design.
iptv-org/iptv:一个收录全球公开 IPTV 频道的开源项目
Cheman · 2026-06-13 · via BlogFinder

今天在 GitHub Trending 上看到一个有意思的项目:iptv-org/iptv,一个汇聚全球公开 IPTV 频道的开源项目,一行 M3U 链接就能在任意播放器里看遍天下电视。

一、项目概述

iptv-org/iptv 是由社区驱动的开源项目,旨在收录互联网上的公开 IPTV(Internet Protocol Television)频道链接,让用户无需订阅即可免费观看全球电视直播。项目核心特点:

  • 海量频道:收录全球范围内的公开电视频道,涵盖新闻、体育、娱乐、儿童等各类内容
  • 标准化格式:输出符合 M3U 标准的播放列表,兼容 VLC、PotPlayer、Kodi 等主流播放器
  • 实时更新:通过 GitHub Actions 自动校验频道链接有效性,剔除失效链接
  • 多维度分类:提供按国家、语言、类别的独立播放列表,方便精准获取目标频道
  • 配套生态:包含 EPG(电子节目指南)生成工具、RESTful API 以及数据库项目

二、技术原理

架构设计

项目采用多仓库架构,生态链完整:

子项目仓库作用
iptv本仓库播放列表维护与分发
databaseiptv-org/database频道元数据(名称、国家、语言等)
apiiptv-org/apiRESTful 接口封装
epgiptv-org/epg电子节目指南生成

数据模型

频道数据以 M3U 格式存储,关键字段包括 #EXTINF 扩展信息:

#EXTINF:-1 tvg-id="CNN.us" tvg-name="CNN" tvg-country="US" tvg-language="English" group-title="News",CNN
https://live.cnn.com/hls/feed/123.m3u8

#EXTINF 行定义元数据,url 行定义实际流地址。项目使用 iptv-playlist-parser 库解析 M3U 文件,关键解析逻辑:

// eslint.config.mjs (项目 ESLint 配置节选)
import typescriptEslint from '@typescript-eslint/eslint-plugin'
import stylistic from '@stylistic/eslint-plugin'
import tsParser from '@typescript-eslint/parser'
import { FlatCompat } from '@eslint/eslintrc'
import globals from 'globals'

export default [
  ...compat.extends('eslint:recommended', 'plugin:@typescript-eslint/recommended'),
  {
    plugins: {
      '@typescript-eslint': typescriptEslint,
      '@stylistic': stylistic
    },
    languageOptions: {
      globals: { ...globals.browser },
      parser: tsParser,
      ecmaVersion: 'latest',
      sourceType: 'module'
    },
    rules: {
      '@stylistic/linebreak-style': ['error', 'windows'],
      quotes: ['error', 'single'],
      semi: ['error', 'never']
    }
  }
]

核心技术栈

package.json 可以看出项目使用的关键技术:

  • Node.js + TypeScript:主体开发语言,通过 SWC 加速 Jest 测试
  • @octokit/core:与 GitHub API 交互,自动化工作流
  • iptv-playlist-parser:M3U/M3U8 格式解析
  • hls-parser / mpd-parser:HLS 与 DASH 流协议解析
  • axios:HTTP 请求
  • ESLint + TypeScript ESLint:代码质量保障

自动化流水线

项目通过 GitHub Actions 实现频道链接的自动化校验与播放列表更新:

npm run act:check   # 触发 PR 检查工作流
npm run act:format  # 触发格式编排工作流
npm run act:update  # 触发播放列表更新工作流

三、安装与快速开始

环境要求

  • Node.js 18+
  • npm 或 yarn

安装步骤

# 克隆仓库
git clone https://github.com/iptv-org/iptv.git
cd iptv

# 安装依赖
npm install

# 加载 API 数据(首次安装必需)
npm run api:load

最简运行示例

方法一:直接用 VLC 打开

获取主播放列表,复制以下链接到 VLC「打开网络串流」:

https://iptv-org.github.io/iptv/index.m3u

方法二:按国家筛选

获取特定国家的频道列表(如中国):

https://iptv-org.github.io/iptv/channels/cn.m3u

方法三:通过 API 查询

# 获取所有频道
curl "https://api.iptv.org/channels"

# 按国家筛选
curl "https://api.iptv.org/channels?country=cn"

四、使用方法与实战

基础用法

  1. 在支持 M3U 的播放器(VLC、PotPlayer、IINA 等)中打开播放列表 URL
  2. 选择想看的频道,播放器自动连接流地址
  3. 如遇卡顿,可切换同频道的其他镜像源

进阶用法:结合 EPG 使用

下载节目指南:

# 克隆 EPG 工具
git clone https://github.com/iptv-org/epg.git
cd epg
npm install

# 生成指定频道的节目单
npm run start -- --channels=https://iptv-org.github.io/iptv/channels/cn.m3u

实际项目示例:集成到家庭媒体中心

// 使用 @iptv-org/sdk 编程调用
import { Client } from '@iptv-org/sdk'

const client = new Client()
const channels = await client.getChannels({ country: 'CN' })

for (const channel of channels) {
  console.log(`${channel.name}: ${channel.url}`)
}

五、常见问题与解决方案

Q: 频道播放不了,提示连接失败? A: 公开频道链接可能随时失效,这是正常现象。尝试刷新播放列表获取最新链接,或切换到同频道的其他源。项目 GitHub 页面会定期自动更新失效链接。

Q: 播放卡顿严重? A: 优先选择同地区的 CDN 镜像节点,或尝试降低视频码率。也可以使用 m3u-linter 工具(npm run playlist:lint)提前检测链接质量。

Q: 如何贡献新频道? A: 在 iptv-org/database 仓库提交 issue 或 PR,提供频道名称、国家、语言及官方流地址。项目有严格的贡献指南(CONTRIBUTING.md),需确保来源合法且经版权方授权公开。

Q: 支持回看/点播吗? A: 本项目仅收录实时直播流,不提供回看功能。如需时移播放,需借助 DVR 系统(如 Jellyfin + tvheadend)配合 IPTV 源录制实现。

六、总结

iptv-org/iptv 是一个维护活跃、覆盖面广的优质开源项目,适合需要获取国际电视信号的技术用户和媒体爱好者。它以极简的 M3U 格式输出数据,兼容所有主流播放器,配套的 EPG 和 API 生态进一步扩展了应用场景。需要注意的是,频道链接的稳定性和版权合规性需要用户自行判断,项目本身仅负责链接聚合,不存储任何视频内容。