Download Mp3 dari Youtube

Saya suka mendengarkan lagu dalam format mp3. Namun mendapatkan format mp3 ini tidak mudah didapat. Hari ini yang ada mpeg (lagu dengan video) yang didownload langsung dari Youtube.

Saya masih tertarik mendengarkan mp3nya saja. Video itu hanya menambah-nambah ukuran file saja.

Memang ada beberapa aplikasi online konversi dari URL Youtube ke Mp3, namun penuh kelemahan, seperti adanya iklan berbasis link yang tidak masuk akal sampai pada tidak bisa download mp3 yang panjang.

Akhirnya dengan bantuan ChatGPT, saya membuat program untuk mengatasi hal tersebut :

# pip install yt_dlp
import yt_dlp
def getmp3(url):
    ydl_opts = {
        "format": "bestaudio/best",
        "postprocessors": [{
            "key": "FFmpegExtractAudio",
            "preferredcodec": "mp3",
            "preferredquality": "192",
        }],
    }
    try:
        with yt_dlp.YoutubeDL(ydl_opts) as ydl:
            ydl.download([url])
        return True  # Berhasil
    except yt_dlp.utils.DownloadError as e:
        print(f"Error: {e}")
        return False  # Gagal

while True:
    url = input("Enter the URL of the video you want to download: \n>> ").strip()
    
    if not url:
        print("No URL entered. Please try again.")
        continue  # Kembali meminta URL jika kosong

    # Coba unduh URL
    if getmp3(url):
        print("Download successful! \n\n")
        continue  # Kembali meminta URL jika masih mau input URL kembali
    else:
        print("Invalid URL or an error occurred. Please try again.")

Namun sering library seperti ini cepat tidak bekerja seiring layanan yang menutup celah agar tidak bisa di dlownload.