Jeffgold's picture
Update app.py
7148179
raw
history blame
933 Bytes
import gradio as gr
import ffmpeg
from gradio.components import File
import os
def transcode_video(input_video_file):
"""Transcodes a video file to m3u8 using ffmpeg.
Args:
input_video_file: The path to 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(input_video_file)
if not os.path.exists(output_dir):
os.makedirs(output_dir)
# Transcode the video file.
output_file = os.path.join(output_dir, f"{input_video_file.name}.m3u8")
ffmpeg.input(input_video_file).output(output_file, format="hls").run()
# Return the path to the transcoded file.
return output_file
# Remove unused keyword argument
input_video_file = File()
outputs={"output_file": File(accept=".m3u8")}
gr.Interface(
transcode_video,
inputs={"input_video_file": input_video_file},
outputs=outputs
).launch()