Test / app.py
UltraMarkoRJ's picture
Update app.py
6016d14 verified
# 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)