Also available in 中文 English

如果只是处理一个 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 支持 Docker、HTTP API 和 M3U8 下载功能

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 做得更宽一些。

已经知道 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 会检测页面加载过程中出现的媒体资源,找到需要的内容后直接创建任务。

浏览器扩展又多了一种入口。安装后,可以把浏览器检测到的媒体资源直接发送给已经运行的 MediaGo,对不想频繁复制链接的人会方便很多。

这里有一点需要分清:

工具能识别资源,不代表内容提供方允许下载。

如果平台明确禁止保存某类内容,或者媒体受到 DRM、访问权限等保护,就不应该把 MediaGo 当作绕过限制的工具。

Windows、macOS 和 Linux 怎么安装

MediaGo 支持 Windows、macOS 和 Linux。Windows 有安装版和便携版,macOS 同时提供 Apple Silicon 和 Intel 版本,Linux 目前主要提供 DEB 安装包。

MediaGo 主界面与下载任务管理页面

安装包建议直接从 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 在宝塔面板中的 Docker 安装界面

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 接入自动化脚本和 AI Agent 的工作流程

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。

MediaGo 官网与 GitHub

本文由(ahhhhfs.com)根据项目官网、官方文档及公开资料整理。工具的功能、价格、授权与服务条款可能调整,请以官方最新说明为准。合理引用请注明来源并保留本文链接;如需全文转载,或发现内容错误、版权及授权问题,可通过 feedback#abskoop.com「联系我们」反馈(请将 # 替换为 @)。