下载 M3U8

如何下载 M3U8 播放列表文件:分步指南

如果您曾尝试保存通过 M3U8 播放列表播放的视频,您一定体会过这种挫败感:没有明显的"下载"按钮,而您真正想要的文件不是一个整齐的视频——而是一个指向几十(或几百)个微小视频块的播放列表。

什么是 M3U8 播放列表文件?

M3U8 播放列表文件是一个纯文本索引。它不包含视频本身,而是按播放顺序列出构成流的媒体分片(通常是 .ts 或 .m4s 文件)。可以把它看作视频的目录,而不是视频这本书。

当人们说"下载 M3U8 文件"时,实际上有两种含义:

  • 保存 .m3u8 文本文件本身(简单,但单独看没有用)。
  • 保存播放列表描述的实际视频——这意味着抓取所有分片文件并合并为一个可播放的文件,如 MP4。

在哪里找到 M3U8 URL

在下载任何内容之前,您需要播放列表 URL。以下是从几乎任何网站抓取它的最快方法:

  1. 1打开正在播放视频的页面。
  2. 2按 F12(或右键点击 → 检查)打开开发者工具。
  3. 3进入网络(Network)标签页并重新加载页面。
  4. 4在筛选框中输入 m3u8。
  5. 5查找以 .m3u8 结尾的请求,右键点击它,选择复制 → 复制 URL。

Tip: 提示:如果您看到多个 .m3u8,分片最多的那个(通常是"媒体播放列表")通常就是您想要的。"主播放列表"列出质量变体并指向媒体播放列表。

下载 M3U8 文件如何工作

在底层,下载 M3U8 流是一个三步过程:

  1. 1读取播放列表以找到每个分片 URL。
  2. 2下载每个分片文件(.ts 或 .m4s 块)。
  3. 3将分片合并为一个连续的视频文件(通常是 MP4)。

Tip: 有些流是加密的(AES-128),需要密钥才能解码。另一些是签名或快速过期的,这就是下载可能此刻成功下一刻失败的原因。

如何下载 TS 分片

拿到播放列表 URL 后,下一步是拉取所有分片文件。您可以手动用脚本完成,也可以让工具代为处理。需要注意的关键点:

  • 分片通常按顺序命名(segment-001.ts、segment-002.ts …),这使得批量下载非常简单。
  • 某些服务器要求与原始页面相同的 cookies、Referer 或 User-Agent,否则会拒绝请求。
  • 如果某个分片缺失或返回错误,最终视频在该处可能会有瑕疵。

如何将 TS 分片合并为 MP4

单独的 TS 分片本身并不是方便的视频文件。要得到可观看和分享的内容,您需要将它们合并为单个 MP4。总体思路:

  • 按播放列表顺序拼接分片。
  • 将合并的流重新打包为 MP4 容器。
  • 保留原始编解码器,以免在合并过程中损失质量。

Tip: 好的合并工具会保留现有的 H.264/H.265 视频和 AAC 音频,简单地将它们封装为 MP4——无需重新编码,无损画质。

修复下载时的 CORS 错误

CORS(跨源资源共享)是您会遇到的最常见障碍。视频服务器告诉浏览器"只有这个网站可以加载我的文件",因此从不同源直接下载会被阻止。

  • 使用通过自身服务器或 Cloudflare Worker 代理请求的下载器。
  • 在请求中带上原始页面的 Referer 和 User-Agent 请求头。
  • 如果源严格阻止跨站访问,尝试不同的流或来源。

Tip: 这正是带有内置"加速"代理的工具存在的原因——它们在服务器端抓取分片(CORS 不适用),然后将合并后的文件交还给您。

方法 1:使用浏览器扩展

对于临时下载,最简单的方法是使用浏览器扩展来检测您正在观看页面上的 M3U8 流。

  • 安装一个能捕获 HLS/M3U8 流的扩展。
  • 打开视频页面,让扩展检测播放列表。
  • 点击下载并选择输出格式(通常是 MP4)。

Tip: 扩展很方便但有局限:它们依赖页面允许请求,且可能无法处理加密或受保护的流。

方法 2:手动下载(FFmpeg / curl)

如果您熟悉终端,命令行工具能给您最大的控制权。FFmpeg 可以直接读取 M3U8 播放列表并输出合并后的文件:

ffmpeg -i "https://example.com/path/playlist.m3u8" -c copy output.mp4

Tip: 将 URL 替换为您的播放列表。如果源需要 Referer 或 User-Agent,请用 -headers 添加请求头。如果只想抓取分片,curl 可以循环抓取每个 .ts 文件。

方法 3:使用在线 M3U8 下载器

最友好的选择是使用在线 M3U8 下载器,它为您完成抓取、合并和转换——就在浏览器中,无需安装。

  • 将 M3U8 URL 粘贴到下载器中。
  • 可选启用代理以绕过 CORS 和防盗链保护。
  • 选择 MP4 作为输出格式并开始下载。
  • 将合并后的视频保存到您的设备。

Tip: 我们的免费 M3U8 下载器就是这样工作的:粘贴 URL,必要时打开加速开关,然后将结果下载为 MP4。

安全下载的最佳实践

一些习惯能让您的下载既可靠又得体:

  • 仅下载您拥有或有权限保存的内容。
  • 保留原始编解码器(复制模式)以避免质量损失。
  • 当源阻止跨站请求时,使用代理或正确的请求头。
  • 尽快行动——许多签名或临时 URL 会在几分钟内过期。
  • 删除源分片前,先确认合并后的文件可以正常播放。

常见的 M3U8 下载问题

当下载失败时,几乎总是以下原因之一:

  • CORS 被阻止——使用代理或正确的 Referer/User-Agent。
  • URL 过期或已签名——获取新的播放列表 URL。
  • 分片加密——您需要解密密钥。
  • 需要认证——提供 cookies 或令牌。
  • 分片缺失——源移除了某些块;尝试另一个流。

常见问题

什么是 M3U8 播放列表文件?
M3U8 播放列表文件是一个纯文本索引,按播放顺序列出构成流的媒体分片(通常是 .ts 或 .m4s 文件)。
在哪里找到 M3U8 URL?
打开播放视频的页面,按 F12,进入网络(Network)标签页,筛选 m3u8,复制以 .m3u8 结尾的请求 URL。
可以直接下载 M3U8 文件吗?
您可以下载 .m3u8 文本文件本身,但要保存实际视频,需要抓取并合并所列出的 TS 分片为 MP4 等文件。
为什么 M3U8 文件无法下载?
通常是由于 CORS 限制、过期或签名 URL、认证要求、加密分片或不受支持的来源。
如何将 M3U8 TS 分片转换为 MP4?
下载分片后,将它们合并为单个 MP4 文件。在线工具和转换器可在浏览器中将 TS 块合并为 MP4。
下载 M3U8 流合法吗?
仅下载您拥有或有权限保存的内容。尊重版权和来源网站的使用条款。