下载的 TS 文件怎么合并成一个 MP4

目录

  1. 为什么 TS 可以"无脑拼"
  2. 第一步:按顺序拼成大文件
  3. 第二步:转封装成 MP4
  4. 音画不同步怎么办
  5. 不想装 FFmpeg 的替代法

为什么 TS 可以"无脑拼"

MPEG-TS 的设计初衷就是广播流:数据以 188 字节的包为单位滚动,没有整体文件头依赖,因此把分片首尾相接,播放器照样能连续解出画面。这也是 TS 合并总比其他格式省事的原因。

第一步:按顺序拼成大文件

关键是顺序不能乱,务必按播放列表中的序号排列:

# Windows(cmd)
copy /b seg000.ts + seg001.ts + seg002.ts full.ts

# Linux / macOS
cat seg*.ts > full.ts

注意 cat seg*.ts 依赖字典序:分片数量过千时,seg1000 会排在 seg999 前面,此时应改用带补零的列表文件交给 FFmpeg 处理。

第二步:转封装成 MP4

拼好的 TS 许多播放器已能直接播,但要传手机、发给别人或导入剪辑软件,MP4 更通行:

ffmpeg -i full.ts -c copy full.mp4

-c copy 的意思是只换容器、不重编码,速度飞快且画质分毫不损。若个别设备报编码不支持,再用重编码兜底:ffmpeg -i full.ts -c:v libx264 -c:a aac full.mp4。

音画不同步怎么办

分片时间戳重叠或拼接工具处理过快,开头几秒可能出现声画错位。先试 -avoid_negative_ts make_zero 修正时间戳;仍有偏差时加 -ss 0.5 之类的微调,或者干脆重编码一次,让所有时间戳归零重建。

不想装 FFmpeg 的替代法

手里只有 m3u8 地址、一个分片都没下的话,直接用 M3U8 转 MP4 在线工具更省事——它在浏览器里自动抓取全部分片、合并并转封装,全程无需命令行。想从地址抓取阶段补起,请先看 m3u8 地址抓取教程;关于播放列表文件的解析,标签拆解一文 讲得更细。