Awesome Open Source
Awesome Open Source


Version License

A desktop application to download YouTube videos as annotated MP3 or MP4 files.

Application Interface

Using the application

Paste a YouTube playlist or video URL and load its content. Make edits to the table and click "Ask butler" (not shown in image above) to provide annotation hints to your videos. You can choose to download MP3 or MP4 files. Finally, select a download folder, download your videos, and just like that, you have nicely annotated audio files.

This application uses PyQt5 to provide the user interface and multithreading to execute calls asynchronously. The backend uses itunespy to suggest song annotations (i.e. "Ask butler"), pytube to download the YouTube video as an MP4 audio file, and FFmpeg to convert the MP4 file to MP3.

Watch the video demo for more information.

Running the application

  1. Download ffmpeg
  2. Clone GitHub repository
  3. pip install -r requirements.txt
  4. python

Check Troubleshooting if you encounter any trouble running / using the application or downloading MP3 files. If undocumented exceptions occur, please file the issue in issues.

Download ffmpeg

There are several options to install ffmpeg depending on your OS:

  1. Using homebrew
    • Downloading homebrew: Linux, macOS
    • brew install ffmpeg
  2. Through


  1. pytube is constantly upgrading to maintain compliance with YouTube's API. If you find exception messages on your terminal console during download, separately install the following pytube version as follows:

    pip install git+[email protected]

  2. If the script completes instantly without downloading your video(s), you're probably experiencing an SSL: CERTIFICATE_VERIFY_FAIL exception. This fails to instantiate pytube.Youtube, thus failing the download prematurely.

    To troubleshoot this (if you're using macOS), go to Macintosh HD > Applications > Python3.7 folder (or whatever version of python you're using) > double click on Install Certificates.command file. This should do the trick.

Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Python (836,678
Youtube (13,400
Ffmpeg (6,565
Pyqt5 (1,435
Convert Youtube Videos (3