import gradio as gr import ffmpeg import subprocess from gradio import outputs def convert_video(video_path): output_path = "output_dir/output.m3u8" quality_options = ["18", "23", "28", "32"] quality = gr.inputs.Dropdown(options=quality_options, label="Quality") ffmpeg_command = f"ffmpeg -i {video_path} -c:v libx264 -crf {quality} -f hls {output_path}" subprocess.run(ffmpeg_command, shell=True) return gr.outputs.Video(output_path) gr.Interface(convert_video, inputs=[video_path, quality], outputs=[outputs.Video()]).launch()