File size: 1,364 Bytes
aa59ad1
73989ff
 
aa59ad1
73989ff
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
aa59ad1
73989ff
aa59ad1
73989ff
 
 
 
 
aa59ad1
 
73989ff
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import gradio as gr
from pytube import YouTube
import os

def download_youtube_video(url):
    try:
        # Crea el objeto YouTube a partir de la URL
        yt = YouTube(url)
        # Selecciona el stream progresivo con extensi贸n mp4, ordenado de mayor a menor resoluci贸n
        stream = yt.streams.filter(progressive=True, file_extension='mp4').order_by('resolution').desc().first()
        if stream is None:
            return "No se encontr贸 un stream adecuado para descargar."
        
        # Define un directorio de descarga y aseg煤rate de que exista
        download_folder = "downloads"
        os.makedirs(download_folder, exist_ok=True)
        
        # Descarga el video en el directorio especificado
        output_path = stream.download(output_path=download_folder)
        return f"Video descargado: {output_path}"
    except Exception as e:
        return f"Error al descargar el v铆deo: {str(e)}"

# Crea la interfaz Gradio
iface = gr.Interface(
    fn=download_youtube_video,
    inputs=gr.Textbox(label="URL del v铆deo de YouTube", placeholder="Ingresa la URL aqu铆..."),
    outputs=gr.Textbox(label="Resultado"),
    title="Descargador de V铆deos de YouTube",
    description="Ingresa la URL de un v铆deo de YouTube y descarga la versi贸n en MP4 de mayor resoluci贸n disponible."
)

if __name__ == "__main__":
    iface.launch()