import gradio as gr import ffmpeg import os def cut_video(video, start_time, end_time): if not video: raise gr.Error("No video file selected") if start_time < 0: raise gr.Error("Start time cannot be negative") if end_time <= start_time: raise gr.Error("End time must be greater than start time") input_file = video output_file = "media/output.mp4" os.makedirs(os.path.dirname(output_file), exist_ok=True) if os.path.exists(output_file): os.remove(output_file) ffmpeg.input(input_file, ss=start_time, to=end_time).output( output_file, format="mp4" ).run(overwrite_output=True) return output_file with gr.Blocks() as demo: gr.Markdown("