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)