Also available in
如果只是处理一个 M3U8 地址,能用的工具其实不少。MediaGo 比较特别的是它把 M3U8/HLS、网页资源提取、yt-dlp 等下载能力放进了一套统一界面里,又补上了 Docker、Web UI 和 HTTP API。
MediaGo 是一款跨平台开源 M3U8 下载器,支持 Windows、macOS、Linux 和 Docker。项目还整合了 yt-dlp、N_m3u8DL-RE、BBDown、aria2 等工具,所以它更像是一套带图形界面和任务管理的下载前端,而不是重新做了一套下载协议。项目源码、Issue 和更新记录可以在 MediaGo GitHub 仓库 查看。
MediaGo 主要用于处理 M3U8/HLS 等流媒体资源。实际使用时,建议只处理自己拥有、已经获得授权或明确允许下载的内容。
| 项目 | 说明 |
|---|---|
| 定位 | 跨平台 M3U8 / HLS 视频下载工具 |
| 支持平台 | Windows、macOS、Linux |
| 核心功能 | M3U8 / HLS 下载、网页资源提取、格式转换 |
| 浏览器扩展 | 支持 Chrome、Edge,可将检测到的资源发送到 MediaGo |
| 自托管 | 支持 Docker,提供 amd64 / arm64 镜像和 Web 界面 |
| 自动化 | 提供 HTTP API,并支持 OpenClaw Skill |
| 当前稳定版 | v3.5.0 |
| 开源许可 | MIT License,README 另有非商业用途说明 |
MediaGo 和普通 M3U8 下载器有什么区别
普通 M3U8 下载工具通常很直接:输入一个 .m3u8 地址,把 HLS 分片下载下来并合并。
MediaGo 做得更宽一些。
已经知道 M3U8/HLS 地址时,可以直接创建任务;不知道真实媒体地址,也可以用内置的资源提取功能,让 MediaGo 检测网页加载出来的媒体资源。
Chrome / Edge 浏览器扩展则省掉了手动找地址这一步。检测到媒体资源后,可以直接把任务发送到 MediaGo,不用自己去开发者工具里翻网络请求。
项目还接入了 yt-dlp,所以处理范围并不限于 HLS,也可以利用 yt-dlp 的站点解析能力。
真正把 MediaGo 和普通桌面下载器拉开差距的,还是 Docker、Web UI 和 HTTP API。它既可以装在电脑上直接用,也可以放在 NAS、小主机或者服务器里长期运行。
MediaGo 怎么处理 M3U8 / HLS
已经有 M3U8 地址时,最简单的方式就是在 MediaGo 里新建任务并填入地址。
不知道真实地址时,可以进入资源提取页面,再打开对应网页。MediaGo 会检测页面加载过程中出现的媒体资源,找到需要的内容后直接创建任务。
浏览器扩展又多了一种入口。安装后,可以把浏览器检测到的媒体资源直接发送给已经运行的 MediaGo,对不想频繁复制链接的人会方便很多。
这里有一点需要分清:
工具能识别资源,不代表内容提供方允许下载。
如果平台明确禁止保存某类内容,或者媒体受到 DRM、访问权限等保护,就不应该把 MediaGo 当作绕过限制的工具。
Windows、macOS 和 Linux 怎么安装
MediaGo 支持 Windows、macOS 和 Linux。Windows 有安装版和便携版,macOS 同时提供 Apple Silicon 和 Intel 版本,Linux 目前主要提供 DEB 安装包。
安装包建议直接从 MediaGo GitHub Releases 获取,Windows、macOS 和 Linux 版本都可以在这里找到。
Windows 基本下载安装就能用,不过当前发布包可能仍会触发系统安全提醒,建议直接从项目官方 Release 页面获取。
macOS 会稍微麻烦一点。Apple Silicon 用户如果安装后提示应用无法打开,可以在终端执行:
sudo xattr -dr com.apple.quarantine /Applications/mediago-community.app
这一步主要是移除 macOS 给应用加上的 quarantine 标记。Intel Mac 使用对应的 x64 版本,遇到系统拦截时也可以到“隐私与安全性”里手动放行。
如果还在用比较老的 Windows 设备要留意,MediaGo 已经不再支持 Windows 7,32 位系统目前也不是主要支持范围。
MediaGo Docker 部署:放到 NAS 或服务器上更方便
如果家里有 NAS、小主机或者常开的服务器,MediaGo 用 Docker 跑会比装在主力电脑上更方便。下载任务可以一直放在服务器里处理,手机、平板和电脑也能通过 Web 界面访问。
MediaGo 提供 amd64 和 arm64 镜像,普通 x86 小主机和不少 ARM 设备都能用。最简单的部署方式是:
docker run -d \
--name mediago \
-p 8899:8899 \
-v /path/to/mediago:/app/mediago \
caorushizi/mediago:3.5.0
把 /path/to/mediago 换成自己的数据目录即可。如果更习惯 GHCR,也可以使用 ghcr.io/caorushizi/mediago:3.5.0。
第一次打开时,部分版本会要求输入初始化 Token,可以通过下面的命令查看:
docker exec mediago cat /app/mediago/data/setup-token
完成初始化后,后面正常登录使用就行。
MediaGo Docker 为什么同时出现 8899 和 9900?
MediaGo 的 Docker 示例主要使用 8899,但 HTTP API 文档里还能看到 9900 的示例。
如果只是部署 Web 界面,按上面的 8899:8899 配置即可。后面要接 HTTP API 时,再看实际容器端口映射和 MediaGo 当前设置,不要把文档里的 9900 当成所有环境的固定端口。
MediaGo 还能接进自动化和 AI 工作流
MediaGo 不只是一个需要手动点按钮的下载器。它提供了 HTTP API,所以部署在 NAS 或服务器上之后,其他脚本和应用也可以直接给它提交任务、查看进度。
比如把一个媒体地址交给 MediaGo,任务完成后再由后面的脚本自动整理、移动或者归档文件。对已经在折腾 NAS 和自动化的人来说,这比每次打开网页手动操作方便不少。
MediaGo 还提供了 OpenClaw Skill,可以让 Claude Code、Cursor 等 AI 编程工具调用它:
npx clawhub@latest install mediago
配置好 MediaGo 地址和需要的 API Key 后,就可以让 Agent 把任务交给 MediaGo 处理。
这里比较有意思的不是“AI 帮你下载视频”,而是 MediaGo 已经把下载能力开放成了一个可以被脚本和 Agent 调用的服务。后面想接自己的自动化流程,不用再围着 GUI 做操作。
如果想接 Claude Code、Cursor 等 Agent 工作流,可以查看 MediaGo OpenClaw Skill 文档。
MediaGo 和 yt-dlp、N_m3u8DL-RE 有什么区别
MediaGo 并不是要替代 yt-dlp 或 N_m3u8DL-RE,它更像是把这些工具的能力装进一个更容易操作的界面里。
yt-dlp 更适合熟悉命令行的人,参数多、可控性强,拿来写脚本也很方便。N_m3u8DL-RE 则更偏 HLS、DASH、MSS 这类流媒体处理,想细调轨道、分片和下载参数时更合适。
MediaGo 走的是另一条路线:少记命令,把资源提取、任务管理、Web 界面、Docker 和 API 放到一起。
| 工具 | 主要特点 | 更适合 |
|---|---|---|
| MediaGo | GUI、资源提取、Docker、Web、API | 想少折腾命令,或者有 NAS / 自托管需求的人 |
| yt-dlp | 站点支持广、参数丰富、脚本化能力强 | 命令行用户、开发者、自动化脚本 |
| N_m3u8DL-RE | 更专注 HLS、DASH、MSS 等流媒体 | 需要精细控制流媒体下载参数的人 |
如果本来就很熟悉 yt-dlp 或 N_m3u8DL-RE,继续用命令行往往更直接;如果更在意图形界面、跨设备访问,或者想把下载服务放到 NAS 上长期运行,MediaGo 会省事很多。
MediaGo 安装和 Docker 使用时会遇到什么问题
macOS 安装还要多一步
Apple Silicon 版本目前还需要处理 quarantine 属性,Intel Mac 也可能遇到系统安全拦截。相比下载安装后直接双击就能用的软件,MediaGo 在 macOS 上还是多了一点折腾。
Windows 可能会弹安全提示
目前的 Windows Release 还存在未签名的情况,所以第一次运行时可能碰到 SmartScreen 等系统提醒。遇到这种情况,先确认安装包来自官方 Release。
直播资源有时得自己挑
MediaGo 可以处理直播流,但碰到一个页面同时加载多个媒体资源时,目前还不能保证自动判断哪个才是直播源,部分场景需要自己看一下检测结果。
Docker 版别直接暴露到公网
MediaGo 的 Web 界面很适合放在 NAS 或服务器上给家里的设备一起用,但局域网能访问,不等于适合直接开放到公网。
真有远程访问需求,可以配合 Tailscale、VPN、反向代理、HTTPS 或访问控制来做,不建议直接把端口暴露出去。
常见问题
MediaGo 免费吗?
MediaGo 的 GitHub 仓库公开,目前可以直接获取 Windows、macOS、Linux 和 Docker 版本。
MediaGo 可以商用吗?
MediaGo 的 LICENSE 是标准 MIT License,单看许可证文本,代码本身允许商业使用。
但项目 README 又明确写了“仅用于教育和研究,不要用于商业用途”。这和 MIT License 的授权范围存在直接冲突,而且项目目前没有在文档里进一步解释两者该如何理解。
因此更准确的说法是:MediaGo 不能简单归类为“明确允许商用”的项目。
如果只是个人使用、学习和测试没有太大争议;涉及商业产品、收费服务、企业集成或二次分发时,这个许可冲突就需要单独考虑。
另外,MediaGo 的软件许可和通过它下载的内容版权是两件事,前者即使允许使用,也不会自动获得后者的传播或商业使用权。
MediaGo 支持 Apple Silicon 吗?
支持。MediaGo 提供 macOS arm64 版本,也有单独的 Intel x64 版本。Apple Silicon 当前安装后可能还需要处理应用的 quarantine 属性。
MediaGo 能部署到 NAS 或 ARM 服务器吗?
可以。MediaGo 的 Docker 镜像支持 amd64 和 arm64,所以不少 NAS、x86 小主机和 ARM 服务器都能运行。
具体能不能直接部署,主要看设备本身是否提供兼容的 Docker 环境。
MediaGo v3.6.0 Beta 可以直接替代 v3.5.0 吗?
目前 v3.6.0-beta.1 仍然属于测试版本,v3.5.0 才是稳定版。
日常使用更看重稳定性的话,继续用 v3.5.0 更合适;想体验新版本功能,再考虑 v3.6.0 Beta。







评论(0)