File size: 861 Bytes
4806866
 
 
 
 
 
619d335
4806866
 
 
 
 
619d335
4806866
 
 
 
619d335
4806866
619d335
4806866
619d335
4806866
619d335
 
 
 
 
4806866
 
619d335
4806866
 
 
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
import gradio as gr
import whisper
import os

model = whisper.load_model("medium")

# main processing
def main(URL):
    video_path = youtube_dl(URL)
    text = transcript(video_path)
    return text

# Transcribe text using Whisper
def transcript(video_path):
    result = model.transcribe(video_path)
    return result["text"]

# Download the video
def youtube_dl(URL):
    # Download the video
    os.system(f"yt-dlp -f best -v {URL} -o target.mp4")
    # Path of downloaded video
    video_path = os.path.join(os.path.dirname(__file__), "target.mp4")
    # Check if the video is downloaded successfully
    if os.path.exists(video_path):
        return video_path
    else:
        raise ValueError("Video download failed")

demo = gr.Interface(fn = main,
                    inputs = "text", outputs = "text")

if __name__ == "__main__":
    demo.launch()