• Stars
    star
    149
  • Rank 248,619 (Top 5 %)
  • Language
    Python
  • License
    MIT License
  • Created over 4 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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.

More Repositories

1

pycraigslist

Craigslist API wrapper
Python
35
star
2

visuaudio

GUI application to visualize audio spectrum
Python
25
star
3

comics

GoComics API wrapper
Python
22
star
4

astree

Visualize abstract syntax trees of methods, declarations, expressions, and more
Python
18
star
5

ucheck

Autosubmit your UCheck COVID-19 self-assessment form
Python
16
star
6

jupyterblack

Format code cells in Jupyter Notebook and JupyterLab using Black
Python
13
star
7

chrono24

Chrono24 API wrapper
Python
11
star
8

actransit-map

Notebooks for plotting real-time AC Transit bus coordinates
Jupyter Notebook
11
star
9

img-optimize

GUI application to optimize image files
Python
11
star
10

craigslist-housing-miner

A global scraping tool for Craigslist housing
Python
8
star
11

python-carmd

A simple CarMD API wrapper.
Python
5
star
12

sgd-rest

Saccharomyces Genome Database (SGD) REST API wrapper
Python
4
star
13

los-angeles-metro-map

A repository for plotting real-time LA Metro bus coordinates on a map.
Jupyter Notebook
3
star
14

python-natlparks

Simple API wrapper for US National Park Services
Python
3
star
15

sequencing-primer-generator

A tool to batch-generate optimal DNA primers for Sanger sequencing. Output .xlsx file is directly compatible with IDT Oligo Entry.
Python
3
star
16

python-craigslist-meta

A simple API to traverse Craigslist endpoints
Python
2
star
17

auto-craigslist-housing

An application to search, subscribe to, and email Craigslist Housing posts.
Python
2
star
18

bike-theft-plot

A repository for plotting bike theft reports from bikewise.org
Jupyter Notebook
1
star
19

personal-website-django

A project to build a personal website using the Django framework.
HTML
1
star
20

corey-schafer-intro

Simple data analysis of Corey Schafer's Python Tutorial introductions
Python
1
star
21

mmg1344h

Resources for MMG1344H
Makefile
1
star
22

personal-website-1

First iteration of my personal website
HTML
1
star
23

vba-scripts

Useful scripts for Microsoft Excel VBA
VBA
1
star
24

rpi-stocks

Small Raspberry Pi project to display stock portfolio performance on a 16X2 LCD display. Stock portfolio can be updated over LAN using FastAPI.
Python
1
star
25

live-stock-ticker

A simple desktop application to track real time prices of DOW, SPX, and NASD
Python
1
star