Spaces:
Running
Running
File size: 1,785 Bytes
0835fb6 e7124c9 23d4cfa 8bec4e8 0835fb6 8bec4e8 de207be 8bec4e8 0835fb6 c980ffd 86c2356 0835fb6 fa31cb4 afd822e 0835fb6 |
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 45 46 47 48 49 50 51 52 53 54 55 |
from transcribe import transcribe
from moviepy import *
from translate import translate
from edite_video import video_edit
import gradio as gr
def extract_audio(input_video_name):
# Define the input video file and output audio file
mp3_file = "audio.mp3"
# Load the video clip
video_clip = VideoFileClip(input_video_name)
# Extract the audio from the video clip
audio_clip = video_clip.audio
duration = audio_clip.duration
print(duration)
# Write the audio to a separate file
audio_clip.write_audiofile(mp3_file)
# Close the video and audio clips
audio_clip.close()
video_clip.close()
print("Audio extraction successful!")
return mp3_file, duration
def main(video, clip_type):
mp3_file, duration = extract_audio(video)
srt_list = transcribe(mp3_file)
subtitle_file = translate(srt_list)
output_video_file = video_edit(subtitle_file, video, input_audio= "audio.mp3")
return output_video_file
with gr.Blocks() as demo:
gr.Markdown("Start typing below and then click **Run** to see the output.")
with gr.Column():
video_file_input = gr.Video(label="Upload Video File")
clip_type = gr.Dropdown(["auto edit", "default"], label="Clip Type")
btn = gr.Button("create")
video_file_output = gr.Video(label="result: ")
btn.click(fn=main, inputs=[video_file_input, clip_type], outputs=video_file_output)
""" with gr.Row():
vid_out = gr.Video()
srt_file = gr.File()
btn2 = gr.Button("transcribe")
gr.on(
triggers=[btn2.click],
fn=write_google,
inputs=out,
).then(video_edit, [out, video_path_output, audio_path_output], outputs=[vid_out, srt_file])"""
demo.launch(debug=True) |