Spaces:
Paused
Paused
File size: 1,225 Bytes
88c7481 cb2c10c 838164d 6388cc6 b059570 88c7481 b059570 9571046 88c7481 9571046 88c7481 a64acd3 a16bdc2 a64acd3 88c7481 b059570 88c7481 4671d6f a53f47a 8c7b9ad 4671d6f 7f52e8a 4671d6f 45a6dfa 724f805 45a6dfa 724f805 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
import gradio as gr
import ffmpeg
from gradio.components import File
import os
def transcode_video(input_video_file, output_file, output_format, output_fps):
"""Transcodes a video file to m3u8 using ffmpeg.
Args:
input_video_file: The path to the video file to transcode.
output_file: The path to the transcoded m3u8 file.
output_format: The output format of the transcoded file.
output_fps: The output framerate of the transcoded file.
Returns:
The path to the transcoded file.
"""
# Create a folder to save the transcoded video file to.
output_dir = os.path.dirname(output_file)
if not os.path.exists(output_dir):
os.makedirs(output_dir)
# Transcode the video file.
ffmpeg.input(input_video_file).output(output_file, format=output_format, fps=output_fps).run()
# Return the path to the transcoded file.
return output_file
def name_file(file_path):
return os.path.basename(file_path.name)
input_video_file = File(accept=".mp4, .mov, .avi, .flv, .wmv, .mpeg, .mpg, .ogg, .webm")
outputs={"output_file": File(name_file(input_video_file), accept=".m3u8")}
gr.Interface(
transcode_video,
inputs={"input_video_file": input_video_file},
outputs=outputs
).launch()
|