Uniaff commited on
Commit
49487f1
·
verified ·
1 Parent(s): b2ec9c9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -13
app.py CHANGED
@@ -3,9 +3,6 @@ import subprocess
3
  import os
4
  import tempfile
5
 
6
- print(os.listdir())
7
- print(os.getcwd())
8
-
9
  def generate(video, audio, checkpoint, no_smooth, resize_factor, pad_top, pad_bottom, pad_left, pad_right):
10
  if video is None or audio is None or checkpoint is None:
11
  return "Пожалуйста, загрузите видео/изображение и аудио файл, а также выберите чекпойнт."
@@ -14,10 +11,14 @@ def generate(video, audio, checkpoint, no_smooth, resize_factor, pad_top, pad_bo
14
  video_path = video # Уже строка с путем к видео
15
  audio_path = audio # Уже строка с путем к аудио
16
 
 
 
 
17
  # Создание временной директории для сохранения выходного видео
18
  with tempfile.TemporaryDirectory() as temp_dir:
19
  # Определение выходного файла
20
  output_path = os.path.join(temp_dir, "output.mp4")
 
21
 
22
  # Подготовка аргументов для инференса
23
  args = [
@@ -35,18 +36,21 @@ def generate(video, audio, checkpoint, no_smooth, resize_factor, pad_top, pad_bo
35
  args.append("--nosmooth")
36
 
37
  try:
38
- # Вызов команды без изменения рабочей директории
39
  cmd = ["python", "inference.py"] + args
40
  print(f"Running inference with command: {' '.join(cmd)}")
41
- subprocess.run(cmd, check=True) # Убрали cwd=temp_dir, чтобы использовать текущую директорию
42
  except subprocess.CalledProcessError as e:
 
43
  return f"Произошла ошибка при обработке: {e}"
44
 
45
  # Проверка наличия выходного файла
46
  if not os.path.exists(output_path):
 
47
  return "Не удалось создать выходное видео."
48
 
49
  # Возвращаем путь к выходному файлу
 
50
  return output_path # Gradio автоматически обработает путь и выведет видео
51
 
52
  with gr.Blocks() as ui:
@@ -58,14 +62,13 @@ with gr.Blocks() as ui:
58
  checkpoint = gr.Radio(["wav2lip", "wav2lip_gan"], label="Чекпойнт", value="wav2lip_gan")
59
  no_smooth = gr.Checkbox(label="Без сглаживания", value=False)
60
  resize_factor = gr.Slider(minimum=1, maximum=4, step=1, label="Фактор изменения размера", value=1)
61
- with gr.Row():
62
- with gr.Column():
63
- pad_top = gr.Slider(minimum=0, maximum=50, step=1, value=0, label="Отступ сверху")
64
- pad_bottom = gr.Slider(minimum=0, maximum=50, step=1, value=10, label="Отступ снизу (рекомендуется 20 для включения подбородка)")
65
- pad_left = gr.Slider(minimum=0, maximum=50, step=1, value=0, label="Отступ слева")
66
- pad_right = gr.Slider(minimum=0, maximum=50, step=1, value=0, label="Отступ справа")
67
- generate_btn = gr.Button("Сгенерировать")
68
-
69
  with gr.Column():
70
  result = gr.Video(label="Результат")
71
 
 
3
  import os
4
  import tempfile
5
 
 
 
 
6
  def generate(video, audio, checkpoint, no_smooth, resize_factor, pad_top, pad_bottom, pad_left, pad_right):
7
  if video is None or audio is None or checkpoint is None:
8
  return "Пожалуйста, загрузите видео/изображение и аудио файл, а также выберите чекпойнт."
 
11
  video_path = video # Уже строка с путем к видео
12
  audio_path = audio # Уже строка с путем к аудио
13
 
14
+ # Логирование путей для отладки
15
+ print(f"Video path: {video_path}, Audio path: {audio_path}")
16
+
17
  # Создание временной директории для сохранения выходного видео
18
  with tempfile.TemporaryDirectory() as temp_dir:
19
  # Определение выходного файла
20
  output_path = os.path.join(temp_dir, "output.mp4")
21
+ print(f"Output path: {output_path}")
22
 
23
  # Подготовка аргументов для инференса
24
  args = [
 
36
  args.append("--nosmooth")
37
 
38
  try:
39
+ # Вызов команды инференса
40
  cmd = ["python", "inference.py"] + args
41
  print(f"Running inference with command: {' '.join(cmd)}")
42
+ subprocess.run(cmd, check=True)
43
  except subprocess.CalledProcessError as e:
44
+ print(f"Command failed with error: {e}")
45
  return f"Произошла ошибка при обработке: {e}"
46
 
47
  # Проверка наличия выходного файла
48
  if not os.path.exists(output_path):
49
+ print("Output file does not exist.")
50
  return "Не удалось создать выходное видео."
51
 
52
  # Возвращаем путь к выходному файлу
53
+ print(f"Output file created at: {output_path}")
54
  return output_path # Gradio автоматически обработает путь и выведет видео
55
 
56
  with gr.Blocks() as ui:
 
62
  checkpoint = gr.Radio(["wav2lip", "wav2lip_gan"], label="Чекпойнт", value="wav2lip_gan")
63
  no_smooth = gr.Checkbox(label="Без сглаживания", value=False)
64
  resize_factor = gr.Slider(minimum=1, maximum=4, step=1, label="Фактор изменения размера", value=1)
65
+ with gr.Row():
66
+ with gr.Column():
67
+ pad_top = gr.Slider(minimum=0, maximum=50, step=1, value=0, label="Отступ сверху")
68
+ pad_bottom = gr.Slider(minimum=0, maximum=50, step=1, value=10, label="Отступ снизу (рекомендуется 20 для включения подбородка)")
69
+ pad_left = gr.Slider(minimum=0, maximum=50, step=1, value=0, label="Отступ слева")
70
+ pad_right = gr.Slider(minimum=0, maximum=50, step=1, value=0, label="Отступ справа")
71
+ generate_btn = gr.Button("Сгенерировать")
 
72
  with gr.Column():
73
  result = gr.Video(label="Результат")
74