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) | |