Rivalcoder
Add
ab498f8
raw
history blame
1.12 kB
import gradio as gr
from youtube_transcript_api import YouTubeTranscriptApi
from youtube_transcript_api.proxies import WebshareProxyConfig
# Initialize the YouTubeTranscriptApi with proxy configuration
ytt_api = YouTubeTranscriptApi(
proxy_config=WebshareProxyConfig(
proxy_username="tlaukrdr", # Replace with your proxy username
proxy_password="mc1aumn9xbhb" # Replace with your proxy password
)
)
# Function to fetch and format YouTube transcript using the video ID
def fetch_transcript(video_id: str):
try:
# Fetch transcript
transcript_obj = ytt_api.fetch(video_id)
# Extract and join only the text fields from FetchedTranscriptSnippet objects
full_text = " ".join([snippet.text for snippet in transcript_obj.snippets])
return full_text
except Exception as e:
return f"Error fetching transcript: {str(e)}"
# Gradio Interface
iface = gr.Interface(
fn=fetch_transcript,
inputs=gr.Textbox(label="Enter YouTube Video ID"),
outputs=gr.Textbox(label="Transcript"),
live=True
)
# Launch the Gradio app
iface.launch()