Update app.py
Browse files
app.py
CHANGED
|
@@ -41,16 +41,42 @@ def initialize_agent():
|
|
| 41 |
multimodal_Agent = initialize_agent()
|
| 42 |
|
| 43 |
# Function to download YouTube video using yt-dlp
|
|
|
|
|
|
|
|
|
|
| 44 |
def download_youtube_video(youtube_url):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 45 |
with tempfile.NamedTemporaryFile(delete=False, suffix=".mp4") as temp_video:
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 51 |
with YoutubeDL(ydl_opts) as ydl:
|
| 52 |
ydl.download([youtube_url])
|
| 53 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 54 |
|
| 55 |
# YouTube video URL input
|
| 56 |
youtube_url = st.text_input(
|
|
|
|
| 41 |
multimodal_Agent = initialize_agent()
|
| 42 |
|
| 43 |
# Function to download YouTube video using yt-dlp
|
| 44 |
+
from yt_dlp import YoutubeDL
|
| 45 |
+
import tempfile
|
| 46 |
+
|
| 47 |
def download_youtube_video(youtube_url):
|
| 48 |
+
"""
|
| 49 |
+
Downloads a YouTube video using yt-dlp with cookies for authentication.
|
| 50 |
+
|
| 51 |
+
Parameters:
|
| 52 |
+
- youtube_url: The URL of the YouTube video.
|
| 53 |
+
|
| 54 |
+
Returns:
|
| 55 |
+
- The path to the downloaded video file.
|
| 56 |
+
"""
|
| 57 |
+
# Temporary file for the video
|
| 58 |
with tempfile.NamedTemporaryFile(delete=False, suffix=".mp4") as temp_video:
|
| 59 |
+
temp_video_path = temp_video.name
|
| 60 |
+
|
| 61 |
+
# yt-dlp options
|
| 62 |
+
ydl_opts = {
|
| 63 |
+
'format': 'bestvideo+bestaudio/best', # Download best video and audio
|
| 64 |
+
'outtmpl': temp_video_path, # Output file path
|
| 65 |
+
'merge_output_format': 'mp4', # Merge into MP4 format
|
| 66 |
+
'cookies': 'cookies.txt', # Path to the cookies file
|
| 67 |
+
'quiet': True, # Suppress yt-dlp output
|
| 68 |
+
}
|
| 69 |
+
|
| 70 |
+
try:
|
| 71 |
+
# Download the video
|
| 72 |
with YoutubeDL(ydl_opts) as ydl:
|
| 73 |
ydl.download([youtube_url])
|
| 74 |
+
|
| 75 |
+
return temp_video_path # Return the video file path
|
| 76 |
+
|
| 77 |
+
except Exception as e:
|
| 78 |
+
raise RuntimeError(f"An error occurred while downloading the video: {str(e)}")
|
| 79 |
+
|
| 80 |
|
| 81 |
# YouTube video URL input
|
| 82 |
youtube_url = st.text_input(
|