Spaces:
Build error
Build error
import gradio as gr | |
import subprocess | |
import os | |
def process_video_and_audio(face_path, audio_path): | |
# Define the directory to store the processed video | |
results_dir = "results" | |
os.makedirs(results_dir, exist_ok=True) # Create the directory if it doesn't exist | |
# Extract the filename of the face video | |
video_name = os.path.basename(face_path) | |
# Define the output file path for the processed video | |
outfile_path = os.path.join(results_dir, video_name) | |
print(f"Processing face video: {face_path}, audio: {audio_path}, and saving to: {outfile_path}") | |
# Define the command to run | |
command = f"python3 inference.py --face {face_path} --audio {audio_path} --outfile {outfile_path}" | |
try: | |
# Run the command using subprocess.run | |
result = subprocess.run(command, shell=True, capture_output=True, check=True, text=True) | |
# Print the output of the command | |
print("Output:", result.stdout) | |
# Check if the command was successful | |
if result.returncode == 0: | |
print("Processing complete.") | |
return outfile_path | |
else: | |
return f"Error occurred: {result.stderr}" | |
except subprocess.CalledProcessError as e: | |
return f"Error occurred: {e.stderr}" | |
# Define the Gradio interface | |
iface = gr.Interface( | |
fn=process_video_and_audio, | |
inputs=[gr.Video(label="Face Video"), gr.File(type='filepath',label="Audio")], | |
outputs=gr.Video(label="Processed Video"), | |
title="Video LipSyncing" | |
) | |
# Launch the Gradio interface | |
iface.launch() |