DEV Community

loading...
Cover image for How to download youtube video as audio using python

How to download youtube video as audio using python

kalebu profile image Jordan Kalebu Updated on ・2 min read

Hi guys,

In this article, I will show how you can use python to download a youtube video as audio in a matter of few seconds using youtube-dl python wrapper.

Instead of using an online extension with accumulated ads like savenet, why not use your python skills to build your own downloader now.

Requirements

For you to be able to completely follow this tutorial, you're supposed to have youtube-dl installed on your machine.

Installation

pip install youtube_dl
Enter fullscreen mode Exit fullscreen mode

Basics of youtube-dl

youtube-dl is a command-line tool for downloading videos from Youtube and other video sites, it provides a wrapper for python to directly use its functionality within code.

YouTube-dl provides a direct way to download the audio from Youtube by specifying the format of output we want for to next command which is downloading.

Downloading YouTube video as audio

from youtube_dl import YoutubeDL

audio_downloder = YoutubeDL({'format':'bestaudio'})

audio_downloader.extract_info(link to the video)
Enter fullscreen mode Exit fullscreen mode

That's how youtube-dl really makes our life easier, from the above concept you can build your own GUI YouTube downloader using your favorite framework ranging from Tkinter to PyQT

Below is a sample command line app that runs an app for downloading YouTube-audio that runs on top youtube-dl, you can twist it the way you want it.

  • app.py
from youtube_dl import YoutubeDL

audio_downloader = YoutubeDL({'format':'bestaudio'})

while True:

    try:

        print('Youtube Downloader'.center(40, '_'))

      URL = input('Enter youtube url :  ')

      audio_downloader.extract_info(URL)

    except Exception:

        print("Couldn\'t download the audio")

    finally:

        option = int(input('\n1.download again \n2.Exit\n\nOption here :'))

      if option!=1:

            break
Enter fullscreen mode Exit fullscreen mode

When you run the above code it will automatically begin downloading the audio from the YouTube video link you provided If available.

Hope you find this post interesting, don't forget to subscribe to get more tutorials like this.

The original article can be found at kalebujordan.com

I recommend you to also read this ;

In case of any suggestion or comment, drop it in the comment box and I will get back to you ASAP

Discussion (7)

pic
Editor guide
Collapse
michaelcurrin profile image
Michael • Edited

Important to mention - even if it is available on PyPI as the link you provided, this is controversial library to use.

It was taken off of GitHub for legal reasons as per notice:

github.com/ytdl-org/youtube-dl

And if you try to distribute the app on GitHub yourself you can get banned

xda-developers.com/github-warns-of...

People also protested the ban as per the notice there.

So it is good to be aware of this and share the info with others where it matters in this context, so they can make informed decisions.

BTW There are also browser extensions which download YT videos so there are other ways to do it which exist.

Collapse
lesha profile image
lesha 🟨⬛️

Not really in a mood to host anything on github anymore. I'd rather pay five bucks for VPS and host my own git server and only have github as a mirror

Collapse
michaelcurrin profile image
Thread Thread
kalebu profile image
Jordan Kalebu Author

Yeah I see .. good news for we developers

Collapse
krishan111 profile image
Krishan111

Great Code Bro

Collapse
ibby_blaq profile image
Ibby

Nice one dawg.

Collapse
kalebu profile image
Jordan Kalebu Author

Thank you @lbby