הצעת ייעול | הצעה למיזם: סינון וידאו נקודתי – להציל סרטוני יוטיוב שנחסמים בגלל שניות בודדות!
-
@יוסף-כהן-2 אני לא חושב שהוא צודק שכל שתי שניות ביוטיוב מוזרמים בנפרד משני
כלומר נפרד באמת ושמשהו בבלוק של הקוד משתנה
אבל לא בדקתי
אז בלי אחראיות@לנציצ אני גם לא יודע ב100 אחוז אם זה ככה עובד, ולכן אני רוצה לשמוע את דעת הממוחים פה,
אבל לפי איך שאני יודע, זה ככה עובד.
תנסה לדוגמה לנתק את החיבור לאינטרנט ותראה שזה ימשיך לעבוד לך הסרטון לעוד כמה שניות ואז יעצור (כי הוא מקבל מהשרת את השניות האלו לפני שהוא התנתק מהחיבור..) -
שלום לכולם,
מכירים את זה? מוצאים מדריך מקצועי ביוטיוב, שיעור, תוכנה או סרטון חשוב אחר, פותחים, ו... חסום. למה? כי יש שם איזה כמה שניות בעייתיות באמצע שפסלו את כל הסרטון.
חשבתי על רעיון, מה אם נציע לנטפרי לפתח מנגנון של "סינון נקודתי"? במקום לפסול את כל הסרטון, הבודקים יסמנו את השניות הספציפיות, והסרטון פשוט ידלג עליהן כשאנחנו צופים!
הרעיון שלי הוא כזה:
לאחר שהבודקים סימנו את את השניות הבעייתיות, השרת של נטפרי לא פוסל את כל הסרטון, אלא מחליף רק את השניות הבעייתיות ל"מסך שחור". ככה, גם אם מישהו יוריד את הסרטון למחשב, הוא פשוט יקבל קובץ עם מסך שחור באמצע בלי לעקוף את הסינון.דבר שני, כדי שלא נצטרך לראות מסכים שחורים באמצע הדרכה, קוד קטן בדפדפן שלנו יזהה את הקטע השחור וידלג עליו אוטומטית.
השורה התחתונה, נטפרי מקבלים 100% חסימה למניעת עקיפות, ואנחנו מקבלים סרטונים שלא נפסלים וחווית צפייה רציפה וחלקה!
ניתחתי עם גימיני איך זה יכול לעבוד מהצד הטכני, הסיכום בספוילר
ניתוח טכני להטמעת מנגנון "דילוג וידאו" (Video Stream Manipulation)
יישום המערכת דורש ארכיטקטורה היברידית (Client-Server) כדי להבטיח 100% אטימות למניעת עקיפות (כגון הורדת הקובץ ע"י תוכנות צד-שלישי), לצד שמירה על חווית משתמש רציפה.
הפתרון מורכב משני שלבים מקבילים:שלב 1: צד שרת (Server-Side) - חסימה פיזית למניעת הורדות
שרתי נטפרי פועלים כפרוקסי ובוחנים את התעבורה. פלטפורמות כמו YouTube מזרימות וידאו ב"חתיכות" (Chunks) קטנות (לרוב 2-5 שניות כל אחת).
במקום להחזיר שגיאת HTTP 418 על כל בקשת הווידאו (מה שמכשיל את הסרטון כולו), הסינון יתבצע ברמת ה-Chunk:השרת מזהה בקשה ל-Chunk שמכיל טווח זמנים המסומן כבעייתי במסד הנתונים.
השרת משמיט את ה-Chunk המקורי בצינור התקשורת.
במקומו, השרת מגיש למשתמש (בסטטוס 200 תקין) Chunk חלופי שהוכן מראש – וידאו של "מסך שחור" (Blank screen) באותה רזולוציה בדיוק, יחד עם השתקת סאונד (Audio mute).
התוצאה הבטיחותית: המידע הבעייתי לעולם לא עובר את השרת. גם ניסיון הורדה באמצעות כלים כמו IDM או yt-dlp יניב קובץ שבו ה-Chunks הבעייתיים פשוט אינם, ומוחלפים במסך שחור.
שלב 2: צד לקוח (Client-Side) - חווית משתמש רציפה (Seamless)
קבלת Chunk שחור תמנע קריסה של נגן ה-HTML5, אך תיצור קטיעה בחוויית הצפייה. הפתרון לכך הוא "קפיצה" יזומה של הנגן מעל אותן שניות שחורות.
אנו מציעים ליישם זאת באופן אוטומטי ללא תלות בפעולת משתמש:
הזרקת קוד (Code Injection / DOM Manipulation): מכיוון שהתקשורת עוברת דרך הפרוקסי של הסינון, השרת יכול להזריק סקריפט JS זעיר וסמוי ל-DOM של דף היוטיוב טרם הצגתו. הסקריפט קורא את הזמנים הבעייתיים מה-API של נטפרי, מאזין לאובייקט הוידאו, וברגע שה-currentTime מגיע לטווח המסומן, הוא מעדכן את הזמן קדימה (video.currentTime = skipToTime). (כגיבוי, ניתן לפתח גם Extension רשמי לדפדפן שיבצע את אותה פעולה).הערה לגבי עומס שרתים (Performance & Caching):
כדי למנוע עומס עיבוד (Rendering) בזמן אמת על שרתי הסינון, יצירת ה-Chunk השחור המדויק תתבצע באמצעות כלים כגון FFmpeg פעם אחת בלבד, מיד לאחר סימון הבודק. ה-Chunks המצונזרים יישמרו ב-Cache, וכאשר משתמשים יצפו בסרטון, השרת פשוט "יגיש" אותם סטטית ללא צורך בכוח מחשוב נוסף.
אשמח לשמוע את דעתכם! גם ברמת הרעיון – האם הייתם רוצים לראות את זה קורה? וגם ברמה הטכנית מהמומחים פה – האם לדעתכם הארכיטקטורה הזו יציבה מספיק כדי להציע את זה לנטפרי?
@יוסף-כהן-2 רעיון חמוד אבל נטפרי בקושי בודקים סרטונים אז אתה רוצה שהם גם יסננו לך אותם?!
-
שלום לכולם,
מכירים את זה? מוצאים מדריך מקצועי ביוטיוב, שיעור, תוכנה או סרטון חשוב אחר, פותחים, ו... חסום. למה? כי יש שם איזה כמה שניות בעייתיות באמצע שפסלו את כל הסרטון.
חשבתי על רעיון, מה אם נציע לנטפרי לפתח מנגנון של "סינון נקודתי"? במקום לפסול את כל הסרטון, הבודקים יסמנו את השניות הספציפיות, והסרטון פשוט ידלג עליהן כשאנחנו צופים!
הרעיון שלי הוא כזה:
לאחר שהבודקים סימנו את את השניות הבעייתיות, השרת של נטפרי לא פוסל את כל הסרטון, אלא מחליף רק את השניות הבעייתיות ל"מסך שחור". ככה, גם אם מישהו יוריד את הסרטון למחשב, הוא פשוט יקבל קובץ עם מסך שחור באמצע בלי לעקוף את הסינון.דבר שני, כדי שלא נצטרך לראות מסכים שחורים באמצע הדרכה, קוד קטן בדפדפן שלנו יזהה את הקטע השחור וידלג עליו אוטומטית.
השורה התחתונה, נטפרי מקבלים 100% חסימה למניעת עקיפות, ואנחנו מקבלים סרטונים שלא נפסלים וחווית צפייה רציפה וחלקה!
ניתחתי עם גימיני איך זה יכול לעבוד מהצד הטכני, הסיכום בספוילר
ניתוח טכני להטמעת מנגנון "דילוג וידאו" (Video Stream Manipulation)
יישום המערכת דורש ארכיטקטורה היברידית (Client-Server) כדי להבטיח 100% אטימות למניעת עקיפות (כגון הורדת הקובץ ע"י תוכנות צד-שלישי), לצד שמירה על חווית משתמש רציפה.
הפתרון מורכב משני שלבים מקבילים:שלב 1: צד שרת (Server-Side) - חסימה פיזית למניעת הורדות
שרתי נטפרי פועלים כפרוקסי ובוחנים את התעבורה. פלטפורמות כמו YouTube מזרימות וידאו ב"חתיכות" (Chunks) קטנות (לרוב 2-5 שניות כל אחת).
במקום להחזיר שגיאת HTTP 418 על כל בקשת הווידאו (מה שמכשיל את הסרטון כולו), הסינון יתבצע ברמת ה-Chunk:השרת מזהה בקשה ל-Chunk שמכיל טווח זמנים המסומן כבעייתי במסד הנתונים.
השרת משמיט את ה-Chunk המקורי בצינור התקשורת.
במקומו, השרת מגיש למשתמש (בסטטוס 200 תקין) Chunk חלופי שהוכן מראש – וידאו של "מסך שחור" (Blank screen) באותה רזולוציה בדיוק, יחד עם השתקת סאונד (Audio mute).
התוצאה הבטיחותית: המידע הבעייתי לעולם לא עובר את השרת. גם ניסיון הורדה באמצעות כלים כמו IDM או yt-dlp יניב קובץ שבו ה-Chunks הבעייתיים פשוט אינם, ומוחלפים במסך שחור.
שלב 2: צד לקוח (Client-Side) - חווית משתמש רציפה (Seamless)
קבלת Chunk שחור תמנע קריסה של נגן ה-HTML5, אך תיצור קטיעה בחוויית הצפייה. הפתרון לכך הוא "קפיצה" יזומה של הנגן מעל אותן שניות שחורות.
אנו מציעים ליישם זאת באופן אוטומטי ללא תלות בפעולת משתמש:
הזרקת קוד (Code Injection / DOM Manipulation): מכיוון שהתקשורת עוברת דרך הפרוקסי של הסינון, השרת יכול להזריק סקריפט JS זעיר וסמוי ל-DOM של דף היוטיוב טרם הצגתו. הסקריפט קורא את הזמנים הבעייתיים מה-API של נטפרי, מאזין לאובייקט הוידאו, וברגע שה-currentTime מגיע לטווח המסומן, הוא מעדכן את הזמן קדימה (video.currentTime = skipToTime). (כגיבוי, ניתן לפתח גם Extension רשמי לדפדפן שיבצע את אותה פעולה).הערה לגבי עומס שרתים (Performance & Caching):
כדי למנוע עומס עיבוד (Rendering) בזמן אמת על שרתי הסינון, יצירת ה-Chunk השחור המדויק תתבצע באמצעות כלים כגון FFmpeg פעם אחת בלבד, מיד לאחר סימון הבודק. ה-Chunks המצונזרים יישמרו ב-Cache, וכאשר משתמשים יצפו בסרטון, השרת פשוט "יגיש" אותם סטטית ללא צורך בכוח מחשוב נוסף.
אשמח לשמוע את דעתכם! גם ברמת הרעיון – האם הייתם רוצים לראות את זה קורה? וגם ברמה הטכנית מהמומחים פה – האם לדעתכם הארכיטקטורה הזו יציבה מספיק כדי להציע את זה לנטפרי?
@יוסף-כהן-2 לא אפשרי.
בגלל ש,
א': הזרקות JS זה מלחמה אבודה, יוטיוב משנה כל הזמן את מבנה האתר בשביל להילחם בתוכנות הורדה ובחוסמי פירסומות,ב': כי סרטון לא עובד ככה, יש כזה מושג Keyframe, נגן הווידאו והאודיו של יוטיוב יקבל שגיאה..
ג': כי בשביל לגעת בקובץ המוצפן זה מעבר ל'לראות את התעבורה', זה ממש לגעת בקובץ מוצפן.
ד': כי זה עלויות שרתים מטורפות לשנות קובץ.
ה': כי נטפרי אף פעם לא יקשיבו לך.
פרט לכך לא כל סרטון מגיע בחתיכה קבועה, זה תלוי רזולוציה וכו'..
-
@יוסף-כהן-2 רעיון חמוד אבל נטפרי בקושי בודקים סרטונים אז אתה רוצה שהם גם יסננו לך אותם?!
@הישבשר-המלומד אתה צודק, חשבתי על זה שזה א"כ יהיה הבעייה האמיתית, אבל לכאורה אם כבר בכל מצב הבודקים עוברים על כל סרטון פיזית, מה הבעיה בסרטון שהם רואים שרובו כשר, לחזור ולסמן את השניות האלו?
אני מסכים שזה עוד זמן (וכסף..), אבל בעבודה טובה, ועם ממשק פשוט, זה יכול להיות ממש במהירות,
ובנוסף אפשר להציע להם שהם יעשו את זה בשלב ראשוני רק לסרטוני הדרכה או דברים שממש נצרכים.. -
@הישבשר-המלומד אתה צודק, חשבתי על זה שזה א"כ יהיה הבעייה האמיתית, אבל לכאורה אם כבר בכל מצב הבודקים עוברים על כל סרטון פיזית, מה הבעיה בסרטון שהם רואים שרובו כשר, לחזור ולסמן את השניות האלו?
אני מסכים שזה עוד זמן (וכסף..), אבל בעבודה טובה, ועם ממשק פשוט, זה יכול להיות ממש במהירות,
ובנוסף אפשר להציע להם שהם יעשו את זה בשלב ראשוני רק לסרטוני הדרכה או דברים שממש נצרכים..@יוסף-כהן-2 מוזמן להציע להם...

-
@הישבשר-המלומד אתה צודק, חשבתי על זה שזה א"כ יהיה הבעייה האמיתית, אבל לכאורה אם כבר בכל מצב הבודקים עוברים על כל סרטון פיזית, מה הבעיה בסרטון שהם רואים שרובו כשר, לחזור ולסמן את השניות האלו?
אני מסכים שזה עוד זמן (וכסף..), אבל בעבודה טובה, ועם ממשק פשוט, זה יכול להיות ממש במהירות,
ובנוסף אפשר להציע להם שהם יעשו את זה בשלב ראשוני רק לסרטוני הדרכה או דברים שממש נצרכים..@יוסף-כהן-2 כתב בהצעת ייעול | הצעה למיזם: סינון וידאו נקודתי – להציל סרטוני יוטיוב שנחסמים בגלל שניות בודדות!:
שזה א"כ יהיה הבעייה האמיתית,
בטוח? אני יכול לשכור אותך?
מצאת דרך לפתור את כל הבעיות שהובאו לעיל?
מעניין מאוד.. -
@הישבשר-המלומד אתה צודק, חשבתי על זה שזה א"כ יהיה הבעייה האמיתית, אבל לכאורה אם כבר בכל מצב הבודקים עוברים על כל סרטון פיזית, מה הבעיה בסרטון שהם רואים שרובו כשר, לחזור ולסמן את השניות האלו?
אני מסכים שזה עוד זמן (וכסף..), אבל בעבודה טובה, ועם ממשק פשוט, זה יכול להיות ממש במהירות,
ובנוסף אפשר להציע להם שהם יעשו את זה בשלב ראשוני רק לסרטוני הדרכה או דברים שממש נצרכים..@יוסף-כהן-2 אני לא בטוח שהם אכן בודקים את כל הסרטון לכל האורך שלו אבל לא יודע
מישהו פעם הוכיח לי באותות ומופתים שלא אבל לא זוכר ההסברים-וזה נשמע מוזר שלא
-
@יוסף-כהן-2 לא אפשרי.
בגלל ש,
א': הזרקות JS זה מלחמה אבודה, יוטיוב משנה כל הזמן את מבנה האתר בשביל להילחם בתוכנות הורדה ובחוסמי פירסומות,ב': כי סרטון לא עובד ככה, יש כזה מושג Keyframe, נגן הווידאו והאודיו של יוטיוב יקבל שגיאה..
ג': כי בשביל לגעת בקובץ המוצפן זה מעבר ל'לראות את התעבורה', זה ממש לגעת בקובץ מוצפן.
ד': כי זה עלויות שרתים מטורפות לשנות קובץ.
ה': כי נטפרי אף פעם לא יקשיבו לך.
פרט לכך לא כל סרטון מגיע בחתיכה קבועה, זה תלוי רזולוציה וכו'..
-
שלום לכולם,
מכירים את זה? מוצאים מדריך מקצועי ביוטיוב, שיעור, תוכנה או סרטון חשוב אחר, פותחים, ו... חסום. למה? כי יש שם איזה כמה שניות בעייתיות באמצע שפסלו את כל הסרטון.
חשבתי על רעיון, מה אם נציע לנטפרי לפתח מנגנון של "סינון נקודתי"? במקום לפסול את כל הסרטון, הבודקים יסמנו את השניות הספציפיות, והסרטון פשוט ידלג עליהן כשאנחנו צופים!
הרעיון שלי הוא כזה:
לאחר שהבודקים סימנו את את השניות הבעייתיות, השרת של נטפרי לא פוסל את כל הסרטון, אלא מחליף רק את השניות הבעייתיות ל"מסך שחור". ככה, גם אם מישהו יוריד את הסרטון למחשב, הוא פשוט יקבל קובץ עם מסך שחור באמצע בלי לעקוף את הסינון.דבר שני, כדי שלא נצטרך לראות מסכים שחורים באמצע הדרכה, קוד קטן בדפדפן שלנו יזהה את הקטע השחור וידלג עליו אוטומטית.
השורה התחתונה, נטפרי מקבלים 100% חסימה למניעת עקיפות, ואנחנו מקבלים סרטונים שלא נפסלים וחווית צפייה רציפה וחלקה!
ניתחתי עם גימיני איך זה יכול לעבוד מהצד הטכני, הסיכום בספוילר
ניתוח טכני להטמעת מנגנון "דילוג וידאו" (Video Stream Manipulation)
יישום המערכת דורש ארכיטקטורה היברידית (Client-Server) כדי להבטיח 100% אטימות למניעת עקיפות (כגון הורדת הקובץ ע"י תוכנות צד-שלישי), לצד שמירה על חווית משתמש רציפה.
הפתרון מורכב משני שלבים מקבילים:שלב 1: צד שרת (Server-Side) - חסימה פיזית למניעת הורדות
שרתי נטפרי פועלים כפרוקסי ובוחנים את התעבורה. פלטפורמות כמו YouTube מזרימות וידאו ב"חתיכות" (Chunks) קטנות (לרוב 2-5 שניות כל אחת).
במקום להחזיר שגיאת HTTP 418 על כל בקשת הווידאו (מה שמכשיל את הסרטון כולו), הסינון יתבצע ברמת ה-Chunk:השרת מזהה בקשה ל-Chunk שמכיל טווח זמנים המסומן כבעייתי במסד הנתונים.
השרת משמיט את ה-Chunk המקורי בצינור התקשורת.
במקומו, השרת מגיש למשתמש (בסטטוס 200 תקין) Chunk חלופי שהוכן מראש – וידאו של "מסך שחור" (Blank screen) באותה רזולוציה בדיוק, יחד עם השתקת סאונד (Audio mute).
התוצאה הבטיחותית: המידע הבעייתי לעולם לא עובר את השרת. גם ניסיון הורדה באמצעות כלים כמו IDM או yt-dlp יניב קובץ שבו ה-Chunks הבעייתיים פשוט אינם, ומוחלפים במסך שחור.
שלב 2: צד לקוח (Client-Side) - חווית משתמש רציפה (Seamless)
קבלת Chunk שחור תמנע קריסה של נגן ה-HTML5, אך תיצור קטיעה בחוויית הצפייה. הפתרון לכך הוא "קפיצה" יזומה של הנגן מעל אותן שניות שחורות.
אנו מציעים ליישם זאת באופן אוטומטי ללא תלות בפעולת משתמש:
הזרקת קוד (Code Injection / DOM Manipulation): מכיוון שהתקשורת עוברת דרך הפרוקסי של הסינון, השרת יכול להזריק סקריפט JS זעיר וסמוי ל-DOM של דף היוטיוב טרם הצגתו. הסקריפט קורא את הזמנים הבעייתיים מה-API של נטפרי, מאזין לאובייקט הוידאו, וברגע שה-currentTime מגיע לטווח המסומן, הוא מעדכן את הזמן קדימה (video.currentTime = skipToTime). (כגיבוי, ניתן לפתח גם Extension רשמי לדפדפן שיבצע את אותה פעולה).הערה לגבי עומס שרתים (Performance & Caching):
כדי למנוע עומס עיבוד (Rendering) בזמן אמת על שרתי הסינון, יצירת ה-Chunk השחור המדויק תתבצע באמצעות כלים כגון FFmpeg פעם אחת בלבד, מיד לאחר סימון הבודק. ה-Chunks המצונזרים יישמרו ב-Cache, וכאשר משתמשים יצפו בסרטון, השרת פשוט "יגיש" אותם סטטית ללא צורך בכוח מחשוב נוסף.
אשמח לשמוע את דעתכם! גם ברמת הרעיון – האם הייתם רוצים לראות את זה קורה? וגם ברמה הטכנית מהמומחים פה – האם לדעתכם הארכיטקטורה הזו יציבה מספיק כדי להציע את זה לנטפרי?
@יוסף-כהן-2 רעיון מבורך!

-
@המלאך לגבי כל הבעיות חוץ מה', יש מושג של sponser block, אז זה לא רק אפשרי אלא קיים (רק מוגדר למשהו אחר ממה שאנחנו צריכים...)(למרות שב' ג' ד' - sponser blocker רק מדלג, לא משנה את הקובץ. אבל בטח אפשר לדאוג שיהיה קשה מאד לחזור לקטע המסונן..)
@שלץ מה הקשר?
א' זה לא 'מושג' אלא תוסף,
התוסף הזה רץ לוקאלית על המחשב של המשתמש, במקרה של נטפרי זה צריך להיות בשרת וממילא זה ידרוש כח מיחשוב ענק.
ב' התוסף הזה מבוסס על מליוני אנשים שסימנו תוכן פירסומות.
ג' התתוסף הזה אכן לא עובד תמיד, פעם בכמה ימים יוטיוב משנה את הJS של האתר ולוקח לתוסף יום יומיים שלוש להעתדכן מחדש, דבר שאסור שיקרה בנטפרי.