{"repo":"wcfbxw/mediafetch","free":true,"listed":false,"github":"https://github.com/wcfbxw/mediafetch","clone":"git clone https://github.com/wcfbxw/mediafetch.git","description":"自托管的安全视频解析与授权媒体下载工具，基于 Next.js、FastAPI、yt-dlp、FFmpeg、Redis 和 RQ。Self-hosted secure video inspector and authorized media downloader.","language":"Python","stars":30,"topics":["fastapi","ffmpeg","nextjs","redis","self-hosted","video-downloader","yt-dlp"],"license":"MIT","category":"self-hosted-apps","readme_excerpt":"MediaFetch MediaFetch 是一个可自行部署的响应式视频解析与下载网站。它通过 yt-dlp Python API 读取公开视频元数据，通过 Redis + RQ 可靠排队，在需要时使用 FFmpeg 无损合并音视频， 并通过 SSE 实时显示任务进度。最终文件必须先经过短期签名令牌授权，再由 Nginx 内部传输。 本项目只用于下载您自己拥有、已获得权利人授权，或平台条款明确允许下载的内容。 普通用户不能上传 Cookie 或任意请求头。运维管理员可以在隐藏管理页通过哔哩哔哩官方 二维码登录流程建立服务器平台会话；这不会绕过账号权限、付费墙或 DRM。 在线演示：https://mnzo.de 本项目采用 MIT License 开源。公开演示站可能根据服务器资源、平台限制和维护安排调整可用性。 功能 - 解析标题、封面、作者、平台、时长和全部可用格式 - 支持直接粘贴平台整段分享文案，自动提取其中的 HTTP/HTTPS 链接 - 默认展示 360P、480P、720P、1080P、1440P、2160P 和仅音频的推荐格式 - “高级格式”保留同一清晰度的其他编码、帧率和容器 - 视频/音频轨分别下载并用 FFmpeg 无损封装 - 自动选择 MP4、WebM 或 MKV，避免编码与容器不兼容 - 可选 H.264 + AAC 兼容转码 - 原始音频、M4A 和 MP3 输出 - RQ 任务队列、每 IP 并发限制、全局 worker 限制 - SSE 进度和 15 秒心跳 - 签名下载令牌、Nginx X-Accel-Redirect 、Range 支持 - 下载、失败分片、取消任务和孤立文件自动清理 - IPv4/IPv6、DNS 答案和重定向逐级 SSRF 检查 - 移动端优先、iPhone Safari 可用、系统深色模式 重点支持平台 MediaFetch 对以下 7 个平台只使用平台官方页面、官方接口或 yt-dlp 的平台专用提取器， 不把用户链接发送给第三方解析站： - 抖音：优先解析官方分享页 ROUTER DATA 和官方播放端点 - 快手：解析官方公开页面的 INIT STATE 媒体列表 - 小红书：使用专用提取器读取官方媒体列表，并优先保留 originVideoKey 对应的原始流 - 哔哩哔哩：使用专用提取器及官方 DASH/播放接口，支持受控扫码会话 - 微博：使用专用提取器读取官方 playback list - 西瓜视频：使用专用提取器读取官方 SSR 数据中的 videoResource - YouTube：使用专用提取器、Deno 和 EJS 处理官方播放器格式 “原始流”指平台在当前请求中实际提供的最高优先级媒体，并不绕过登录权限、付费墙、DRM、 地区限制或平台添加的来源标识。平台未提供的文件版本，服务不会通过修改 URL 或第三方接口伪造。 功能截图 截图预留位置：部署后可将首页、格式选择和任务完成页面截图放入 docs/screenshots/ ，并在这里添加图片链接。 快速开始（Docker，推荐） 前置条件： - Ubuntu 22.04/24.04 或其他支持 Docker Compose v2 的 Linux - 至少 2 核 CPU、2 GB 内存和足够的下载磁盘空间 - 对外部署时准备域名和 HTTPS 证书 公开部署前，至少修改 .env 中的 TOKEN SECRET 、 ADMIN TOKEN 、 ALLOWED ORIGINS 和 PUBLIC BASE U","default_branch":null,"files":null,"tree":[],"storefront":"/r/wcfbxw","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/wcfbxw/mediafetch/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}