Skip to content

taherx7/MusicYT-Downloader

Repository files navigation

MusicYT Downloader 🎵

A modern desktop application to download YouTube videos and audio with automatic metadata and cover art embedding.

License Platform

✨ Features

  • 🎥 Download MP4 videos - Best quality with audio
  • 🎵 Download MP3 audio - 320kbps high quality
  • 📝 Automatic metadata - Title, artist, album, year
  • 🖼️ Album cover art - Embedded from video thumbnail
  • 📊 Progress tracking - Real-time download status
  • 💻 Clean UI - Modern, intuitive interface
  • 🚀 Fast downloads - Powered by yt-dlp
  • 🔄 Format conversion - FFmpeg integration

🖥️ Screenshots

![App Screenshot]alt text

📋 Prerequisites

  • Node.js 14 or higher
  • Internet connection

🚀 Installation

Download Release (Easiest)

  1. Go to Releases
  2. Download the latest version
  3. Run the installer
  4. Launch the app

Build from Source

  1. Clone the repository:
git clone https://github.com/taherx7/MusicYT-Downloader.git
cd MusicYT-Downloader
  1. Install dependencies:
npm install
  1. Run the app:
npm start
  1. Build executable (optional):
npm run build-win    # For Windows
npm run build-mac    # For macOS
npm run build-linux  # For Linux

📖 Usage

  1. Launch the application
  2. Paste a YouTube URL
  3. Select format:
    • MP4 - Video with audio
    • MP3 - Audio only with metadata
  4. Click Download
  5. Choose save location
  6. Wait for download to complete

🛠️ Technologies Used

  • Electron - Cross-platform desktop framework
  • yt-dlp - YouTube downloader
  • FFmpeg - Audio/video processing
  • Node-ID3 - MP3 metadata tagging
  • HTML/CSS/JavaScript - User interface

📦 Dependencies

{
  "yt-dlp-exec": "Video/audio downloading",
  "fluent-ffmpeg": "Format conversion",
  "node-id3": "MP3 metadata embedding",
  "@ffmpeg-installer/ffmpeg": "FFmpeg binaries"
}

🤝 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

🐛 Known Issues

  • Large videos (1GB+) may take time to download
  • Some region-restricted videos may not be accessible

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

👤 Author

taherx7

⭐ Show your support

Give a ⭐️ if this project helped you!

🙏 Acknowledgments

  • yt-dlp - Powerful YouTube downloader
  • Electron - Desktop app framework
  • FFmpeg - Multimedia processing

Made with ❤️ by taherx7