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)