youtube2audio icon indicating copy to clipboard operation
youtube2audio copied to clipboard

GUI application to download YouTube videos as annotated MP3 or MP4 files

youtube2audio

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 main.py

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 ffmpeg.org

Troubleshooting

  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+https://github.com/irahorecka/pytube.git@97c1743

  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.