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:
- URL YouTube dengan menyalinnya dari browser.
- Tulis Nama File
- 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.
- Tentukan Folder Penyimpanan-nya dengan klik Pilih Folder.
- Tekan Tombol Konversi.
Tidak ada komentar:
Posting Komentar