Jeffgold's picture
Update app.py
a3d4816
raw
history blame
978 Bytes
import gradio as gr
import ffmpeg
from gradio.components import Video
import os
def transcode_video(video):
"""Transcodes a video file to m3u8 using ffmpeg.
Args:
video: The video file to transcode.
Returns:
The path to the transcoded file.
"""
# Create a folder to save the transcoded video file to.
output_dir = os.path.dirname(video.path)
if not os.path.exists(output_dir):
os.makedirs(output_dir)
# Transcode the video file.
output_file = os.path.join(output_dir, f"{video.name}.m3u8" )
ffmpeg.input(video.path).output(output_file, format="hls").run()
# Return the path to the transcoded file.
return output_file
video_files = [
"/path/to/video1.mp4",
"/path/to/video2.mp4",
]
demo = gr.Interface(transcode_video,
gr.components.Video(),
"playable_video",
examples=video_files,
cache_examples=True)
if __name__ == "__main__":
demo.launch()