import gradio as gr
from videopose_PSTMO import gr_video2mc
import os
# ffmpeg -i input_videos/kun_1280x720_30fps_0-14_0-32.mp4 -vf trim=0:5,setpts=PTS-STARTPTS input_videos/kun_test_5sec.mp4
# ffmpeg -i input.mp4 -vf scale=320:-1 output.mp4
def Video2MC(video, progress=gr.Progress(track_tqdm=True)):
progress(1.0, desc="Step 0: Starting")
output_path, output_video = gr_video2mc(video, progress)
return output_path, output_path, output_video
with gr.Blocks() as iface:
text1 = gr.Markdown(
"""

"""
#
# Video2MC: 基于3D人体姿态估计的MC动画自动生成
)
with gr.Row():
with gr.Column():
input_video = gr.Video()
with gr.Row():
btn_c = gr.ClearButton(input_video)
btn_s = gr.Button("Submit", variant='primary')
gr.Examples([os.path.join(os.path.dirname(__file__),
"input_videos/kun_test_5sec.mp4")], input_video)
with gr.Column():
output_miframes = gr.File()
output_path = gr.Text()
output_video = gr.Video()
btn_s.click(Video2MC, inputs=[input_video], outputs=[output_miframes, output_path, output_video])
iface.queue(concurrency_count=10).launch()