code: def generate_online_video_transcript(
      cursor: evadb.EvaDBCursor,
  ) -> str:
      """Extracts speech from video for llm processing.
  
      Args:
          cursor (EVADBCursor): evadb api cursor.
  
      Returns:
          str: video transcript text.
      """
      print("\n⏳ Analyzing YouTube video. This may take a while...")
  
      # load youtube video into an evadb table
      cursor.query("DROP TABLE IF EXISTS youtube_video;").execute()
      cursor.query(
          f"LOAD VIDEO '{ONLINE_VIDEO_PATH}' INTO youtube_video;"
      ).execute()
      # extract speech texts from videos
      cursor.query("DROP TABLE IF EXISTS youtube_video_text;").execute()
      cursor.query(
          "CREATE TABLE IF NOT EXISTS youtube_video_text AS SELECT"
          " SpeechRecognizer(audio) FROM youtube_video;"
      ).execute()
      print("✅ Video analysis completed.")
  
      raw_transcript_string = cursor.query(
          "SELECT text FROM youtube_video_text;"
      ).df()["youtube_video_text.text"][0]
      return raw_transcript_string
  
imports: import os
  import shutil
  from typing import Dict, List
  import pandas
  import evadb
  from pytube import YouTube, extract
  from youtube_transcript_api import YouTubeTranscriptApi
label_desc: Use image node_id 8 for calling a global function with example usage: generate_online_video_transcript(cursor) and returns: raw_transcript_string