Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
cat-xierluo avatar

Universal Media Downloader

  • 105 installs
  • 543 repo stars
  • Updated August 5, 2026
  • cat-xierluo/legal-skills

Downloads media from video and podcast links using yt-dlp, covering Douyin, Bilibili, YouTube, and other sites, with cookies.txt retry for restricted content.

About

A media downloader that uses yt-dlp to fetch video and podcast files from links across many sites. Developers use it to save videos from Douyin, Bilibili, YouTube, and podcast platforms, retrying restricted content with cookies.txt.

  • yt-dlp-based coverage of many video and podcast sites
  • cookies.txt retry for 403/login/region-restricted media

Universal Media Downloader by the numbers

  • 105 all-time installs (skills.sh)
  • Ranked #779 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/cat-xierluo/legal-skills --skill universal-media-downloader

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs105
repo stars543
Last updatedAugust 5, 2026
Repositorycat-xierluo/legal-skills

What it does

Downloads media from video and podcast links using yt-dlp, covering Douyin, Bilibili, YouTube, and other sites, with cookies.txt retry for restricted content.

Files

SKILL.mdMarkdownGitHub ↗

Universal Media Downloader(通用视频/播客下载)

适用范围

优先覆盖(通常可直接用)

  • 抖音视频douyin.comv.douyin.com 等视频链接
  • 抖音图文笔记:暂不支持自动下载(反爬限制),需手动截图
  • B站bilibili.comb23.tv
  • YouTubeyoutube.comyoutu.be
  • 以及其它 yt-dlp 支持的网站(数量很多)

播客平台

  • 小宇宙(单集/节目页):多数情况下可直接下载音频(yt-dlp 通常能用)
  • 其它播客平台:如果页面可解析出音频直链,通常也能下载
合规提示:仅用于下载你有权保存的内容(例如你自己上传/拥有版权/获得授权/平台允许离线的内容)。遇到 DRM/加密或平台限制时,不要尝试绕过。

快速开始

1)下载视频(默认)

  • 命令:
  • python scripts/download_media.py "<URL>"
  • 默认保存目录:
  • 技能目录下的 downloads/ 文件夹(自包含)
  • 可通过 --out-dir 参数自定义输出路径

2)只下载音频(适合播客 / 只想要 MP3)

  • 命令:
  • python scripts/download_media.py --audio-only --audio-format mp3 "<URL>"

3)遇到 403 / 需要登录 / 风控拦截:用 cookies 重试

  • 让用户提供浏览器导出的 Netscape 格式 cookies.txt
  • 然后重试:
  • python scripts/download_media.py --cookies "/path/to/cookies.txt" "<URL>"

4)需要代理(可选)

  • 例如:
  • --proxy "socks5://127.0.0.1:7890"

5)指定下载路径

  • 用户可通过自然语言指定保存位置,AI 应自动转换为 --out-dir 参数
  • 示例:
  • 用户说"下载到桌面" → --out-dir ~/Desktop
  • 用户说"保存到 Videos/bilibili" → --out-dir "~/Videos/bilibili"
  • 用户说"下载到这个文件夹"(指定某路径)→ 使用用户指定的绝对路径
  • 注意:确保目标目录存在,如不存在可自动创建

平台差异与限制(重要)

  • YouTube/B站/抖音
  • 常见失败原因:年龄限制、地区限制、频繁请求触发风控、需要登录
  • 处理方式:cookies、代理、或降低并发/等待后重试
  • YouTube 额外提示:若出现 Signature solving failed / JS challenge 警告,可按 yt-dlp 的 EJS 指引启用挑战求解组件(例如加 --remote-components ejs:github),或让用户提供 cookies
  • Spotify
  • Spotify 上的内容可能存在 DRM、账号权限/订阅限制,且“下载”可能违反平台条款。
  • 本 skill 不保证 Spotify 链接一定可下载。
  • 可行替代:
  • 使用官方离线功能(若平台提供)
  • 提供该播客的 RSS/音频直链(如果你拥有/可获得),再用本脚本下载

Bundled scripts

  • scripts/download_media.py
  • 基于 yt-dlp 的通用下载器
  • 输出:成功时最后一行 SAVED_FILEPATH=...
  • AI 使用指引:当用户指定保存路径时,自动使用 --out-dir 参数
  • 参数:
  • url(必填)
  • --audio-only / --audio-format
  • --subtitles(可选,自动下载字幕)
  • --sub-lang(可选,字幕语言,默认 all)
  • --cookies(可选)
  • --proxy(可选)
  • --out-dir(可选,自定义输出目录)

依赖

系统依赖

依赖安装方式
yt-dlppip install yt-dlp
ffmpeg(可选,用于字幕提取和音频转换)macOS: brew install ffmpeg<br>Linux: sudo apt-get install ffmpeg

Python 包

无需额外 Python 依赖,yt-dlp 已包含所需库。

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.