# file: app.py import gradio as gr import requests import os # Diretório onde os vídeos serão armazenados VIDEO_DIR = "uploaded_videos" # Garantir que o diretório exista os.makedirs(VIDEO_DIR, exist_ok=True) def download_video_from_url(url): response = requests.get(url) if response.status_code == 200: video_path = os.path.join(VIDEO_DIR, url.split('/')[-1]) with open(video_path, 'wb') as f: f.write(response.content) return video_path else: return None def upload_video(video=None, url=None): if url: # Se uma URL foi fornecida, baixar o vídeo video_path = download_video_from_url(url) if video_path: return f"Vídeo baixado e armazenado com sucesso: {video_path}" else: return "Erro ao baixar o vídeo da URL fornecida." elif video: # Se um vídeo foi carregado, salvar no diretório especificado video_name = video.name if hasattr(video, 'name') else "uploaded_video.mp4" video_path = os.path.join(VIDEO_DIR, video_name) with open(video_path, 'wb') as f: f.write(video.read()) return f"Vídeo carregado e armazenado com sucesso: {video_path}" else: return "Nenhum vídeo ou URL fornecido." # Interface Gradio para upload do vídeo ou fornecimento de URL iface = gr.Interface( fn=upload_video, inputs=[ gr.Video(label="Carregar Vídeo"), gr.Textbox(label="Ou forneça a URL do vídeo") ], outputs="text", title="Carregar ou Baixar Vídeo para Automação", description="Carregue um vídeo ou forneça uma URL para iniciar o processo de tradução e recriação." ) iface.launch(share=True)