
选择标题(3 选 1)
收藏夹堆了 5 个下载站?OmniMedia 一个面板搞定 39 平台
OmniMedia 上手 10 分钟:把 39 平台视频解析塞进自托管面板
没装第三方工具,我却拥有了一个支持 39 平台的视频解析后台
别再为下载视频装一堆工具了,OmniMedia 一个就够
做内容运营的朋友一定经历过这种场景:刷到一条爆款 TikTok 想保存备用,复制链接、打开第三方解析站、粘贴、等转码、下载;紧接着又看到一条 YouTube 短片,再换一套流程走一遍;再遇到 Bilibili 视频,又得找新的工具。电脑里堆着五六个下载器,每个只支持两三个平台,遇到私有链接、登录限制、IP 限流时还时不时报错。
OmniMedia 把这件事彻底收拢——一个自托管的 Flask Web 应用,粘贴链接就能解析、预览、下载,跨 39 个平台用同一套界面搞定。

一、项目简介:它到底是什么?
OmniMedia 是一个基于 Python + yt-dlp 的自托管媒体解析下载服务,定位是「一站式公开媒体解析工作台」。它通过统一的 API 把分散在各平台的解析逻辑聚合起来,前端用 Next.js 16 提供了干净的中英双语 Web 界面,支持桌面与移动端切换深浅主题。
核心关键词四个:自托管、39 平台、统一接口、解析 + 下载闭环。当前 GitHub Stars 7 个,定位偏向个人工具与小型团队生产环境。
二、核心功能深度解析
1. 链接 / 分享文本双模式解析
OmniMedia 不仅接受标准 URL,还能直接粘贴从抖音、TikTok 复制出来的完整分享文本(含短链 + 描述文案)。后端用正则提取真实链接,丢掉脏数据,返回标准化后的元数据:标题、作者、时长、封面、可选画质列表。这种「垃圾进、干净出」的设计,省掉了手动裁剪链接的麻烦。
2. 批量处理与顺序保留
工作台支持一次性粘贴最多 40 条链接(API 接口单次 10 条),后端分批处理且严格按入参顺序返回结果。对于需要按时间线整理素材的剪辑工作流,这个顺序保证避免了二次排序。
3. 创作者主页模式
切到 Creator profile 模式后,粘贴一个公开主页 URL,就能拿到作者头像、简介、认证状态、粉丝数据,以及最多 12 条公开帖子的分页网格。私密 / 仅登录可见的主页会被明确拒绝,不会静默返回空数据。
4. 浏览器扩展与代理下载
官方提供 Chrome / Edge Manifest V3 扩展,可以从工具栏解析当前标签页或粘贴的链接,并把下载任务交给 OmniMedia 服务端处理。下载走的是服务端中转,避免了直链过期或地区限制的问题。

三、技术亮点与性能数据
- 平台覆盖:39 个公开站点,包括 TikTok、Douyin、Instagram、YouTube、Bilibili、Telegram、Twitter/X、Reddit、VK、Niconico 等;
- 技术栈:Python 3.10+ 后端、Next.js 16 前端、yt-dlp 作为底层解析器、SQLite 存订单(可选 Clerk 鉴权 + PayPal 数字商品结算);
- 部署方式:一条
docker build+docker run -p 7860:7860即可启动完整 Web 应用; - 安全边界:默认禁用浏览器 Cookie 转发,需要登录态内容时必须显式开启
YTDLP_COOKIES_FROM_BROWSER或挂载 Netscape 格式 cookies 文件; - 代理支持:
YTDLP_PROXY环境变量同时作用于 yt-dlp 解析、下载以及封面图直连请求,缓解 Instagram 这类平台的 IP 限流; - 可选增强:
pip install -r requirements-optional.txt后启用 gallery-dl 公开相册解析,未安装时端点返回 503,不影响主流程。
四、适用场景与人群
- 内容运营 / 剪辑:需要批量从多平台抓素材,关心画质与可商用性的人;
- 独立开发者:想给自己或客户搭一个私有解析面板、不愿意用第三方广告满天飞的站点;
- 研究与归档:把公开视频纳入本地知识库、做合规取证或学术研究;
- 不适合:希望绕过付费墙、登录墙、地理封锁或 DRM 的用户——OmniMedia 明确不提供这些能力,且官方反复强调只下载自己拥有或被授权的内容。
五、竞品对比
| 维度 | OmniMedia | Cobalt (在线版) | yt-dlp CLI | 各平台独立下载站 |
|---|---|---|---|---|
| 自托管 | ✅ Flask + Docker | 需自己 fork | 纯命令行 | ❌ 第三方托管 |
| 平台数量 | 39 | 10+ | 1000+ | 1~3 |
| Web 界面 | ✅ 双语 + 深浅主题 | ✅ | ❌ | ✅ 但风格不一 |
| 创作者主页 | ✅ 分页 12 条 | ❌ | 需手动脚本 | ❌ |
| 鉴权 / 支付 | Clerk + PayPal(可选) | ❌ | ❌ | ❌ |
| 浏览器扩展 | ✅ Manifest V3 | 部分 | ❌ | ❌ |
OmniMedia 的优势在于「Web 体验 + 创作者主页 + 可选商业化」的组合拳,而纯 yt-dlp 用户需要自己写前端,零散下载站又无法保证隐私和稳定性。

六、如何快速上手
Docker 是最省事的路径:
git clone https://github.com/xubaoer19940428-creator/omni-media.git
cd omni-media
docker build -t omnimedia .
docker run --rm -p 7860:7860 omnimedia
浏览器打开 http://localhost:7860,在工作台粘贴任意一条公开链接即可看到标准化结果。想试 API 可以直接 curl:
curl -X POST http://localhost:7860/api/parse \
-H "Content-Type: application/json" \
-d '{"url":"https://www.youtube.com/watch?v=xxxxxxxxxxx"}'
如果部署到 Railway 这类不提供文件挂载的平台,把 cookies.txt base64 后存进名为 YTDLP_COOKIE_DATA_B64 的 Secret 变量;本地开发则可以直接走 YTDLP_COOKIES_FROM_BROWSER=auto 让 yt-dlp 读取 Chrome 会话。
进阶建议:生产环境务必挂载 Railway Volume 到 /data 用于 SQLite 订单持久化;启用 PayPal 结算前先阅读 docs/paypal-review.md 准备审核所需的变量。
七、总结与行动建议
OmniMedia 把多平台解析、预览、下载、主页浏览、可选鉴权支付整合到了一个可以本地跑的 Flask 应用里,给「想要 Web 体验又不想把数据交给第三方」的人提供了一个干净答案。核心价值一句话:自托管、统一接口、39 平台全包。
使用前请务必确认两件事:只下载自己有权限的内容;登录态相关功能只在受信任的私有部署上开启。
项目地址:https://github.com/xubaoer19940428-creator/omni-media 在线演示:https://useomnimedia.com
一句话安利:与其在浏览器收藏夹里攒一堆半残的下载站,不如花十分钟把 OmniMedia 跑起来,从此「贴链接 → 下载」只用一个面板。

#omni-media #OmniMedia #xubaoer19940428-creator #AI视频剪辑 #脚本化视频 #口播视频 #开源项目 #GitHub