Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import subprocess | |
| import tempfile | |
| import os | |
| def convert_webm_to_mp4(webm_file): | |
| if webm_file is None: | |
| return None | |
| tmp_dir = tempfile.mkdtemp() | |
| mp4_path = os.path.join(tmp_dir, "output.mp4") | |
| try: | |
| subprocess.run( | |
| [ | |
| "ffmpeg", | |
| "-y", | |
| "-i", webm_file, | |
| "-c:v", "libx264", | |
| "-preset", "fast", | |
| "-crf", "23", | |
| mp4_path | |
| ], | |
| check=True, | |
| stdout=subprocess.PIPE, | |
| stderr=subprocess.PIPE | |
| ) | |
| except subprocess.CalledProcessError as e: | |
| return f"Erro ao converter: {e.stderr.decode()}" | |
| return mp4_path | |
| # --- Interface Gradio --- | |
| with gr.Blocks() as demo: | |
| gr.Markdown("## WebM → MP4 Converter") | |
| # <-- aqui removemos 'type' --> | |
| webm_input = gr.Video(label="Upload WebM") | |
| mp4_output = gr.File(label="Download MP4") | |
| convert_btn = gr.Button("Convert to MP4") | |
| convert_btn.click(fn=convert_webm_to_mp4, inputs=[webm_input], outputs=[mp4_output]) | |
| # Rodar app | |
| if __name__ == "__main__": | |
| demo.launch(server_name="0.0.0.0", server_port=7860, share=True) | |