video-download

دانلود ویدیو، صدا، زیرنویس و متادیتا از هزاران سایت با yt-dlp

این Skill با استفاده از yt-dlp ویدیو و صدا را از YouTube و بیش از هزار سایت دریافت می‌کند، زیرنویس می‌گیرد و بدون دانلود فایل، متادیتای ویدیو را استخراج می‌کند.

می‌توانید کیفیت و فرمت خروجی، زبان زیرنویس و مسیر ذخیره‌سازی را کنترل کنید. برای تولید محتوای ویدیویی، آرشیو منابع و آماده‌سازی فایل‌ها برای تدوین، سریع و کاربردی است.

چه چیزی می‌گیرید

  • دانلود ویدیو با بهترین کیفیت یا رزولوشن مشخص مانند 720p و 1080p
  • استخراج صدا و تبدیل آن به MP3
  • دریافت زیرنویس یک یا چند زبان، با امکان دانلود بدون ویدیو
  • استخراج متادیتا مانند عنوان، مدت، سازنده، فرمت‌ها و تعداد بازدید
  • ذخیره فایل‌ها در مسیر دلخواه با نام‌گذاری خودکار

برای چه کاری خوب است

  • تدوین‌گران و تولیدکنندگان محتوا که به منابع ویدیویی برای پروژه نیاز دارند
  • تیم‌های تحقیق و تولید ویدیو که باید متادیتا یا زیرنویس منابع را جمع‌آوری کنند
  • کاربرانی که می‌خواهند ویدیو یا صدای یک URL را با کیفیت و فرمت مشخص دریافت کنند

برای چه کاری نیست

  • دریافت محتوایی که اجازه دانلود یا استفاده از آن را ندارید
  • سایت‌هایی که توسط yt-dlp پشتیبانی نمی‌شوند یا نیازمند احراز هویت ویژه هستند
  • ویرایش، تدوین یا کامپوز ویدیو پس از دانلود

دربارهٔ این اسکیل

video-download

Download video and audio from URLs using yt-dlp directly. No wrapper scripts needed.

Prerequisites

  • yt-dlp: brew install yt-dlp or pip install yt-dlp
  • ffmpeg: brew install ffmpeg or apt install ffmpeg (required for merging video+audio streams)

Update yt-dlp periodically to keep up with site changes: yt-dlp -U or pip install -U yt-dlp.

Commands

Download best quality

yt-dlp "URL" -o "%(title)s.%(ext)s" --merge-output-format mp4

Download specific resolution

# 720p
yt-dlp "URL" -f "bestvideo[height<=720]+bestaudio/best[height<=720]" --merge-output-format mp4

# 1080p
yt-dlp "URL" -f "bestvideo[height<=1080]+bestaudio/best[height<=1080]" --merge-output-format mp4

Audio only

yt-dlp "URL" -x --audio-format mp3 --audio-quality 0

Download subtitles

# Download video with English subtitles
yt-dlp "URL" --write-subs --sub-langs en --merge-output-format mp4

# Download video with multiple subtitle languages
yt-dlp "URL" --write-subs --sub-langs "en,es,fr" --merge-output-format mp4

# Download only subtitles (no video)
yt-dlp "URL" --write-subs --sub-langs en --skip-download

Get metadata (no download)

yt-dlp "URL" --dump-json --no-download

List available formats

yt-dlp "URL" -F

Specify output directory

yt-dlp "URL" -o "./downloads/%(title)s.%(ext)s" --merge-output-format mp4

Quality Presets

QualityFormat flag
Best-f "bestvideo+bestaudio/best" (default)
1080p-f "bestvideo[height<=1080]+bestaudio/best[height<=1080]"
720p-f "bestvideo[height<=720]+bestaudio/best[height<=720]"
480p-f "bestvideo[height<=480]+bestaudio/best[height<=480]"
Worst-f "worstvideo+worstaudio/worst"

Output Template Variables

Common variables for -o templates:

VariableDescription
%(title)sVideo title
%(ext)sFile extension
%(id)sVideo ID
%(uploader)sChannel/uploader name
%(upload_date)sUpload date (YYYYMMDD)
%(duration)sDuration in seconds
%(resolution)sVideo resolution

Tips

  • Always use --merge-output-format mp4 to avoid ending up with .webm or .mkv files.
  • Use --no-download with --dump-json for metadata-only queries -- no files written to disk.
  • If a download fails with HTTP errors, update yt-dlp first (yt-dlp -U).
  • Use -f "bestvideo[height<=720]+bestaudio" to save bandwidth when full resolution is not needed.
  • yt-dlp automatically handles rate limiting and retries.
  • The --dump-json output includes title, duration, uploader, view_count, description, formats, subtitles, and much more.

Troubleshooting

  • "yt-dlp: command not found": Install it (pip install yt-dlp) and ensure your PATH includes pip's bin directory.
  • "ffmpeg: command not found": Install ffmpeg. Without it, downloads fail when video and audio are separate streams (common on YouTube for HD).
  • Downloads fail or return errors: Run yt-dlp -U to update. Sites change frequently and yt-dlp ships fixes regularly.

دانلود ZIP