Spaces:
Runtime error
Runtime error
artificialguybr
commited on
Commit
β’
349cabe
1
Parent(s):
d0817ad
Update app.py
Browse files
app.py
CHANGED
@@ -115,9 +115,15 @@ def process_video(radio, video, target_language, has_closeup_face):
|
|
115 |
else:
|
116 |
has_face = check_for_faces(video_path)
|
117 |
|
118 |
-
if
|
119 |
-
|
120 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
else:
|
122 |
# Merge audio with the original video without running Wav2Lip
|
123 |
cmd = f"ffmpeg -i {video_path} -i {run_uuid}_output_synth.wav -c:v copy -c:a aac -strict experimental -map 0:v:0 -map 1:a:0 {run_uuid}_output_video.mp4"
|
@@ -159,7 +165,7 @@ iface = gr.Interface(
|
|
159 |
video,
|
160 |
gr.Dropdown(choices=["English", "Spanish", "French", "German", "Italian", "Portuguese", "Polish", "Turkish", "Russian", "Dutch", "Czech", "Arabic", "Chinese (Simplified)"], label="Target Language for Dubbing", value="Spanish"),
|
161 |
gr.Checkbox(
|
162 |
-
label="Video has a close-up face",
|
163 |
value=False,
|
164 |
info="Say if video have close-up face. For Wav2lip. Will not work if checked wrongly.")
|
165 |
],
|
|
|
115 |
else:
|
116 |
has_face = check_for_faces(video_path)
|
117 |
|
118 |
+
if has_closeup_face:
|
119 |
+
try:
|
120 |
+
cmd = f"python Wav2Lip/inference.py --checkpoint_path 'Wav2Lip/checkpoints/wav2lip_gan.pth' --face {shlex.quote(video_path)} --audio '{run_uuid}_output_synth.wav' --pads {pad_top} {pad_bottom} {pad_left} {pad_right} --resize_factor {rescaleFactor} --nosmooth --outfile '{run_uuid}_output_video.mp4'"
|
121 |
+
subprocess.run(cmd, shell=True, check=True)
|
122 |
+
except subprocess.CalledProcessError as e:
|
123 |
+
if "Face not detected! Ensure the video contains a face in all the frames." in str(e.stderr):
|
124 |
+
# Fallback to FFmpeg merge
|
125 |
+
cmd = f"ffmpeg -i {video_path} -i {run_uuid}_output_synth.wav -c:v copy -c:a aac -strict experimental -map 0:v:0 -map 1:a:0 {run_uuid}_output_video.mp4"
|
126 |
+
subprocess.run(cmd, shell=True)
|
127 |
else:
|
128 |
# Merge audio with the original video without running Wav2Lip
|
129 |
cmd = f"ffmpeg -i {video_path} -i {run_uuid}_output_synth.wav -c:v copy -c:a aac -strict experimental -map 0:v:0 -map 1:a:0 {run_uuid}_output_video.mp4"
|
|
|
165 |
video,
|
166 |
gr.Dropdown(choices=["English", "Spanish", "French", "German", "Italian", "Portuguese", "Polish", "Turkish", "Russian", "Dutch", "Czech", "Arabic", "Chinese (Simplified)"], label="Target Language for Dubbing", value="Spanish"),
|
167 |
gr.Checkbox(
|
168 |
+
label="Video has a close-up face. Use Wav2lip.",
|
169 |
value=False,
|
170 |
info="Say if video have close-up face. For Wav2lip. Will not work if checked wrongly.")
|
171 |
],
|