如何将 m3u8 / HLS 流下载为 MP4

面向开发者和进阶用户的技术教程——将任意 HTTP Live Streaming 播放列表下载为单个本地 MP4 文件,包括主播放列表、AES-128 加密分片和直播流,无需命令行,无重新编码。

简单说。 在开发者工具中找到 .m3u8 链接,粘贴到 SVD,选择画质版本,点击下载。SVD 自动处理主播放列表、加密解密和分片拼接。

什么是 m3u8?

.m3u8 文件是一个 HTTP Live Streaming(HLS) 播放列表——这是一个文本文件,引用一系列短小的媒体分片。现代流媒体服务大多采用 HLS,因为它基于普通 HTTP(S) 传输,并能根据带宽自适应调整。

主播放列表大致长这样:

#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=2600000,RESOLUTION=1280x720
720p/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1200000,RESOLUTION=854x480
480p/playlist.m3u8

媒体播放列表(子播放列表)则引用实际的分片文件:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXTINF:10.0,
segment-001.ts
#EXTINF:10.0,
segment-002.ts
...
#EXT-X-ENDLIST

30 秒内找到 m3u8 链接

  1. 在 Chrome、Edge 或 Safari 中打开视频页面
  2. 打开开发者工具——Mac 按 ⌘⌥I,Windows 按 F12
  3. 切换到「网络」标签页
  4. 在过滤框中输入 m3u8
  5. 点击播放视频
  6. 主播放列表请求会出现——通常以 master.m3u8playlist.m3u8index.m3u8 结尾
  7. 右键点击 → 复制 → 复制链接地址

4 步用 SVD 下载

1

安装 SVD

官网首页下载 Mac 或 Windows 版本。macOS 版经过代码签名。

2

粘贴 m3u8 链接

切换到 SVD,剪贴板中的链接会被自动识别。也可以手动粘贴到链接输入框。

3

选择画质版本

SVD 列出主播放列表引用的所有画质版本。同等分辨率优先推荐 H.264,兼容性更广。

4

下载为单个 MP4

所有分片依次获取,必要时解密,然后拼接并封装为 MP4——无重新编码,无画质损失。

现在就来试试?

免费试用 7 天,无需账号,流媒体文件保存在你的设备上。

加密 HLS:AES-128 与 DRM 的区别

HLS 主要支持两种加密方案:

如果视频在安装了 Widevine CDM 的浏览器中需要订阅才能播放,并不意味着 SVD 能抓取到它。只有非 DRM 的流才能下载——而这仍然覆盖了开放互联网上的绝大多数内容。

请求头、Referer 和身份验证

部分服务器会拒绝缺少特定 RefererOrigin 请求头的请求。SVD 内置的 yt-dlp 会自动为 1800 多个网站设置这些请求头。对于来自自建网站的独立 m3u8 链接,你可以从浏览器提供 Cookie——SVD 在 macOS(Chrome/Safari)和 Windows(Edge)上均可本地读取。

常见问题

m3u8 文件是什么?

它是一个 HLS 播放列表——一个列出一系列视频分片的文本文件。大多数流媒体服务使用 HLS 通过 HTTP 传输视频。

SVD 能下载 AES-128 加密流吗?

可以——当密钥通过 EXT-X-KEY 在播放列表中引用时,SVD 会获取密钥并实时解密。Widevine / FairPlay DRM 流不支持。

SVD 支持主播放列表吗?

支持。粘贴主播放列表链接,SVD 会为你列出所有画质版本。

SVD 能录制 HLS 直播吗?

可以。对于直播事件流,SVD 会实时录制,直到你停止或直播结束。

这和 yt-dlp 命令行有什么区别?

SVD 将 yt-dlp 和 ffmpeg 打包在原生图形界面中。自动更新提取器,经过代码签名——不会触发 Gatekeeper 警告。底层使用完全相同的成熟引擎。

立即下载 SVD

免费试用 7 天 · 无需信用卡 · 经过代码签名和公证 · 支持离线使用