import gradio as gr import subprocess import tempfile import os def convert_webm_to_mp4(webm_file): """ Recebe um arquivo WebM enviado pelo App Builder, converte para MP4 usando ffmpeg e retorna o caminho do arquivo MP4. """ if webm_file is None: return None tmp_dir = tempfile.mkdtemp() mp4_path = os.path.join(tmp_dir, "output.mp4") # Comando ffmpeg para conversão subprocess.run( ["ffmpeg", "-y", "-i", webm_file, "-c:v", "libx264", mp4_path], check=True ) return mp4_path # --- Interface Gradio compatível com App Builder --- iface = gr.Interface( fn=convert_webm_to_mp4, inputs=gr.Video(label="Upload WebM"), outputs=gr.File(label="Download MP4"), allow_flagging="never" # desativa flags ) if __name__ == "__main__": # roda na porta 7860 e permite link público iface.launch(server_name="0.0.0.0", server_port=7860, share=True)