Teste3 / app.py
AlexandreScriptsMT's picture
Update app.py
b73788f verified
raw
history blame
934 Bytes
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)