Spaces:
Paused
Paused
import random | |
import subprocess | |
import os | |
import gradio | |
import gradio as gr | |
current_dir = os.path.dirname(os.path.abspath(__file__)) | |
def predict(video, audio): | |
print(f"Processing video {video} and audio {audio}") | |
output_file = f"{current_dir}/results/{random.randint(10,100000)}.mp4" | |
command = ["python", "inference.py", "--face", video, | |
"--audio", audio, "--outfile", output_file] | |
subprocess.run(command, check=True) | |
return output_file | |
with gradio.Blocks( | |
title="Video Retalking SpaceAI", | |
theme=gr.themes.Base( | |
primary_hue=gr.themes.colors.green, | |
font=["Source Sans Pro", "Arial", "sans-serif"], | |
font_mono=['JetBrains mono', "Consolas", 'Courier New'] | |
), | |
) as demo: | |
with gradio.Row(): | |
gradio.Markdown("# Video Retalking SpaceAI") | |
with gradio.Row(): | |
with gradio.Column(): | |
v = gradio.Video(label='Source image/video') | |
with gradio.Column(): | |
a = gradio.Audio( | |
type='filepath', label='Target Audio') | |
with gradio.Row(): | |
btn = gradio.Button(value="Synthesize",variant="primary") | |
with gradio.Column(): | |
o = gradio.Video(label="Output Video") | |
btn.click(fn=predict, inputs=[v, a], outputs=[o]) | |
demo.queue().launch() | |