yt-dlp Python-Downloader

Unified yt-dlp downloader - generates cross-platform Python scripts for video, audio, subtitles

Ini adalah versi dari skrip ini yang kodenya telah diperbarui. Tampilkan semua versi.

  • v9.29 26 Januari 2026

    * **v9.29**
    * Added: Ko-Fi support button in context menu
    * **v9.28**
    * Fixed: Vimeo now works reliably by using player URL + referer bypass
    * **v9.27**
    * Improved: Output naming now uses yt-dlp metadata (title + id) for better filenames (Instagram, etc.)
    * Keeps current page-title fallback if metadata lookup fails
    * **v9.26**
    * Fixed: Dailymotion now works (requires --impersonate to bypass Cloudflare)
    * Added IMPERSONATE_SITES config for sites needing browser impersonation
    * **v9.25**
    * Fixed: Audio codec filter quotes no longer break Python syntax
    * Uses escaped quotes in generated format strings
    * **v9.24**
    * Added: More video quality options (4K, 1440p, 240p, 144p)
    * Added: Medium audio quality option
    * Added: Audio codec preference (AAC for H.264, Opus for VP9/AV1)
    * Improved codec matching for better compatibility
    * **v9.23**
    * Added: "Formats" button to list all available formats for current video
    * Shows yt-dlp --list-formats output in terminal
    * **v9.22**
    * Fixed: Format string now includes /best fallback for combined-stream sites
    * TikTok, Twitter etc. no longer fail with "format not available"
    * **v9.21**
    * Fixed: Combined-stream detection now works in merge+separate mode (CASE 4)
    * Splits combined stream before merge phase, so merge gets proper inputs
    * **v9.20**
    * Fixed: Combined-stream sites now strip audio from video when both are separate
    * Detection: if we requested 2 formats but got 1 file, it's a combined stream
    * Uses ffmpeg remux (no re-encoding) to strip audio track from video
    * Sites with separate streams (YouTube) are unaffected
    * **v9.19**
    * Fixed: Video+Audio separate mode now extracts audio when site has combined streams
    * TikTok, Twitter, etc. now correctly produce both video and audio files
    * Uses ffmpeg stream copy (no re-encoding) when extracting audio from video
    * **v9.18**
    * Fixed: Audio-only mode now uses --extract-audio for sites without separate streams
    * Uses yt-dlp's native post-processor (ffmpeg) - no re-encoding, stream copy
    * Works reliably on TikTok, Twitter, and other video-only sites
    * **v9.17**
    * Fixed: Right-click menu now works on TikTok and other sites with aggressive event handling
    * Fixed: Uses window-level capture to bypass shadow DOM event routing issues
    * **v9.16**
    * Fixed: Subtitle check now handles empty output (not just "has no subtitles" message)
    * **v9.15**
    * Fixed: Single-component merge no longer creates duplicate when Separate also selected
    * Fixed: Both mkvmerge and FFmpeg paths check for duplicate output in Phase 4
    * **v9.14**
    * Fixed: FFmpeg fallback now merges already-downloaded temp files (no double download)
    * Fixed: Added ffmpeg availability check when mkvmerge not found
    * **v9.13**
    * Fixed: wait_for_exit() now accepts optional error parameter (was causing crashes)

  • v9.12 22 Januari 2026

    v9.12

    • Fixed: Audio-only .mp4 files (Twitter/X HLS) now correctly identified
    • Fixed: Uses format_id hint ("audio" in filename) for stream detection
    • Fixed: ffprobe now used for .mp4 files too (not just .webm)

    v9.11

    • Changed: Thumbnails mode keeps original format (webp/jpg) instead of converting to PNG
    • Changed: Cleaner thumbnail output messaging

    v9.10

    • Fixed: Thumbnails mode now downloads only the best thumbnail (not all 42 variants)

    v9.9

    • Added: Thumbnails Only mode – downloads all video thumbnails as PNG
  • v9.8 20 Januari 2026

    // v9.8 // - Cleanup: Removed unused run_command() from generated Python scripts // - Cleanup: Removed unused GM_setClipboard grant // - Cleanup: Removed empty mouseleave handler // - Cleanup: Removed unused active opacity/scale config // - Cleanup: Simplified wait_for_exit() (removed unused error parameter) // - Cleanup: Updated Python header version string // // v9.7 // - Fixed: Codec label no longer displays on non-YouTube sites (display-only bug) // - Fixed: Tooltip now shows codec preference on YouTube for consistency // - Fixed: Comments mode only uses YouTube extractor args on YouTube // - Cleanup: Removed unused needsMerge from getComponentStates()

  • v9.6 15 Januari 2026

    // v9.6 // - Fixed: Codec selection now works (removed shell quotes that broke Python string literals) // // v9.5 // - Fixed: Separate mode now correctly names video/audio files (was using invalid template syntax) // - Fixed: No-merge case now uses temp files + identification like merge case // // v9.4 // - Fixed: Skip subtitle prompt when video has no subtitles available // - Fixed: Video/audio quality now falls back to best available if requested quality unavailable // - Fixed: Audio-only merge uses native audio extension instead of .mkv // // v9.3 // - Fixed: Submenus now close when hovering over a different component row

  • v9.2 11 Januari 2026

    Translated to Python.

  • v8.4 11 Januari 2026