amir1376 / amir1376/ab-download-manager
[Feature Request] Integrate yt-dlp engine for universal video extraction and downloading
- 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
Đánh giá
Issue này chưa được đánh giá.