import gradio as gr import subprocess import uuid import os # Diretório onde os vídeos convertidos serão salvos OUTPUT_DIR = "outputs" os.makedirs(OUTPUT_DIR, exist_ok=True) def webm_to_mp4(video_file): """ Recebe um arquivo WebM, converte para MP4 e retorna o caminho do arquivo. """ # Gera nome único para o MP4 output_name = f"{uuid.uuid4()}.mp4" output_path = os.path.join(OUTPUT_DIR, output_name) # Executa o ffmpeg para converter WebM -> MP4 subprocess.run( [ "ffmpeg", "-y", # sobrescrever se já existir "-i", video_file, # arquivo de entrada "-movflags", "faststart", "-pix_fmt", "yuv420p", output_path ], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL ) return output_path # Cria a interface Gradio iface = gr.Interface( fn=webm_to_mp4, inputs=gr.File(file_types=[".webm"]), outputs=gr.File(), title="Conversor WebM → MP4", description="Envie um arquivo WebM e receba o MP4 pronto para download.", api_name="convert" # ← CRUCIAL para POST externo ) # Inicializa o app iface.launch( server_name="0.0.0.0", # necessário no Hugging Face Space server_port=7860 )