A modern Electron desktop application for downloading YouTube videos in high quality using yt-dlp. Supports both MP4 video downloads and MP3 audio extraction with advanced features.
- Installation
- Features
- Usage
- Supported URL Formats
- Technical Details
- Development
- Building for Distribution
- Troubleshooting
- Contributing
- License
- Disclaimer
Download the setup file from the latest release: Video Downloader Setup Windows.exe
Download the DMG file from the latest release: Video Downloader MacOS(Silicon).dmg
If you have an older Intel Mac, dowload the latest release: Video Downloader MacOS(Intel).dmg
If you want to run from source:
- Clone this repository:
git clone https://github.com/jackSeigerman/Video-Downloader.git
cd Video-Downloader- Install dependencies:
npm install- Run the application:
npm start- Highest Quality Downloads: Always downloads the best available resolution (4K, 1080p, etc.)
- Complete MP3 Metadata: Automatically tags MP3s with title, artist, year, album artwork, and more
- Adobe Premiere Pro Compatible: Downloads use H.264 codec for optimal video editing compatibility
- Cross-Platform: Available for Windows and macOS
- Custom Download Directory: Choose where to save your files with persistent settings
- Enter YouTube URL: Paste any valid YouTube video URL into the input field
- Select Download Directory: Click "Browse" to choose where to save the file (your preference is saved between sessions)
- Choose Format:
- MP4: Downloads the highest quality video available (up to 4K) with H.264 codec for video editing compatibility
- MP3: Extracts and converts audio to highest quality MP3 with complete metadata tagging
- Download: Click the download button and wait for completion
The app automatically detects and downloads the highest quality streams available for each video, ensuring optimal quality while maintaining compatibility with video editing software.
When downloading as MP3, the app automatically adds:
- Title, Artist, Album from video information
- Year extracted from upload date
- Album Artwork from video thumbnail
- Detailed Comments with video description, URL, views, and duration
- Professional Tags compatible with all music players
See MP3-METADATA.md for complete details.
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://www.youtube.com/embed/VIDEO_IDhttps://www.youtube.com/v/VIDEO_ID
- Electron: Desktop application framework
- yt-dlp-wrap: YouTube video information and stream extraction
- fluent-ffmpeg: Video/audio processing and conversion
- ffmpeg-static: Static FFmpeg binary for media processing
- node-id3: MP3 metadata tagging
- sharp: Image processing for thumbnails
The application uses a modern architecture with:
- Local Binaries: Bundled yt-dlp and FFmpeg for reliable operation
- H.264 Codec Priority: Ensures compatibility with video editing software
- Smart Format Selection: Automatically chooses optimal video and audio streams
- Cross-Platform Compatibility: Works on Windows and macOS
To run in development mode with logging:
npm run devTo run with full logging:
npm startTo build the application for distribution:
npm run buildThis creates platform-specific installers in the dist/ directory.
- Download fails: Ensure you have a stable internet connection and the YouTube URL is valid
- No download starts: Check that yt-dlp binary is properly bundled with the application
- Audio missing from video: Verify FFmpeg is working correctly for stream merging
- Permission errors: Make sure you have write permissions to the selected download directory
- Video editing compatibility: Downloads use H.264 codec specifically for Adobe Premiere Pro and DaVinci Resolve compatibility
If you encounter issues:
- Check the console for error messages (View → Toggle Developer Tools)
- Ensure the download directory exists and is writable
- Try restarting the application
- Open an issue on GitHub with details about the problem and console output
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Test thoroughly on both development and built versions
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
This tool is for personal use only. Please respect YouTube's Terms of Service and copyright laws. Only download content that you have the right to download.
