דלג לתוכן הראשי

צפייה מרחוק בזמן אמת (Screen Streaming)

מערכת ה-Streaming (server-nest/src/screen-streaming) מאפשרת למנהלים לצפות בנעשה על המסך בזמן אמת, בדומה ל-VNC אך מבוסס Web.

טכנולוגיה

הפתרון משתמש ב-WebSockets (ScreenStreamingGateway) להעברת פריימים.

זרימת הנתונים

  1. Start Stream: המנהל מבקש צפייה. השרת שולח פקודת START_STREAM למכשיר.
  2. Device Capture: המכשיר מתחיל ללכוד את המסך בקצב מוגדר (למשל 5-10 FPS).
  3. Compression: כל פריים נדחס ל-JPEG (באיכות נמוכה/בינונית לחיסכון ברוחב פס).
  4. Transmission: הפריימים נשלחים ב-Socket לשרת.
  5. Broadcasting: השרת מעביר את הפריימים ללקוח (Admin Dashboard) שמציג אותם על גבי אלמנט <img /> או <canvas /> המתעדכן תדיר.

אבטחה וביצועים

  • Token Auth: ערוץ ה-Socket מאובטח ומחייב הרשאת MANAGE_REMOTE_CONTROL.
  • Throttling: השרת מגביל את קצב השידור כדי לא לחנוק את הרשת של בית הכנסת.
  • Auto Stop: השידור מפסיק אוטומטית אם המנהל סוגר את החלון או אחרי זמן קצוב (למשל 2 דקות) כדי לחסוך משאבים.

בעיות נפוצות

  • Lag: תלוי מאוד במהירות העלאה (Upload) בבית הכנסת.
  • Black Screen: במכשירי אנדרואיד מסוימים, תוכן וידאו מוגן (DRM) עלול להופיע כשחור בצילום מסך.