VersaDownloader & Converter is a user-friendly desktop application designed to help you download videos (primarily from YouTube) and convert them to various formats. It also serves as a general-purpose file converter for common audio, video, image, and document types.
- YouTube Video Downloading:
- Download individual YouTube videos.
- Download entire YouTube playlists.
- Select preferred video/audio quality and format (e.g., MP4, MKV, WebM, MP3, M4A).
- Advanced error handling with automatic retries and fallback strategies for downloads.
- File Conversion:
- Video: Convert local video files to various formats (e.g., AVI, MOV, MKV, MP4). Extract audio to MP3, AAC, WAV, etc.
- Audio: Convert local audio files 84BA between formats (e.g., WAV to MP3, MP3 to AAC).
- Image: Convert images between JPG, PNG, and WEBP formats.
- Document: Convert DOCX and TXT files to PDF.
- User Interface & Experience:
- Clear, tabbed interface for "Video Downloader" and "File Converter".
- Real-time status table showing progress, speed, ETA, and status for all operations.
- Concurrent downloads and conversions to maximize efficiency.
- Customizable settings:
- Default download and conversion output directories.
- Adjustable number of concurrent downloads and conversions.
- Option to auto-clear completed tasks from the list.
- Switchable Light and Dark themes.
- System notifications for batch completion of downloads or conversions.
- Logging: Detailed logs for application behavior, downloads, and conversions, stored in the
logs/
directory for troubleshooting.
To run VersaDownloader & Converter from source, you'll need:
- Python 3.7+
- FFmpeg:
- Required for all video and audio downloading (post-processing) and conversion tasks.
- You must install FFmpeg separately and ensure that the
ffmpeg
(andffprobe
) executables are in your system's PATH. - Download FFmpeg from ffmpeg.org.
- Pandoc:
- Required for DOCX to PDF and TXT to PDF document conversions.
- You must install Pandoc separately and ensure its executable is in your system's PATH.
- Download Pandoc from pandoc.org.
- Python Dependencies:
- Install all required Python packages using pip:
pip install -r requirements.txt
- Install all required Python packages using pip:
- Ensure all requirements listed above are met (Python, FFmpeg, Pandoc, pip packages).
- Navigate to the project's root directory in your terminal.
- Run the application using:
python src/main.py
- Enter URL: Paste a YouTube video or playlist URL into the "YouTube URL" field.
- Select Quality & Format: Choose your desired download quality (e.g., 1080p, Best, Audio Only) and container format (e.g., MP4, MKV for video; MP3, M4A for audio).
- Choose Output Directory: Click "Browse..." to select the folder where your downloads will be saved.
- Add to Queue: Click "Add to Queue". For playlists, individual videos will be added to the queue.
- Start Downloads: Click "Start Downloads" to begin processing the queue.
- Add Files: Click "Add Files..." and select one or more video, audio, image, or document files you want to convert.
- Select Target Format: Choose the desired output format from the "Target Format" dropdown (e.g., AVI, MP3, PNG, PDF).
- Choose Output Directory: Click "Browse..." to select the folder for your converted files.
- Start Conversion: Click "Start All Conversions" to begin processing.
Access application settings via the File > Settings menu. Here you can configure default directories, concurrency limits, auto-clear behavior, and the application theme.
The application maintains logs that can be helpful for troubleshooting:
logs/application.log
: General application events, UI interactions, and errors.logs/youtube_download.log
: Detailed logs for YouTube download operations, including retries and errors.logs/conversion.log
: Detailed logs for file conversion operations.
For instructions on how to package VersaDownloader & Converter into a standalone executable for easier distribution, please see BUILD_INSTRUCTIONS.md
.
- HEIC/HEIF Image Conversion: While
.heic
/.heif
files might be selectable, conversion from these formats often depends on system libraries likelibheif
being installed, which is not handled by this application. Basic support viapillow-heif
is included, but its success can vary. - PDF to DOCX/Editable Format: Conversion from PDF to editable formats like DOCX is not supported due to its complexity.
- Real-time Conversion Progress: Detailed percentage progress for video/audio conversions is not currently available; progress is shown as "Converting..." until completion.
- External Dependencies: As mentioned, FFmpeg and Pandoc are essential for core functionalities and must be installed by the user if running from source or if they are not bundled with a packaged version.