בדיקות וידאו צ'אט ופרוטוקול RTMFP

עובדים על פרוייקט הכולל הזרמת וידאו?! מריצים בדיקות של הstream?! בפרסום זה אנסה לתת קצת רקע על Pרוטוקול RTMFP, למה הוא משמש? מה נבדוק בפרוטוקול זה ומה הם הפרטים שחשוב לדעת. נתחיל ברקע...

מהו פרוטוקול RTMFP?
ראשי תיבות: Secure Real-Time Media Flow Protocol.
פרוטוקול זה פותח על ידי adobe ומטרתו להעביר מידע מוטימדיה (וידאו, תמונות, קול ועוד). בשונה מפרוטוקול RTMP שדומה יותר לTCP, פרוטוקול RTMFP דומה יותר לUDP . הפרוטוקול מאובטח בהצפנה ומשמש בעיקרו להעברת הנתונים בין משתמש לשרת או משתמש קצה למשתמש קצה ישירות לאחר קישור על ידי השרת.



חשוב לדעת:
בהזרמת וידאו קיימים משתנים רבים; דחיסה, פרוטוקולים, רשת, פלטפורמות, הגדרות מטמון ועוד. פורמט הדחיסה המקובל היום הינו H264 אך ישנם קודקים נוספים לסוגי דחיסה שונים שעדיין משתמשים בהם בגלל מגבלות פרלטפורמות, חומרה, סביבות פיתוח כמו אדובי וכדומה.

למה דחיסה משנה: סוג הקידוד/דחיסה קובע את נפח המידע המועדבר ברשת וככל שהמידע רב יותר כך; קיים הסיכוי לאבד אותו בדרך וקיים הקושי להעבירו במהירות בגלל נפחו. כיום איכות גבוהה הפכה לדרישת הלקוח מה שעושה את העבודה אף קשה יותר, אם אתם עובדים עם סקייף אתם יכולים לחוות את איבוד המידע בפלטפורמות השונות ולחוות איכות נמוכה ועיוות התצוגה (דוגמה אחת מיני רבות להמחשה).

הזרמת וידאו בגישת TCP לעומת UDP - הזרמת וידאו אינה קלה כמו טקסט או קול ולכן כמה שפחות "פרוצדורה" תקל על התעבודה ותעבירה מהר, במקרה בו אין אנו מדברים על וידאו חי כמו בשיחות וידאו אלא בשידור לצד שני או שידור קובץ שמור מראש שווה לשקול שימוש בRTMP בגישת TCP מאחר בפרוטוקול זה ישנו אימות קבלה מקצה לקצה וכך נמנע איבוד מידע. כאשר נעבוד על שיחת וידאו אנו רוצים מידע מהיר באיכות טובה ובזמן אמת ולכן כל הסרה של עיכוב תועיל לנו.

מה הקושי בפרוטוקול RTMFP (כמו בUDP)?
פרוטוקול זה אינו נותן אימות על כל מידע שמתקבל ולכן מידע אלול ללכת לאיבוד בדרך וכך זה יפגע באיכות הוידאו.
מתי זה קריטי? הוידאו בנוי במבנה כמו דופק כך שאם להציג זאת בפשטות אנו מעבירים תמונה מלאה/פריים מלא (keyframe or Intra) ואחריה רק את הדלתא של ההפרש בין התמונות, כך אנו מקטינים את גודל המידע המועבר ועוזרים להעברה מהירה יותר.
יתרון: ככל שהעברת הפריים המלא מועברת בתדירות נמוכה יותר כך קטנה התעבורה הנדרשת והוידאו עובר מהר יותר.
חסרון: ככל שהעברת הפריים המלא מועברת בתדירות נמוכה יותר כך גדל הסיכוי לאבד את איכות הוידאו ובהירותו.
הנוסחא הטובה ביותר עדיין לא קיימת כי מספר הפרמטרים הוא גדול וישנה תחרות גדולה בשוק היום בתחום זה אבל אתם מבינים את המורכבות ולכן המשתנים הנבדקים הם:

  • סביבת רשת - בדיקת השידור מסלולר לסלולר, מסלולר לרשת קוית ואלחוטית ובין רשת לרשת אלחוטית וקווית.
  • בדיקה ברשת סטרילית עד כמה שאפשר וברשת אמיתית.
  • בדיקת מעבר וידאו ואודיו בין פלרטפורמות, רב הבעיות יהיו בין מחשב ברשת כווית למכשיר נייד (טלפון) ברשת סלולרית (רב הבעיות הנכללות פה הן הקישוריות הראשונה בין הצדדים בעיקר אם אין מעורבות שרת, או peer to peer ואיכות ועיכוב הוידאו והאודיו במעבר בין סוגי רשתות).
  • בדיקת רציפות הקול המתקבל.
  • בדיקות איכות התמונה בפיקים משתנים של רשת אלחוטית.
  • זמן העיכוב - שיחת וידאו בעיכוב של 2 שניות היא עד ללא נעימה למשתמש.
  • רזולוציית הוידאו היוצא והנכנס.
  • צריכת משאבי מערכת במכשירים השונים.  


אתר לבדיקת הפרוטוקול ברשת:
אתר זה יעזור לכם לבצע בדיקה של הרשת. איך תבצעו זאת? מאחר ובהרבה טלפונים אין פלאש בדפדפן עשו כך כדי לעקוף:

  1. הגדירו בטלפון שלכם נקודה חמה (הטלפון הופך לראוטר).
  2. התחברו עם הלפטופ לנקודה החמה (גלישה באמצעות ה3G).
  3. ראו את התוצאות המוצגות.
כך תוכלו לעשות השוואה בין גלישה עם רשת סלולרית לרשת Wifi ולהשוות במקרה בו באחד מהבדיקות אין נגישות או וידאו.


מידע מעניין ונוסף בתחום:





תגובות

פוסטים פופולריים מהבלוג הזה

אמולטור למכשירי אנדרויד - כלי קטן חוסך זמן

באגים קשים לשחזור - הפעם מובייל

בדיקות במכשירים ניידים - Mobile