Mac 怎么下载网页视频?m3u8 下载并合并成 MP4 的 3 种方法
.m3u8 只是个播放列表,真正的视频是成百上千个小分片——所以浏览器里没法"另存为"。要在 Mac 上把它存成完整 MP4,需要工具把全部分片下载、解密并合并:最省事的是专用 App Vidnip(粘贴页面链接,自动嗅探+合并);免费的命令行方案是 yt-dlp 和 ffmpeg。三种方法下面都讲,包括怎么找 m3u8 地址、403 报错怎么解决。
m3u8 / HLS 到底是什么?
HLS(HTTP Live Streaming)是如今绝大多数网站的视频分发方式。服务器不给你一个完整文件,而是给一个 .m3u8 播放列表,里面列着几百个 .ts 或 .m4s 小分片,通常还分多个清晰度、视频和音频分开。这就是右键"另存为"救不了你的原因——浏览器从头到尾没见过"一个视频文件"。下载 HLS 的完整流程是:取播放列表 → 下载全部分片 → 解密(很多站用 AES-128 加密)→ 合并成一个能播的 MP4。
方法一:Vidnip——粘贴链接直接出 MP4(最简单)
Vidnip 是专门干这件事的 macOS 原生应用。你不需要自己找 m3u8 地址——它用内置引擎加载页面并把流量嗅探出来,JS 动态加载的播放器、iframe 里的视频都能抓到。
- 复制视频所在网页的地址。
- 粘贴进 Vidnip,几秒内检测到的视频就会列出来。
- 点下载。分片下载、AES 解密、合并 MP4、命名,全部自动完成。
那些烦人的坑它也替你填了:Referer/Cookie 防盗链(自动带上浏览会话)、断点续传、整季播放列表批量下载、需要登录的站(在内置预览窗里登录即可)。免费试用 7 天,之后一次买断 ¥25。
方法二:yt-dlp(免费,命令行)
yt-dlp 是开源下载器的标杆。用 Homebrew 安装后,直接喂页面地址或 m3u8 地址都行:
brew install yt-dlp ffmpeg
# 最简单:直接给页面地址(受支持的站点自动解析)
yt-dlp "https://example.com/watch/episode-1"
# 或者直接给 m3u8 地址
yt-dlp "https://cdn.example.com/video/master.m3u8"
被 CDN 拒绝时,把页面地址作为 Referer 带上:
yt-dlp --add-headers "Referer: https://example.com/" "https://cdn.example.com/video/master.m3u8"
注意:yt-dlp 合并 HLS 分片需要 ffmpeg,两个一起装(如上)。
方法三:ffmpeg(免费,命令行)
如果你已经拿到 m3u8 地址,ffmpeg 一条命令就能边下边合并,不重编码、无画质损失:
ffmpeg -i "https://cdn.example.com/video/master.m3u8" -c copy output.mp4
# CDN 校验 Referer 时:
ffmpeg -headers "Referer: https://example.com/" -i "https://cdn.example.com/video/master.m3u8" -c copy output.mp4
那 m3u8 地址从哪来?用浏览器开发者工具抓:
- Chrome 或 Safari 打开视频页,按
F12(或 ⌥⌘I)打开开发者工具 → 网络(Network)。 - 过滤框输入
m3u8,然后点视频播放。 - 复制出现的播放列表请求地址(有多个时优先
master.m3u8)。
--concurrent-fragments;Vidnip 默认就是多线程并行)。影视站 CDN 普遍限制单连接速度,并行与否差距很大。三种方法怎么选?
| Vidnip | yt-dlp | ffmpeg | |
|---|---|---|---|
| 自动找到视频流 | 是——自动嗅探 | 受支持站点可以 | 否,要自己找地址 |
| 音视频合并 | 自动 | 自动(需装 ffmpeg) | 手动命令 |
| Referer / Cookie / 登录 | 自动(内置浏览器) | 手动加参数 | 手动加参数 |
| 断点续传 | 支持 | 支持 | 不支持 |
| 界面 | macOS 原生图形界面 | 终端 | 终端 |
| 价格 | 免费试用,之后 ¥25 买断 | 免费 | 免费 |
熟悉终端、偶尔下一次,yt-dlp 完全够用;想要每次都"粘贴就出片"——包括风控严的 CDN、要登录的站、整季批量下——那就是 Vidnip 的活。
常见问题排错
怎么找到视频的 m3u8 地址?
开发者工具 → 网络 → 过滤 "m3u8" → 点播放 → 复制播放列表地址,优先 master.m3u8。Vidnip 会自动嗅探,连 JS 在 iframe 里启动的流也能抓到。
403 Forbidden / 下载一半断掉
CDN 在校验 Referer(常见还有 Cookie)。按上文命令把页面地址作为 Referer 传入,或用能自动携带浏览会话的工具。如果链接里带过期 token,重新抓一个新地址尽快开下。
下下来只有声音没画面(或反过来)
现代 HLS 视频轨和音频轨分开分发。要从 master 播放列表下载让两轨都选中,再用 ffmpeg -c copy 合并。yt-dlp 和 Vidnip 自动处理。
能下 Netflix 这类 DRM 加密视频吗?
不能。Widevine/FairPlay 等 DRM 保护的内容无法用这些方法正当下载,破解 DRM 在多数国家和地区违法。Vidnip 检测到 DRM 会如实提示,不会假装能下。
下载网页视频合法吗?
取决于内容与所在地法律。只下载你有权保存的内容——自己的视频、开放授权素材、或站点条款允许个人离线观看的内容,并且不要二次传播。
不想碰终端?免费试试 Vidnip
粘贴链接,直接出 MP4。自动嗅探、HLS 合并、断点续传、批量下载,全都内置。
macOS 14+ · Apple Silicon · 已公证 · 中文 / English / 日本語
试用后一次买断 ¥25 · 不是订阅