m3u8 是什么?怎么把 m3u8 下载合并成 MP4
发布于 2026-10-29 · 更新于 2026-10-29 · 阅读约 7 分钟 · 仅用于下载你有权保存的内容
01m3u8 是什么
- 它是一个文本文件,不是视频本身。里面用固定格式记录了一堆小视频片段(通常是 .ts 文件)的网络地址和播放顺序。
- 它是 HLS 协议的核心。HLS(HTTP Live Streaming)是苹果提出、现在几乎所有视频网站都在用的流媒体方案:把一部完整视频切成几秒一段的 TS 分片,播放器按清单顺序边下边播。
- 为什么网站都这么做:切成分片后可以根据网速动态换清晰度(自适应码率)、快速起播、方便 CDN 分发,也天然让「整个文件」不存在——你在服务器上永远找不到一个叫 movie.mp4 的东西。
02为什么不能「右键另存为」
- 页面上播的不是一个文件,而是几十上百个按顺序加载的 TS 分片,右键能保存的最多是那个清单文本。
- 分片地址往往是动态生成的,带有效期参数,过期就失效;有的还按清晰度拆成多条清单。
- 就算把所有分片都抓下来,它们也只是「零件」——不合并的话,很多播放器无法连续播放,也没法拖进度条。
- 所以要拿到一个能双击播放、能传手机、能剪的 MP4,需要三件事:拿到清单 → 下全分片 → 无损合并。
03三步下载并合并(图形界面)
- 第一步 · 打开网页并播放:在 VideoSaver 的「🌐 原生浏览器」里打开视频页并点播放,右侧「嗅探结果」会自动列出 m3u8 清单(清晰度高的排前面)。你不需要自己去找清单地址。
- 第二步 · 选中并下载:点「⬇ 下载选中项」。工具按清单并发拉取所有 TS 分片,支持断点续传——网断了、关机了,重开后从断点继续,已下的分片不浪费。
- 第三步 · 自动合并:分片下完后由内置的 ffmpeg 做无损转封装(ts → mp4 只改封装不改画面数据),保存目录里只留一个成品 MP4,临时文件自动清理。画质与网页播放完全一致。
整个过程不装插件、不录屏、不经过二次转码。
04命令行替代方案(给爱折腾的人)
- 如果你习惯终端,ffmpeg 一条命令可以直接读取 m3u8 并输出 MP4:
ffmpeg -i "https://example.com/index.m3u8" -c copy output.mp4(-c copy表示不改码流,无损)。 - 也可以用 yt-dlp 先下载再合并,它的优势是支持的站点多、可脚本化批量执行。
- 代价:需要安装环境、手动找清单地址、处理登录态;遇到地址带有效期或需要 cookie 的站点,参数会比较繁琐。适合愿意折腾、要批量自动化的用户。
- 只想「下个课来看看」的话,图形界面方案(上一节)更省事。
05常见问题
下载完成是 .ts 而不是 .mp4?
说明机器上没有可用的 ffmpeg。VideoSaver 安装版自带 ffmpeg,正常情况都会输出 MP4;如果用源码方式运行,需要额外安装 imageio-ffmpeg。已生成的 .ts 文件用 VLC / PotPlayer 也能直接播放。
合并会损失画质吗?
不会。TS 和 MP4 只是两种「封装盒子」,画面和声音的数据流是一样的。无损转封装只改盒子不改内容,画质与网页播放一致。会损画质的是录屏和重新转码,不是合并。
嗅探出来好几条 m3u8,选哪条?
清单按清晰度排序,高的在前。数字越大或带 1080p / 720p 字样的是对应清晰度的清单;同一清晰度有时分画面轨与音轨两条(B 站等站点),VideoSaver 会自动配对成组一起下载。
进度长时间不动是不是卡死了?
多半是对端 CDN 假死(不发数据也不断开)。VideoSaver 的停滞看门狗会自动掐断并重连;连续失败会标记为失败,点「重下」从断点继续。
所有 m3u8 都能下吗?
不是。加了内容加密(DRM)或强校验的流有合规与技术双重限制,工具不会绕过;嗅探不到时可以先试「⬇ 捕获创建」页解析整条网页链接。请仅下载你有权保存的内容。
06相关阅读
⚠️ 本文仅介绍流媒体技术原理与工具用法,请仅用于下载你有权保存的内容,遵守各平台协议与版权法规。