Spaces:
Runtime error
Runtime error
import gradio as gr | |
from gradio_client import Client | |
def swap(radio): | |
if radio == "Upload": | |
return gr.update(source="upload") | |
else: | |
return gr.update(source="webcam") | |
def process_video(radio, video, language, use_wav2lip): | |
try: | |
client = Client("https://artificialguybr-video-dubbing.hf.space/") | |
result = client.predict( | |
radio, | |
video, | |
language, | |
use_wav2lip, | |
api_name="/predict" | |
) | |
return result | |
except Exception as e: | |
print(f"Erro ao chamar a API: {e}") | |
return "Ocorreu um erro ao processar o vídeo." | |
# Componentes Gradio | |
video = gr.Video() | |
radio = gr.Radio(["Upload", "Gravar"], value="Upload", show_label=False) | |
dropdown = gr.Dropdown(choices=["Inglês", "Espanhol", "Francês", "Alemão", "Italiano", "Português", "Polonês", "Turco", "Russo", "Holandês", "Tcheco", "Árabe", "Chinês (Simplificado)"], label="Idioma de Destino para Dublagem", value="Espanhol") | |
checkbox = gr.Checkbox(label="O vídeo possui um close-up do rosto. Use o Wav2lip.", value=False) | |
# Interface Gradio | |
iface = gr.Interface( | |
fn=process_video, | |
inputs=[radio, video, dropdown, checkbox], | |
outputs=gr.Video(), | |
live=False, | |
title="Dublagem de Vídeo com AI", | |
description="Esta ferramenta foi desenvolvida por [@artificialguybr](https://twitter.com/artificialguybr) utilizando exclusivamente ferramentas de código aberto. Um agradecimento especial à Hugging Face pelo suporte de GPU. Agradecimentos a [@yeswondwer](https://twitter.com/@yeswondwerr) pelo código original. Teste o espaço [Video Transcription and Translate](https://huggingface.co/spaces/artificialguybr/VIDEO-TRANSLATION-TRANSCRIPTION)!", | |
allow_flagging=False | |
) | |
# Bloco Gradio | |
with gr.Blocks() as demo: | |
iface.render() | |
radio.change(swap, inputs=[radio], outputs=[video]) | |
gr.Markdown(""" | |
**Nota:** | |
- O limite de vídeo é de 1 minuto. Ele dublará todas as pessoas usando apenas uma voz. | |
- A geração pode levar até 5 minutos. | |
- Ao usar este demo, você concorda com os termos da Licença de Modelo Público Coqui em https://coqui.ai/cpml | |
- A ferramenta utiliza modelos de código aberto para todos os modelos. É uma versão alpha. | |
- A qualidade pode ser melhorada, mas exigiria mais tempo de processamento por vídeo. Para escalabilidade e limitações de hardware, a velocidade foi escolhida, não apenas a qualidade. | |
- Se você precisar de mais de 1 minuto, duplique o Espaço e altere o limite em app.py. | |
- Se você marcar incorretamente a opção 'O vídeo tem um close-up do rosto', a dublagem pode não funcionar como esperado. | |
""") | |
demo.queue | |
demo.launch() | |