m3u8
电路板与数据线,桌面上的流媒体世界
# 叶子 / 笔记
详情 · 2026.09.13

昨天下午,我在一个 1.2 MB 的 .m3u8 文件里翻了四十分钟

不是因为它难懂,而是因为我终于看懂了那十几行文本里藏着的拖延、分片和一场雨。

一、从一个 txt 文件说起

说实话,我一直觉得「m3u8」这三个字符被叫成「一种格式」有点委屈它。它其实更像一张便条纸——上面写着:下一个片子在哪儿、有多长、按什么顺序放。

2026 年 9 月 11 日,周五,下午三点多,雨下得不算大,我在老城区一家开到很晚的打印店门口等朋友。打印店老板娘的桌上放着一台旧 MacBook,屏幕上是记事本窗口,标题栏写着 playlist.m3u8。她见我盯着看,特地把屏幕转过来一点,说:「你懂这个?我侄子弄的,说这样能省流量。」 我就这样蹭了人家半张桌子,用打印店那种有油墨味的纸,手抄了十来行。她桌上还有一张 2024 年 3 月的取件单,收件人叫「陈浩」,我瞄了一眼就忘不掉这个名字,因为后来我在文件里真的又看到一次相关的编号。

那份手抄的纸上,首行是 #EXTM3U,第二行是 #EXT-X-VERSION:3,接着就是一行行 #EXTINF:10.000, 和它们的 .ts 分片地址。我把纸折了两下塞进外套口袋,回家拍了张照,放大看了很久。这不是什么神秘代码,它更像是分镜脚本:镜头 1 十秒,镜头 2 十秒,镜头 3 也被切得整整齐齐。普通人讲故事靠转折,它靠 EXTINF 那一行数字来把握节奏。

屏幕上滚动的文本与数据流
一张会滚动变化的清单,本质上是时间的一格一格。

二、它到底在做什么

我试着用最笨的话把它讲清楚,因为网上那些教程太喜欢一上来就讲 RFC 8216 了。播放器读到这个文件,先看 #EXT-X-TARGETDURATION 知道单个分片最长几秒,再按顺序抓 .ts 或者 .m4s 的地址,边下边播。文件里如果还有 #EXT-X-STREAM-INF,那就是一个「菜单」,告诉你还有 720p、480p 等几档,播放器根据带宽自己选。我当时在便签上写了四个字:边跑边看。对,就这么简单。

真正让我兴奋的不是原理,是它把「完整视频」拆成「一堆可寻址的小块」这件事本身。每块 10 秒,两小时就是 720 块。一块坏了,不必重来,只是那一格画面糊了、卡了、跳了。换句话说,它是允许犯错的格式。相比之下,我第一次给同学演示这个时,是用我那台装了 m3u8 v1.4.8 的旧手机,屏幕裂了一道缝,点播放的时候转了两秒,然后开始播——我当时「哦」了一声,说,原来流媒体是这么个流法。

我不太同意「m3u8 就是盗链工具」这个说法。它是个清单格式,和菜谱一样,菜谱本身不背这个锅。真正该被审视的是内容来源,而不是那几行 #EXTINF。

顺便,那天打印店老板娘还跟我聊起她远方亲戚家里的事,说儿媳妇闹情绪,问我有没有那种讲家常的文章,我就把 儿子出轨儿媳妇要离婚怎么办 那篇转给了她,她说写得实在。你看,技术文章和生活文章,在我的收藏夹里其实住得很近。

三、手抄本上的三个细节

第一个细节是 #EXT-X-MEDIA-SEQUENCE 后面那个数字,我数了三遍,是 48。这意味着直播流已经滚过去了 48 个分片,差不多 8 分钟。第二个细节是分片地址里的一串编号 .../seg_00047.ts,和前面取件单上的编号尾数竟然对上了,纯属巧合,但我还是记在了便签上。第三个细节是文件末尾少了一行 #EXT-X-ENDLIST——没有结尾标记,就是直播还没结束;有,就是点播。这个我是在 9 月 12 日早上刷牙时才想明白的,牙膏沫差点溅到屏幕。

这些细节听着碎,但拼起来就是一个完整的判断:一个用 m3u8 描述的时间带,从第 48 格开始,等着被谁第 49 次点开。我把这句话写在便利贴上,贴在了显示器边框,旁边还有一张,上面是朋友微信发来的 173.cc起草网址,他说这个站我之前提过。你看我又跑题了,抱歉,我这个人就是容易从技术滑到日子里。

四、我为什么觉得它值得写一篇笔记

因为它太不起眼了。一个纯文本文件,几百行,打开就是记事本的字体,没有花哨界面,没有加载动画。可它恰恰是流媒体最诚实的部分:告诉你开始在哪、结束在哪、中间被切成了几段。我翻过一份 2023 年的公开课材料,里面提到 HLS 的典型分片时长是 6 秒,而我手上这份是 10 秒,说明对方做的是更省请求数、但首帧稍慢的取舍。这种「选择」藏在数字里,不解释就看不见。

我个人的观点有点硬:m3u8 是当下最被低估的工程文档之一。很多人天天播视频,从来没有打开过那份清单,却对它很有意见。就像我朋友,他打游戏直播那段时间迷上一档节目,非要用 免费视频在线看高清刺激战场直播美国 来对比画质,后来我让他直接去读源里的 m3u8,他才明白为什么切到 1080p 会顿一下——清单里根本没给那条高码率的流。不是网络差,是菜单上没有这道菜。

我还翻了翻手头几篇杂七杂八的收藏,比如那本 短篇各种孕期杂文合集,写生活的人,段落是一个个场景;写流的人,段落是一段段索引。两者都需要一个「next」,也都要给上一段收尾。这大概是我爱跑题的根源,看什么都能往一处想。

五、一个没忍住的小实验

9 月 12 日,周六,傍晚六点二十,我在自己电脑上建了一个文件夹叫 leaf_test,手动写了 6 行 m3u8,只引用了两个我早就存好的 3 秒视频片段,地址全是本地路径。打开播放器,它居然乖乖播完了,循环了两遍。那一刻我很兴奋,不是因为技术多高深,而是因为「一份文本就够了」这件事被我亲手验证了。后来我又加了一行注释 # 叶子写于 2026-09-12,播放器直接忽略,可看着就开心。

所以这篇就叫笔记吧,不当教程。教程会告诉你规范第几章第几节,笔记只告诉你:周五下午在打印店,有个老板娘对我说了句「省流量」,然后我把一张有油墨味的纸带回了家。哪天再遇到这种情况——比如有人再递给我一个 51每日挑战赛反差娜娜 那样听起来热闹的链接——我大概还是会先找它背后有没有一份清单,看它怎么切时间。这算我的一点小怪癖了。至于别处那些所谓的热门,我没细追,倒是见有人贴过 蜜芽tv网址最新永久 这种说法,我就略过了,风格不是我的菜。

最近写下的清单

从打印店的纸片到别人的清单,随手记的十二条。

手抄本

9 月 11 日,那张有油墨味的纸被我夹进了《归途》

2026.09.05 · 物件
字幕

林小雨做的那份 10 秒切片表,我照着抄了一遍

2026.09.04 · 笔记
系统

为何我坚持把 6 秒改成 10 秒——一次很小的取舍

2026.09.03 · 工程
雨天

雨停之后,我又回了一趟那家打印店

2026.09.02 · 生活
清单之外

第七十二条便签:关于「结束标记」的一点小固执

2026.09.01 · 随想
叶子的头像,窗边的侧影

关于我

我是叶子,在「m3u8」这里写东西,主要写清单、流媒体,也写打印店和取件单。白天做点技术支持的工作,晚上回家第一件事是打开记事本,把白天看到的一个数字记下来。

这个站的名字起得很随意,本来只是我收藏夹里一个文件夹叫这个名字,后来东西越写越多,就干脆把它变成了站名。我不做教程,也不评判谁对谁错,最多说一句「我个人觉得」。像 2026 年 9 月 11 日那个下雨的下午,我就是想告诉某个人,那十几行文本其实很好懂。

如果你也在哪份清单里发现过什么,欢迎留言,我会一条条看,然后接着跑题。

今天看到的一句话
「所有被切碎的时间,最后都靠一个标记连起来——没有标记的,就当它还没结束。」
—— 摘自 2026 年 9 月 12 日晚便签,叶子自己写的那张,贴在显示器右下角