Spaces:
Running
Running
| 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() | |