Spaces:
Running
Running
from transcribe import transcribe | |
from moviepy import * | |
from translate import translate | |
from edite_video import video_edit | |
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("./src/media/"+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): | |
mp3_file, duration = extract_audio(video) | |
srt_list = transcribe(mp3_file) | |
subtitle_file = translate(srt_list) | |
output_video_file = video_edit(subtitle_file, "video.mp4", input_audio= "audio.mp3") | |
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) |