File size: 1,733 Bytes
e100390
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6016d14
 
e100390
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6016d14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# 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)