<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>IPTV on Text Matrix</title><link>https://txtmix.com/tags/iptv/</link><description>Recent content in IPTV on Text Matrix</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Tue, 21 Jul 2026 20:06:14 +0800</lastBuildDate><atom:link href="https://txtmix.com/tags/iptv/index.xml" rel="self" type="application/rss+xml"/><item><title>Free-TV/IPTV：把 100+ 国家免费电视频道手工策展成一个 M3U playlist 的数据项目</title><link>https://txtmix.com/posts/tech/free-tv-iptv-curated-free-tv-channels-m3u-playlist-guide/</link><pubDate>Mon, 15 Jun 2026 18:04:30 +0800</pubDate><guid>https://txtmix.com/posts/tech/free-tv-iptv-curated-free-tv-channels-m3u-playlist-guide/</guid><description>&lt;p>Free-TV/IPTV：把 100+ 国家免费电视频道手工策展成一个 M3U playlist 的数据项目&lt;/p>
&lt;p>学习目标&lt;/p>
&lt;ul>
&lt;li>看清 Free-TV/IPTV 这个仓库&lt;strong>不是软件工具&lt;/strong>，而是一份长期人工维护的 M3U 数据集——理解这一点才不会被&amp;quot;克隆下来跑一下&amp;quot;的预期误导。&lt;/li>
&lt;li>记住它的三条策展哲学：质量优先、只免费、只主流，并能用这些哲学解释为什么这个仓库只有几百个频道而不是几万。&lt;/li>
&lt;li>读懂仓库的目录结构（&lt;code>lists/*.md&lt;/code> + &lt;code>playlist.m3u8&lt;/code>）与生成器 &lt;code>make_playlist.py&lt;/code> 的关系，知道 PR 只能改 &lt;code>.md&lt;/code>、不能直接改 &lt;code>m3u8&lt;/code>。&lt;/li>
&lt;li>区分它跟 iptv-org/iptv 的根本差别：Free-TV 走&amp;quot;几百个稳定频道&amp;quot;路线，iptv-org 走&amp;quot;几十万频道 + 自动失效检测&amp;quot;路线。&lt;/li>
&lt;li>知道它的硬约束：无 SPDX License、只收录用户能证明&amp;quot;确实免费&amp;quot;的频道、依赖 IPTV 播放器（VLC/Kodi/IPTV Pro 等）。&lt;/li>
&lt;/ul>
&lt;h2 id="目录">目录&lt;/h2>
&lt;ol>
&lt;li>&lt;a href="#1-%e4%b8%ba%e4%bb%80%e4%b9%88%e5%86%99%e8%bf%99%e7%af%87%e6%96%87%e7%ab%a0" rel="">为什么写这篇文章&lt;/a>&lt;/li>
&lt;li>&lt;a href="#2-%e6%a0%b8%e5%bf%83%e5%88%a4%e6%96%ad%e8%bf%99%e4%b8%8d%e6%98%af%e8%bd%af%e4%bb%b6%e6%98%af%e6%95%b0%e6%8d%ae%e7%ad%96%e5%b1%95" rel="">核心判断：这不是软件，是数据策展&lt;/a>&lt;/li>
&lt;li>&lt;a href="#3-%e7%b3%bb%e7%bb%9f%e5%9c%b0%e5%9b%be%e4%bb%93%e5%ba%93%e7%bb%93%e6%9e%84%e4%b8%8e%e7%94%9f%e6%88%90%e7%ae%a1%e7%ba%bf" rel="">系统地图：仓库结构与生成管线&lt;/a>&lt;/li>
&lt;li>&lt;a href="#4-%e7%ad%96%e5%b1%95%e5%93%b2%e5%ad%a6%e4%b8%ba%e4%bb%80%e4%b9%88%e5%8f%aa%e6%9c%89%e5%87%a0%e7%99%be%e4%b8%aa%e9%a2%91%e9%81%93" rel="">策展哲学：为什么只有几百个频道&lt;/a>&lt;/li>
&lt;li>&lt;a href="#5-%e7%a1%ac%e7%ba%a6%e6%9d%9f%e4%b8%8e%e9%80%82%e7%94%a8%e8%be%b9%e7%95%8c" rel="">硬约束与适用边界&lt;/a>&lt;/li>
&lt;li>[使用方式：3 步上手](#6-使用方式 3-步上手)&lt;/li>
&lt;li>&lt;a href="#7-%e6%80%8e%e4%b9%88%e5%8f%82%e4%b8%8e%e8%b4%a1%e7%8c%ae" rel="">怎么参与贡献&lt;/a>&lt;/li>
&lt;li>&lt;a href="#8-%e9%80%82%e7%94%a8%e4%ba%ba%e7%be%a4%e4%b8%8e%e4%b8%8d%e9%80%82%e7%94%a8%e4%ba%ba%e7%be%a4" rel="">适用人群与不适用人群&lt;/a>&lt;/li>
&lt;li>&lt;a href="#9-%e5%b8%b8%e8%a7%81%e9%97%ae%e9%a2%98faq" rel="">常见问题（FAQ）&lt;/a>&lt;/li>
&lt;li>&lt;a href="#10-%e6%80%bb%e7%bb%93" rel="">总结&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%e8%87%aa%e6%b5%8b%e9%a2%98" rel="">自测题&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%e7%bb%83%e4%b9%a0" rel="">练习&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%e8%bf%9b%e9%98%b6%e8%b7%af%e5%be%84" rel="">进阶路径&lt;/a>&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="1-为什么写这篇文章">1. 为什么写这篇文章&lt;/h2>
&lt;p>GitHub Trending 周榜最近又一次把 &lt;code>Free-TV/IPTV&lt;/code> 顶上来——它是一个 2021 年 4 月创建、到现在 5 年多还在每天更新、Star 17k 的 IPTV 数据项目。仓库里&lt;strong>没有任何二进制、没有编译产物、没有 release&lt;/strong>，只有一个 &lt;code>playlist.m3u8&lt;/code> 文件夹 + 一堆 &lt;code>lists/*.md&lt;/code> + 一个 Python 生成脚本。&lt;/p></description></item><item><title>iptv-org/iptv 架构拆解：一个 12 万星仓库如何用 GitHub Issues + Actions 当 CMS</title><link>https://txtmix.com/posts/tech/iptv-org-iptv-public-channel-playlist-architecture/</link><pubDate>Sat, 13 Jun 2026 18:07:17 +0800</pubDate><guid>https://txtmix.com/posts/tech/iptv-org-iptv-public-channel-playlist-architecture/</guid><description>&lt;h1 id="iptv-orgiptv-架构拆解一个-12-万星仓库如何用-github-issues--actions-当-cms">iptv-org/iptv 架构拆解：一个 12 万星仓库如何用 GitHub Issues + Actions 当 CMS&lt;/h1>
&lt;blockquote>
&lt;p>一句话核心判断：&lt;strong>iptv-org/iptv 把 GitHub Issues 当作无服务器 CMS，用 GitHub Actions 当 ETL（Extract-Transform-Load）引擎，每天自动生成 600+ 个公开 m3u 播放列表，整个仓库不存任何视频文件，只存频道链接元数据&lt;/strong>。这是一个用 Git 原生能力拼出&amp;quot;自动化内容运营&amp;quot;的典型案例，比传统 CMS 方案轻量得多，但代价是把&amp;quot;数据完整性&amp;quot;和&amp;quot;链接存活率&amp;quot;全部押注在社区贡献者的提交习惯上。&lt;/p></description></item></channel></rss>