File size: 1,415 Bytes
9f09306
 
 
 
 
 
 
b45d905
 
9f09306
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7992112
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
37
38
39
import gradio as gr
import moviepy.editor as mp
import tempfile
import os

def extraer_audio(video_file):
"""
Funci贸n que recibe la ruta de un archivo de video, extrae el audio
y lo guarda en un archivo temporal .mp3.
"""
# Crear un archivo temporal para el audio extra铆do
with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3") as temp_audio:
temp_audio_path = temp_audio.name

try:
    # Cargar el video con MoviePy (soporta diferentes formatos)
    clip = mp.VideoFileClip(video_file)
    
    # Extraer el audio y guardarlo en el archivo temporal en formato .mp3
    clip.audio.write_audiofile(temp_audio_path, logger=None)  # logger=None evita mucha salida en la consola
    clip.close()
    
    # Retornar la ruta del archivo de audio para que Gradio lo ofrezca como descarga
    return temp_audio_path
except Exception as e:
    # En caso de error, eliminar el archivo temporal y retornar el error
    if os.path.exists(temp_audio_path):
        os.remove(temp_audio_path)
    return f"Error al procesar el video: {str(e)}"
Crear la interfaz de Gradio
iface = gr.Interface(
fn=extraer_audio,
inputs=gr.File(label="Sube tu archivo de video (.mp4, .avi, .mkv, etc.)"),
outputs=gr.File(label="Descarga el audio en formato MP3"),
title="Extracci贸n de audio de Video a MP3",
description="Esta aplicaci贸n extrae el audio de un video y lo convierte a un archivo .mp3"
)

if name == "main": iface.launch()