Archive · m3u8视频转换成mp4

关于m3u8视频转换成mp4的一些记录

昨天深夜两点十七分,我在 2019 年那块旧硬盘的 /hls_cache 文件夹里, 翻出三百多个 .ts 切片和一个孤零零的 index.m3u8。 它们像一箱没贴地址的信,我坐在地板上,决定一封一封拆开。

这十篇,都是转码时留下的墨迹

共 10 篇 · 从索引文件写起,写到 ffmpeg 的报错信息为止

2025-11-09

老周那台 2012 年的 MacBook Air 上,我数出了 214 个 ts 切片

老周把电脑递给我时,屏幕上只剩半截进度条。214 个切片散在桌面, 命名从 seg-0.ts 到 seg-213.ts。他说“你帮我合并吧”, 语气像托付一盆快枯的绿植。我插上硬盘,听风扇响了四分钟。

→ 索引、合并、顺序,三件事
2025-11-05

深夜转码到 99% 卡住的那次,我盯着 #EXT-X-ENDLIST 看了很久

索引文件末尾少了这行标记时,播放器会以为还有下一段。我把缺失的一行补回去, 转码在 23 秒后结束。那晚我在日志里写下:“有些结束,是被写出来的, 不是被等出来的。”这句话有点矫情,但我没删。

→ ENDLIST 是契约,不是装饰
2025-10-29

shaka-packager 和小林的那句话:“先读索引,再动手”

小林在 GitHub 评论区回我:“先读索引,再动手。”六个字。 我照做,把 m3u8 从头到尾读了一遍,发现码率标记和实际切片对不上。 改了两行,转码成功。后来我把这六个字写进了自己的脚本注释里。

→ 读索引是一种礼貌
2025-10-24

地铁 10 号线通勤的 26 分钟里,我用手机转了 3 个 m3u8

从国贸到三元桥,信号断两次。我用 Termux 里装的 ffmpeg, 把三个短视频的 m3u8 逐个转成 mp4,每个不到 40MB。 出站时手机发烫,像握着一块刚烤好的石头。我把它们命名为“通勤_01”到“通勤_03”。

→ 移动端转码的极限
2025-10-21

苏念的转码三原则:不丢帧、不改名、不回头删原切片

第一,-c copy 能解决的不重编码;第二,输出文件名保留原索引里的时间戳; 第三,原 ts 切片留 30 天。三条都是踩坑踩出来的。 第三条最常被人笑,但去年我靠它救回一个被人误删的片段。

→ 习惯是磨出来的

标签云

这些词,都是转码时反复碰到的石头

被翻过最多的

页面角落里那些反复被点开的名字