amir1376 / amir1376/ab-download-manager

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

Đang mở
#1,372 0 bình luận 12 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Kotlin
Star
17.9k
Fork
913
Merge trung bình
7 giờ 1 phút
Pull request đã merge (30 ngày)
7

Mô tả

### 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.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.