Spaces:
Sleeping
Sleeping
| # 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) | |