import gradio as gr | |
import os | |
a = os.path.join(os.path.dirname(__file__), "files/a.mp4") # Video | |
b = os.path.join(os.path.dirname(__file__), "files/b.mp4") # Video | |
s1 = os.path.join(os.path.dirname(__file__), "files/s1.srt") # Subtitle | |
s2 = os.path.join(os.path.dirname(__file__), "files/s2.vtt") # Subtitle | |
def video_demo(video, subtitle=None): | |
if subtitle is None: | |
return video | |
return [video, subtitle.name] | |
demo = gr.Interface( | |
fn=video_demo, | |
inputs=[ | |
gr.Video(label="In", interactive=True), | |
gr.File(label="Subtitle", file_types=[".srt", ".vtt"]), | |
], | |
outputs=gr.Video(label="Out"), | |
examples=[ | |
[a, s1], | |
[b, s2], | |
[a, None], | |
], | |
) | |
if __name__ == "__main__": | |
demo.launch() | |