Uniaff commited on
Commit
95e31cf
·
verified ·
1 Parent(s): 8a67596

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -21
app.py CHANGED
@@ -10,20 +10,15 @@ def generate(video, audio, checkpoint, no_smooth, resize_factor, pad_top, pad_bo
10
  if video is None or audio is None or checkpoint is None:
11
  return "Пожалуйста, загрузите видео/изображение и аудио файл, а также выберите чекпойнт."
12
 
13
- # Создание временной директории для обработки
14
- with tempfile.TemporaryDirectory() as temp_dir:
15
- # Копирование загруженных файлов во временную директорию
16
- video_path = os.path.join(temp_dir, video.name)
17
- audio_path = os.path.join(temp_dir, audio.name)
18
- with open(video_path, "wb") as f:
19
- f.write(video.read())
20
- with open(audio_path, "wb") as f:
21
- f.write(audio.read())
22
 
23
- # Определение выходного файла
 
24
  output_path = os.path.join(temp_dir, "output.mp4")
25
 
26
- # Подготовка аргументов для inference.py
27
  args = [
28
  "--checkpoint_path", f"checkpoints/{checkpoint}.pth",
29
  "--segmentation_path", "checkpoints/face_segmentation.pth",
@@ -39,11 +34,7 @@ def generate(video, audio, checkpoint, no_smooth, resize_factor, pad_top, pad_bo
39
  args.append("--nosmooth")
40
 
41
  try:
42
- # Вызов функции инференса напрямую
43
- # Если вы интегрируете код из inference.py, вызовите функцию непосредственно
44
- # Например:
45
- # inference_main(args)
46
- # Но для простоты, здесь мы будем использовать subprocess
47
  cmd = ["python", "inference.py"] + args
48
  subprocess.run(cmd, check=True)
49
  except subprocess.CalledProcessError as e:
@@ -53,11 +44,8 @@ def generate(video, audio, checkpoint, no_smooth, resize_factor, pad_top, pad_bo
53
  if not os.path.exists(output_path):
54
  return "Не удалось создать выходное видео."
55
 
56
- # Чтение выходного файла
57
- with open(output_path, "rb") as f:
58
- output_video = f.read()
59
-
60
- return output_video
61
 
62
  with gr.Blocks() as ui:
63
  gr.Markdown("## Wav2Lip - Синхронизация губ в видео")
 
10
  if video is None or audio is None or checkpoint is None:
11
  return "Пожалуйста, загрузите видео/изображение и аудио файл, а также выберите чекпойнт."
12
 
13
+ # Поскольку Gradio теперь возвращает пути к файлам, мы используем их напрямую без необходимости копировать их содержимое
14
+ video_path = video # Уже строка с путем к видео
15
+ audio_path = audio # Уже строка с путем к аудио
 
 
 
 
 
 
16
 
17
+ # Создание временной директории для сохранения выходного видео
18
+ with tempfile.TemporaryDirectory() as temp_dir:
19
  output_path = os.path.join(temp_dir, "output.mp4")
20
 
21
+ # Подготовка аргументов для инференса
22
  args = [
23
  "--checkpoint_path", f"checkpoints/{checkpoint}.pth",
24
  "--segmentation_path", "checkpoints/face_segmentation.pth",
 
34
  args.append("--nosmooth")
35
 
36
  try:
37
+ # Вызов функции инференса через subprocess
 
 
 
 
38
  cmd = ["python", "inference.py"] + args
39
  subprocess.run(cmd, check=True)
40
  except subprocess.CalledProcessError as e:
 
44
  if not os.path.exists(output_path):
45
  return "Не удалось создать выходное видео."
46
 
47
+ # Возвращаем путь к выходному файлу
48
+ return output_path
 
 
 
49
 
50
  with gr.Blocks() as ui:
51
  gr.Markdown("## Wav2Lip - Синхронизация губ в видео")