Spaces:
Running
Running
File size: 1,447 Bytes
9df91a5 7b1849c 388f757 4a0ca8c 9df91a5 a30b14f 0186403 afbbb7c 7b1849c 5c6616d 7b1849c 388f757 4a0ca8c a30b14f 3024720 4a0ca8c a30b14f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
import gradio as gr
import os
import tempfile
import shutil
# Function to execute the anime upscaler command
def execute_upscaler(input_video_path, output_path, save_intermediate, async_mode):
if input_video_path is None:
raise ValueError("No video file provided.")
# Determine the path to the model file in the same directory
script_directory = os.path.dirname(os.path.realpath(__file__))
model_path = os.path.join(script_directory, "RealESRGAN_x4plus_anime_6B.pth")
# Create a temporary directory to store the uploaded video
temp_dir = tempfile.mkdtemp()
try:
# Build the command
command = [
"python3",
"anime_upscaler.py",
"-m", model_path,
"-i", input_video_path,
"-o", output_path
]
# Add optional flags
if save_intermediate:
command.append("-s")
if async_mode:
command.append("-a")
# Execute the command
import subprocess
result = subprocess.run(command, capture_output=True, text=True)
# Return the output of the command
return result.stdout
finally:
# Cleanup: Remove the temporary directory
shutil.rmtree(temp_dir)
# Define the Gradio interface
iface = gr.Interface(
fn=execute_upscaler,
inputs=gr.Video(),
outputs=gr.Video(),
live=True
)
# Launch the Gradio interface
iface.launch()
|