Skip to content

[Feature Request] Integrate yt-dlp engine for universal video extraction and downloading #1372

Description

@showayebDev

Feature Description

I would like to suggest integrating yt-dlp into AB Download Manager to handle video extraction and downloading across a wide range of web platforms.

Problem Statement / Context

While AB Download Manager excels at general file downloads, video extraction across modern websites often requires constantly updating parsers to deal with custom HLS/DASH streams, authentication, and layout changes. Relying on basic HTTP capture or generic stream sniffing can result in failed downloads, missing audio streams, or restricted resolutions on video platforms.

Proposed Solution

Integrate yt-dlp (either as an optional CLI executable dependency, an embedded binary, or via RPC/wrapper) to act as the core backend engine when detecting and downloading online video streams.

Key Benefits

  • Extensive Platform Support: yt-dlp supports thousands of websites out of the box (YouTube, Vimeo, Twitch, social media networks, video-hosting portals, etc.).
  • Format & Quality Selection: Allows users to select specific video formats, frame rates (60fps), audio-only streams, or custom resolutions (1080p, 4K, 8K).
  • Automatic Merging: Automatically merges separate video and audio streams into single containers (.mp4, .mkv) using FFmpeg.
  • Active Community & Fast Fixes: Site layout breaks are quickly fixed upstream by the active yt-dlp maintainers, reducing the maintenance burden on AB Download Manager.

Suggested Workflow / UI Integration

  1. Engine Selection: Add an option under Settings (e.g., Settings > Video Grabber / Extractor Engine) allowing users to enable yt-dlp or point to a custom yt-dlp binary path.
  2. Auto-Update Capability: Implement an auto-update check (yt-dlp -U) so users always have the latest extractors.
  3. Download Dialog Enhancement: When a video URL is pasted or detected via browser extension, query yt-dlp to fetch available stream formats before initiating the multi-threaded download.

Additional Context

Using yt-dlp as an external backend engine is a proven approach in modern open-source download managers. It offloads stream parsing while keeping AB Download Manager focused on high-speed transfer management and user interface excellence.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions