Membuat Aplikasi Konverter Video Youtube ke MP3, dll

Selasa, 18 Maret 2025 edit

Berikut ini catatan belajar tentang koding Python untuk membuat aplikasi konverter video youtube ke MP3, dll. Syarat:
1. Di komputer sudah terinstall Python.
2. Sudah mempunyai file yt-dlp, bila belum ada silakan unduh yt-dlp dari github gratis.
3. Sudah mempunya file ffmpeg, bila belum ada silakan unduh dari sini dan ekstrak.

Berikut ini prosedurnya berdasarkan praktik saya.

Pada praktiknya file yt-dlp dan semua file hasil ekstrak-an dari ffmpeg saya letakkan dalam folder  D:\Software\YoutubeCLI. Silakan menyesuaikannya sendiri. Jangan lupa mengeditnya juga dalam file py.


import tkinter as tk
from tkinter import filedialog, messagebox
import subprocess
import os

# Path ke yt-dlp dan ffmpeg
YT_DLP_PATH = r"D:\Software\YoutubeCLI\yt-dlp.exe"  # Path ke yt-dlp.exe
FFMPEG_PATH = r"D:\Software\YoutubeCLI\ffmpeg.exe"  # Path ke ffmpeg.exe

# Fungsi untuk memilih folder penyimpanan
def choose_folder():
    folder = filedialog.askdirectory()
    if folder:
        folder_path.set(folder)

# Fungsi untuk memulai konversi
def start_conversion():
    url = url_entry.get()
    folder = folder_path.get()
    file_format = format_var.get()
    file_name = file_name_entry.get()

    if not url or not folder or not file_name:
        messagebox.showerror("Error", "URL, folder penyimpanan, dan nama file harus diisi!")
        return

    try:
        # Perintah yt-dlp
        command = [
            YT_DLP_PATH,
            "-x",  # Ekstrak audio
            "--audio-format", file_format,  # Format output
            "--ffmpeg-location", FFMPEG_PATH,  # Path ke ffmpeg
            "-o", os.path.join(folder, f"{file_name}.%(ext)s"),  # Lokasi penyimpanan dan nama file
            url  # URL YouTube
        ]

        # Jalankan perintah
        process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
        stdout, stderr = process.communicate()

        if process.returncode == 0:
            messagebox.showinfo("Sukses", "Konversi berhasil!")
        else:
            messagebox.showerror("Error", f"Terjadi kesalahan:\n{stderr.decode()}")
    except Exception as e:
        messagebox.showerror("Error", f"Terjadi kesalahan: {str(e)}")

# Buat GUI
app = tk.Tk()
app.title("YouTube to MP3 Converter")

# Input URL
tk.Label(app, text="URL YouTube:").grid(row=0, column=0, padx=10, pady=10)
url_entry = tk.Entry(app, width=50)
url_entry.grid(row=0, column=1, padx=10, pady=10)

# Input Nama File
tk.Label(app, text="Nama File:").grid(row=1, column=0, padx=10, pady=10)
file_name_entry = tk.Entry(app, width=30)
file_name_entry.grid(row=1, column=1, padx=10, pady=10)

# Pilih Format
tk.Label(app, text="Format Output:").grid(row=2, column=0, padx=10, pady=10)
format_var = tk.StringVar(value="mp3")  # Default format MP3
format_menu = tk.OptionMenu(app, format_var, "mp3", "wav", "aac", "m4a")
format_menu.grid(row=2, column=1, padx=10, pady=10)

# Pilih Folder Penyimpanan
tk.Label(app, text="Folder Penyimpanan:").grid(row=3, column=0, padx=10, pady=10)
folder_path = tk.StringVar()
folder_entry = tk.Entry(app, textvariable=folder_path, width=40)
folder_entry.grid(row=3, column=1, padx=10, pady=10)
tk.Button(app, text="Pilih Folder", command=choose_folder).grid(row=3, column=2, padx=10, pady=10)

# Tombol Konversi
tk.Button(app, text="Konversi", command=start_conversion).grid(row=4, column=1, padx=10, pady=20)

# Jalankan aplikasi
app.mainloop()

Kode Python yang harus dibuat, boleh menggunakan Notepad++ dan disimpan dengan nama ber-ekstensi .py. Saya memberinya nama youtube_converter_gui.py. Boleh saja diganti sesuai keinginan tentang nama file ini. 


Untuk menjalankan setelah file py ini tersimpan dalam folder yang ditentukan, silakan klik ganda file youtube_converter_gui.py.

Tampilan GUI seharusnya seperti berikut ini.

Silakan isikan:

  1. URL YouTube dengan menyalinnya dari browser.
  2. Tulis Nama File
  3. Pilih Format Output dengan memilihnya pada kotak mp3. Format audio yang tersedia mp3, wav, aac, dan m4a. Format ini sebenarnya dapat disesuai dalam file dot py.
  4. Tentukan Folder Penyimpanan-nya dengan klik Pilih Folder.
  5. Tekan Tombol Konversi.
Tunggu beberapa saat Audio dari Youtube akan diunduh. Waktu konversi ini tergantung durasi video, semakin lama durasinya waktu konversi juga relatif lama.

Selamat mencoba hal baru kalau memang belum pernah mencoba untuk kesenangan sendiri.

Bagikan di

Tidak ada komentar:

Posting Komentar

 
Copyright © 2015-2025 Urip dot Info | Disain Template oleh Herdiansyah Dimodivikasi Urip.Info