mp4tomp3 / app.py
GAS17's picture
Update app.py
b45d905 verified
raw
history blame
1.42 kB
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()