RXTIME commited on
Commit
0689d10
·
verified ·
1 Parent(s): 9142bd9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -3
app.py CHANGED
@@ -6,6 +6,7 @@ import ffmpeg
6
  import requests
7
  import os
8
  import tempfile
 
9
 
10
  # Configuração do Hugging Face e ElevenLabs
11
  HF_MODEL = "Helsinki-NLP/opus-mt-mul-en"
@@ -64,6 +65,15 @@ def replace_audio(video_path: str, new_audio_path: str) -> str:
64
  except Exception as e:
65
  return f"Erro na substituição do áudio: {str(e)}"
66
 
 
 
 
 
 
 
 
 
 
67
  # Pipeline completo
68
  def process_video(video_file):
69
  try:
@@ -96,7 +106,13 @@ def process_video(video_file):
96
  if "Erro" in output_video_path:
97
  return output_video_path
98
 
99
- return output_video_path
 
 
 
 
 
 
100
  except Exception as e:
101
  return f"Erro inesperado: {str(e)}"
102
 
@@ -104,9 +120,9 @@ def process_video(video_file):
104
  iface = gr.Interface(
105
  fn=process_video,
106
  inputs=gr.File(label="Carregar Vídeo (MP4)"),
107
- outputs=gr.File(label="Baixar Vídeo Traduzido"),
108
  title="Tradutor de Vídeos para Português",
109
  description="Faz a transcrição, tradução e substituição de áudio em vídeos automaticamente."
110
  )
111
 
112
- iface.launch()
 
6
  import requests
7
  import os
8
  import tempfile
9
+ import shutil
10
 
11
  # Configuração do Hugging Face e ElevenLabs
12
  HF_MODEL = "Helsinki-NLP/opus-mt-mul-en"
 
65
  except Exception as e:
66
  return f"Erro na substituição do áudio: {str(e)}"
67
 
68
+ # Função para mover o arquivo gerado para um local público
69
+ def move_video_to_public(output_video_path: str) -> str:
70
+ try:
71
+ public_path = f"/app/public/{os.path.basename(output_video_path)}" # Ajuste para o ambiente de produção
72
+ shutil.move(output_video_path, public_path)
73
+ return public_path
74
+ except Exception as e:
75
+ return f"Erro ao mover o vídeo para o diretório público: {str(e)}"
76
+
77
  # Pipeline completo
78
  def process_video(video_file):
79
  try:
 
106
  if "Erro" in output_video_path:
107
  return output_video_path
108
 
109
+ # Passo 5: Mover o vídeo para um local público (link acessível)
110
+ public_video_path = move_video_to_public(output_video_path)
111
+ if "Erro" in public_video_path:
112
+ return public_video_path
113
+
114
+ # Retorna o link público para o vídeo
115
+ return f"Vídeo processado com sucesso! Você pode visualizar o vídeo no seguinte link: [Clique aqui para ver o vídeo](/{os.path.basename(public_video_path)})"
116
  except Exception as e:
117
  return f"Erro inesperado: {str(e)}"
118
 
 
120
  iface = gr.Interface(
121
  fn=process_video,
122
  inputs=gr.File(label="Carregar Vídeo (MP4)"),
123
+ outputs=gr.HTML(label="Link para o Vídeo"),
124
  title="Tradutor de Vídeos para Português",
125
  description="Faz a transcrição, tradução e substituição de áudio em vídeos automaticamente."
126
  )
127
 
128
+ iface.launch(share=True)