בקשת מידע | עזרה בהתאמת נטפרי לתוכנת הורדה מיוטיוב שאני מפתח
-
שלום. חברים
ברוש השם התחדשתי במנוי קרסר פרו+
ועכשיו אני יכול להתקדם עם פרויקטים לציבור
הנגן וידאו שהבטחתי כבר בשלבים מתקדמים
אבל עכשיו אני צריך עזרה בהתאמת נטפרי לתוכנת הורדה מיוטיוב שאני מפתחכן. אותו אתר שבעבר בקשתי vps לההלאה לאוויר הופך עכשיו את עורו ונהיה תוכנה
אני צריך לדעת
yt_dlp.YoutubeDL.extract_info(url)האם לסרטונים פתוחים עובד בנטפרי?
וגם זהydl.download([url])האם לסרטונים פתוחים עובד בנטפרי?
ואם לא אז מה אפשר לעשות? -
שלום. חברים
ברוש השם התחדשתי במנוי קרסר פרו+
ועכשיו אני יכול להתקדם עם פרויקטים לציבור
הנגן וידאו שהבטחתי כבר בשלבים מתקדמים
אבל עכשיו אני צריך עזרה בהתאמת נטפרי לתוכנת הורדה מיוטיוב שאני מפתחכן. אותו אתר שבעבר בקשתי vps לההלאה לאוויר הופך עכשיו את עורו ונהיה תוכנה
אני צריך לדעת
yt_dlp.YoutubeDL.extract_info(url)האם לסרטונים פתוחים עובד בנטפרי?
וגם זהydl.download([url])האם לסרטונים פתוחים עובד בנטפרי?
ואם לא אז מה אפשר לעשות?@hartkhartk yt_dlp שעובד לוקאלית מהמחשב (ולא בשרת חיצוני) - עובד בנטפרי.
אבל יש כבר כמה וכמה תוכנות שעושות את זה מצויין, בכמה וכמה אופנים (תוכנה/ תוכנה בדמות אתר וכד'). אז לא ברור מה התועלת, אאכ יהיה איזה חידוש משמעותי בתוכנה הזאת על פני השאר -
@hartkhartk yt_dlp שעובד לוקאלית מהמחשב (ולא בשרת חיצוני) - עובד בנטפרי.
אבל יש כבר כמה וכמה תוכנות שעושות את זה מצויין, בכמה וכמה אופנים (תוכנה/ תוכנה בדמות אתר וכד'). אז לא ברור מה התועלת, אאכ יהיה איזה חידוש משמעותי בתוכנה הזאת על פני השאר@oryadaniely נוחות בחינמי מלא
-
@oryadaniely נוחות בחינמי מלא
@hartkhartk יש רק תוכנה אחת בתשלום. אבל מה שבא לך... וגם התוכנה הזאת, הייתרון בה זה שהיא מורידה לא רק מיוטיוב אלא כמעט מכל אתר, גם אתרים שחוסמים הורדות
-
@hartkhartk יש רק תוכנה אחת בתשלום. אבל מה שבא לך... וגם התוכנה הזאת, הייתרון בה זה שהיא מורידה לא רק מיוטיוב אלא כמעט מכל אתר, גם אתרים שחוסמים הורדות
@oryadaniely אז למה הקוד הזה (לוקאלית)
import yt_dlp import os from flask import jsonify SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) COOKIES_FILE = os.path.join(SCRIPT_DIR, 'cookies.txt') def download_video(url, download_audio_only=False, output_dir='./', quality_video='720', quality_audio='320'): os.makedirs(output_dir, exist_ok=True) outtmpl = os.path.join(output_dir, '%(title)s.%(ext)s') # בניית format string לוידאו: "best" / "worst" / "720" if quality_video == 'best': video_format = 'bestvideo+bestaudio/best' elif quality_video == 'worst': video_format = 'worst' else: # מספר כסטרינג video_format = f'best[height<={quality_video}]/bestvideo[height<={quality_video}]+bestaudio/best' # בניית format string לאודיו: "best" / "worst" / "320" if quality_audio == 'best': audio_format = 'bestaudio/best' audio_quality = '320' elif quality_audio == 'worst': audio_format = 'worstaudio' audio_quality = '64' else: # מספר כסטרינג audio_format = 'bestaudio/best' audio_quality = str(quality_audio) if not download_audio_only: ydl_opts = { 'cookiefile': COOKIES_FILE, 'outtmpl': outtmpl, 'noplaylist': True, 'format': video_format, 'merge_output_format': 'mp4', } else: ydl_opts = { 'cookiefile': COOKIES_FILE, 'outtmpl': outtmpl, 'format': audio_format, 'extract_audio': True, 'audio_format': 'mp3', 'postprocessors': [{ 'key': 'FFmpegExtractAudio', 'preferredcodec': 'mp3', 'preferredquality': audio_quality, }], } try: with yt_dlp.YoutubeDL(ydl_opts) as ydl: info = ydl.extract_info(url) filename = ydl.prepare_filename(info) if download_audio_only: filename = os.path.splitext(filename)[0] + '.mp3' elif not os.path.exists(filename): filename = os.path.splitext(filename)[0] + '.mp4' ydl.download([url]) return jsonify({'message': 'ההורדה הסתיימה בהצלחה'}), 200 except Exception as e: print(f"שגיאה בהורדה: {e}") return jsonify({'error': str(e)}), 500מחזיר את זה?
(.venv) PS C:\Users\user\Music\AAA_youtube\YouTube_flask> python app.py * Serving Flask app 'app' * Debug mode: on WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Running on http://127.0.0.1:5000 Press CTRL+C to quit * Restarting with stat * Debugger is active! * Debugger PIN: 324-587-224 127.0.0.1 - - [22/Jun/2026 11:30:46] "GET / HTTP/1.1" 304 - 127.0.0.1 - - [22/Jun/2026 11:30:47] "GET /assets/index-CARg7Y43.js HTTP/1.1" 304 - 127.0.0.1 - - [22/Jun/2026 11:30:47] "GET /assets/index-ByVum_QV.css HTTP/1.1" 304 - 127.0.0.1 - - [22/Jun/2026 11:30:49] "GET /logo.png HTTP/1.1" 304 - [youtube:tab] Extracting URL: https://www.youtube.com/watch?v=FSq6ghoEFq8&list=PLeXm9_pfh4dwrpjdN-8vGCEjcqBQPIZ8H&index=1&t=42s [youtube:tab] Downloading just the video FSq6ghoEFq8 because of --no-playlist [youtube] Extracting URL: https://www.youtube.com/watch?v=FSq6ghoEFq8 [youtube] FSq6ghoEFq8: Downloading webpage [youtube] FSq6ghoEFq8: Downloading web creator player API JSON WARNING: [youtube] HTTP Error 418: Blocked by NetFree. Retrying (1/3)... [youtube] FSq6ghoEFq8: Downloading web creator player API JSON WARNING: [youtube] HTTP Error 418: Blocked by NetFree. Retrying (2/3)... [youtube] FSq6ghoEFq8: Downloading web creator player API JSON WARNING: [youtube] HTTP Error 418: Blocked by NetFree. Retrying (3/3)... [youtube] FSq6ghoEFq8: Downloading web creator player API JSON WARNING: [youtube] Unable to download API page: HTTP Error 418: Blocked by NetFree (caused by <HTTPError 418: Blocked by NetFree>) [youtube] FSq6ghoEFq8: Downloading mweb player API JSON [youtube] FSq6ghoEFq8: Downloading player ac678d18 WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/ac678d18/player_es6.vflset/en_US/base.js WARNING: [youtube] FSq6ghoEFq8: nsig extraction failed: Some formats may be missing n = pENS_29V7KUi33Y ; player = https://www.youtube.com/s/player/ac678d18/player_es6.vflset/en_US/base.js WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/ac678d18/player_es6.vflset/en_US/base.js WARNING: [youtube] FSq6ghoEFq8: nsig extraction failed: Some formats may be missing n = C6HZqNMvKSGNcIl ; player = https://www.youtube.com/s/player/ac678d18/player_es6.vflset/en_US/base.js WARNING: Only images are available for download. use --list-formats to see them ERROR: [youtube] FSq6ghoEFq8: Requested format is not available. Use --list-formats for a list of available formats שגיאה בהורדה: ERROR: [youtube] FSq6ghoEFq8: Requested format is not available. Use --list-formats for a list of available formats 127.0.0.1 - - [22/J -
@oryadaniely אז למה הקוד הזה (לוקאלית)
import yt_dlp import os from flask import jsonify SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) COOKIES_FILE = os.path.join(SCRIPT_DIR, 'cookies.txt') def download_video(url, download_audio_only=False, output_dir='./', quality_video='720', quality_audio='320'): os.makedirs(output_dir, exist_ok=True) outtmpl = os.path.join(output_dir, '%(title)s.%(ext)s') # בניית format string לוידאו: "best" / "worst" / "720" if quality_video == 'best': video_format = 'bestvideo+bestaudio/best' elif quality_video == 'worst': video_format = 'worst' else: # מספר כסטרינג video_format = f'best[height<={quality_video}]/bestvideo[height<={quality_video}]+bestaudio/best' # בניית format string לאודיו: "best" / "worst" / "320" if quality_audio == 'best': audio_format = 'bestaudio/best' audio_quality = '320' elif quality_audio == 'worst': audio_format = 'worstaudio' audio_quality = '64' else: # מספר כסטרינג audio_format = 'bestaudio/best' audio_quality = str(quality_audio) if not download_audio_only: ydl_opts = { 'cookiefile': COOKIES_FILE, 'outtmpl': outtmpl, 'noplaylist': True, 'format': video_format, 'merge_output_format': 'mp4', } else: ydl_opts = { 'cookiefile': COOKIES_FILE, 'outtmpl': outtmpl, 'format': audio_format, 'extract_audio': True, 'audio_format': 'mp3', 'postprocessors': [{ 'key': 'FFmpegExtractAudio', 'preferredcodec': 'mp3', 'preferredquality': audio_quality, }], } try: with yt_dlp.YoutubeDL(ydl_opts) as ydl: info = ydl.extract_info(url) filename = ydl.prepare_filename(info) if download_audio_only: filename = os.path.splitext(filename)[0] + '.mp3' elif not os.path.exists(filename): filename = os.path.splitext(filename)[0] + '.mp4' ydl.download([url]) return jsonify({'message': 'ההורדה הסתיימה בהצלחה'}), 200 except Exception as e: print(f"שגיאה בהורדה: {e}") return jsonify({'error': str(e)}), 500מחזיר את זה?
(.venv) PS C:\Users\user\Music\AAA_youtube\YouTube_flask> python app.py * Serving Flask app 'app' * Debug mode: on WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Running on http://127.0.0.1:5000 Press CTRL+C to quit * Restarting with stat * Debugger is active! * Debugger PIN: 324-587-224 127.0.0.1 - - [22/Jun/2026 11:30:46] "GET / HTTP/1.1" 304 - 127.0.0.1 - - [22/Jun/2026 11:30:47] "GET /assets/index-CARg7Y43.js HTTP/1.1" 304 - 127.0.0.1 - - [22/Jun/2026 11:30:47] "GET /assets/index-ByVum_QV.css HTTP/1.1" 304 - 127.0.0.1 - - [22/Jun/2026 11:30:49] "GET /logo.png HTTP/1.1" 304 - [youtube:tab] Extracting URL: https://www.youtube.com/watch?v=FSq6ghoEFq8&list=PLeXm9_pfh4dwrpjdN-8vGCEjcqBQPIZ8H&index=1&t=42s [youtube:tab] Downloading just the video FSq6ghoEFq8 because of --no-playlist [youtube] Extracting URL: https://www.youtube.com/watch?v=FSq6ghoEFq8 [youtube] FSq6ghoEFq8: Downloading webpage [youtube] FSq6ghoEFq8: Downloading web creator player API JSON WARNING: [youtube] HTTP Error 418: Blocked by NetFree. Retrying (1/3)... [youtube] FSq6ghoEFq8: Downloading web creator player API JSON WARNING: [youtube] HTTP Error 418: Blocked by NetFree. Retrying (2/3)... [youtube] FSq6ghoEFq8: Downloading web creator player API JSON WARNING: [youtube] HTTP Error 418: Blocked by NetFree. Retrying (3/3)... [youtube] FSq6ghoEFq8: Downloading web creator player API JSON WARNING: [youtube] Unable to download API page: HTTP Error 418: Blocked by NetFree (caused by <HTTPError 418: Blocked by NetFree>) [youtube] FSq6ghoEFq8: Downloading mweb player API JSON [youtube] FSq6ghoEFq8: Downloading player ac678d18 WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/ac678d18/player_es6.vflset/en_US/base.js WARNING: [youtube] FSq6ghoEFq8: nsig extraction failed: Some formats may be missing n = pENS_29V7KUi33Y ; player = https://www.youtube.com/s/player/ac678d18/player_es6.vflset/en_US/base.js WARNING: [youtube] Falling back to generic n function search player = https://www.youtube.com/s/player/ac678d18/player_es6.vflset/en_US/base.js WARNING: [youtube] FSq6ghoEFq8: nsig extraction failed: Some formats may be missing n = C6HZqNMvKSGNcIl ; player = https://www.youtube.com/s/player/ac678d18/player_es6.vflset/en_US/base.js WARNING: Only images are available for download. use --list-formats to see them ERROR: [youtube] FSq6ghoEFq8: Requested format is not available. Use --list-formats for a list of available formats שגיאה בהורדה: ERROR: [youtube] FSq6ghoEFq8: Requested format is not available. Use --list-formats for a list of available formats 127.0.0.1 - - [22/J@hartkhartk @חכם-משה
עיינו פה יש פיתרונות להכל. -
אחרי שעה שאני מנסה להוריד מיוטיוב
אני ממש מתוסכל
שום תוכנה לא מצליח
אתה עושה חיפוש עולה לך מליון אפשריות
ובסוף אתה רואה ששום דבר לא עובד
אולי למישהו פה יש כן איזה משהו?
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות