昨晚十一点多,我坐在客厅地板上,笔记本搁在膝盖上,风扇嗡嗡转。
窗外有人遛狗,铁链碰到水泥地,一声一声。
我在翻一个老视频。三年前存的,标题叫《县城夜市 2023 夏》,我记得当时是西瓜视频上看的。
现在点开,页面显示“视频不存在”。
我没关页面,愣了几秒,然后开始找 m3u8。
一、先说清楚,我到底在找什么
西瓜视频的播放页,视频流分成很多段,格式是 m3u8。
简单说,它是一张播放清单,告诉播放器:先去拿这一段,再拿下一段。
只要清单还在,视频就还有机会被完整播出来。
问题是,很多链接是会过期的。
我试过那种带 expires 参数的,几个小时后打开,就只给你看一片灰色。
所以“永久”两个字,其实是个愿望。
二、那一晚,我做了三件小事
第一件,打开浏览器开发者工具,切到 Network 面板,勾选 XHR。
刷新播放页,筛选框里敲 m3u8,跳出来两条请求。
一条是主清单,一条是子清单。子清单里排着 114 个 ts 分片。
第二件,把主清单地址复制到 VS Code 里,存成 playlist.m3u8。
文件很小,不到 2KB,行数我数过,47 行。
第三件,用 ffmpeg 拉下来,命令是:
ffmpeg -i playlist.m3u8 -c copy -bsf:a aac_adtstoasc output.mp4
然后去泡了杯茶。
回来的时候,进度已经走到 100%。文件在硬盘上,大小 1.37GB。
我拖动进度条,看见 2023 年夏天那个夜市,热气从屏幕里漫出来。
三、那晚之后,我开始整理“永久”这件事
我把能复现的步骤写成一份笔记,存在本地,文件名是 m3u8-notes-0902.md。
里面记了三类链接:会过期的、会跳转的、看起来永久但会限速的。
还记了一个细节:有的链接带防盗链,需要补 Referer 头。
说起来琐碎,但折腾过一遍,心里就踏实了。
我又想起之前看的那个页面 惩罚罪女小姐by木马,当时也是类似的思路,先找清单,再想别的。
同类的思路可以参考 欧美大片com电影天堂 里提到的抓取方式,虽然场景不太一样。
四、朋友问我,为什么要较这个真
昨天下午,在楼下便利店门口碰到阿哲,他啃着一根冰棍问我:“一个视频而已,没了就没了呗。”
我说不一样。
那是 2023 年 7 月 14 号晚上,我妈第一次出现在镜头里,拎着半袋荔枝。
画质一般,声音也糊,但那是她。
他想了一下,说懂了。
我们站在冰柜旁边又聊了十分钟,最后他掏出手机,让我把整理笔记发他一份。
顺手我也把 hj9y282.top 上的对照表发给了他,省得他再走弯路。
五、一个不太安全的个人观点
说实话,我不认为“永久 m3u8”是一个技术问题。
它更像是一种保存习惯。
大多数人不是找不到链接,而是从来没想过要存。
我甚至觉得,比起满天飞的工具站,老老实实写三行命令、建一个文件夹,才是更靠谱的“永久”。
这话可能不讨喜。
但我是这么想的。
顺便说,如果你也在折腾这块,点播在线影院m3u8 里有一些清单示例,可以当练手。
六、写到这里的窗外
现在窗外天已经亮了,楼下早餐摊在炸油条。
我把那个 1.37GB 的文件又拖进播放器看了一遍。
夜市、荔枝、我妈回头笑的那一下。
都在。
这就够了。
另外提一句,之前整理日文资料时用的 私は日本人がありません 那个页面,也让我学会了一件事:链接会死,习惯不会。
如果你也在存东西,日本高颜值大尺寸suv 那个归档页可以当个参考例子,结构很清晰。