Spaces:
Paused
Paused
| 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.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) |