כל מי שמתעסק בשרתי מדיה ו-streaming מכיר את Flash Media Server כשרת אמין ויציב לתקשורת וידאו ב-stream עבור שידורים חיים ן-vod. 85% מהוידאו ברשת, שידורים חיים ו-vod משודרים ל-Flash Player והיתרון בשימוש עם Flash Media Server הוא שאין צורך בהתקנה נוספת חוץ מ-Flash Player שמותקן על 97% מהמחשבים המחוברים לאינטרנט.
אחת המשימות החשובות כאשר יוצרים אפליקציית וידאו ל-vod או Streaming היא יצירת מערכת מאובטחת שניתן להכנס לתכנים שלה רק אחרי אוטנטיקציה של המשתמש והגדרת הרשאות (לדוגמא: יכולת שידור, יכולת קבלת stream וכו)
ישנם מספר דרכים לבצע אוטנטיקציה בכניסה לאפליקציית FMS:
1. אותנטיקציה ב-SSAS : כאשר משתמש מנסה להתחבר לאפליקציית FMS הוא יכול להעביר פרמטרים נוספים כחלק מתהליך ההתחברות. בשלב זה יכול הסקריפט בצד השרת לבצע קריאה ל-Database באמצעות http או tcp לשרת חיצוני ולאשר את המשתמש על פי הפרטים. בשלב זה גם ניתן לתת לו הרשאות לגבי publish ו-receive לשידור. בכל שלב ניתן להעיף את המשתמש מהחיבור ל-FMS.
2. אותנטיקציה ב-FMS Plugin: קיימת אפשרות לכתוב plugin ספציפי ב-c++/c שמתחבר ל-flow של ה-FMS ולאשר או לא לאשר פעולות של משתמשים במספר שלבים בדרך:
a. שלב ההתחברות: שלב זה מתבצע לפני חיבור המשתמש לאפליקציה, ובו ניתן גם להעביר משתמש לשרת/אפליקציה אחרת ללא שהמשתמש ידע על כך (טוב במקרים של load balancer אפליקטיבי).
b. שלב פעולה על stream: כאשר משתמש רוצה לבצע פעולה מבויימת על stream (להאזין או לשדר לדוגמא) ניתן לבדוק אילו הרשאות קיימות לו ועל פי זה לאשר לבצע את הפעולה.
שימוש באותנטיקציה ב-SASS דורש יותר משאבים (CPU) משרת ה-FMS ובאופן כללי אם ניתן, עדיף לבצע אותנטיקציה ברמת ה-plugin.
דוגמא לאותנטיקציה ב-SSAS:
Application.onConnect = function(client, username, password) {
if(username == myUsername && password == myPassword)
{
application.acceptConnection(client);
}
else
{
application.rejectConnection(client);
}
}
Adobe שחררה היום את ה-specifications של RealTime Messaging Protocol, הפרוטוקול שמשמש לתקשורת בין משתמשים ב-FMS לבין Flash Player.
המסמך מתאר יצירת handshake, והעברת הודעות ו-chunks של data, המסמך לא מפרט את צורת ה-security של הפרוטוקול בשביל למנוע sniffing, וכמו כן אינו כולל פירוט של העברת אודיו ווידאו בין ה-client לשרת.
פירוט נוסף בבלוג של Kevin Towes, FMS Product Manager
RTMP Specifications
לפני יומיים שוחרר ב-labs של Adobe גרסה 10 שם קוד Astro עם רשימת פיצ'רים מהפכנית משהו. החידושים צפויים במספר רמות. הרמה הויזואלית מבטיחים Adobe רמה שנראתה עד היום באפליקציות דסקטופ בלבד. החידושים ברמה הויזואלית כוללים יצירת פילטרים ואפקטים על ידי המשתמש באמצעות Adobe Pixel Bender, האפקטים אינם צריכים התקנה מיוחדת בצד המשתמש וניתן להחיל אותם על כל Display Object בפלאש.
הרמה הגראפית כוללת גם יכולות 3D על ידי תמיכה ב- Drawing API מורחב, ברמת ביצוע מהירה ושימוש יעיל הרבה יותר במשאבי המחשב. רמת הביצועים המהירה עולה עוד יותר על ידי שימוש בעיבוד גרפי על ידי ה-GPU (Graphics processing unit) במקום השימוש ב-CPU גם כאשר האפליקציה רצה ב-Browser מה שמאפשר ביצועים הרבה יותר מהירים לקוד ואפשרות לשימוש ברכיבים גרפיים רבים ומורכבים יותר. התמיכה ב-GPU דורשת כרטיסי וידאו Open GL 2.0 עם תמיכה ב-GLSL . האופציה הזאת יכולה להשתנות ב-runtime על ידי שינוי פרמטר HTML. אם למחשב הלקוח אין תמיכה בחומרה, האפליקציה תרוץ באופן רגיל על ה-CPU.
בצד הטקסטואלי יש הוספה לתמיכה בשפות RTL (עברית בפלאש!!!) שימוש הרבה יותר חזק ב-device fonts כמו ב-embeded fonts. וניתן להחיל פילטרים ואפקטים גם על הטקסט.
ברמת תקשורת ומולטימדיה ישנם פיצ'רים נוספים שרובם יהיו רלוונטיים רק כאשר ה-FMS החדש יצא, אבל כאופציה ניתן להרשם לתוכנית ה-Beta של ה-FMS ולהתעדכן אפילו יותר מהר. החידושים בנושא זה הם בראש ובראשונה Dynamic Streaming. בגרסה החדשה של ה-FMS תהיה יכולת לשדר באיכות/fps המתאימים ללקוח על פי ביצועי הרשת הספיציפים שלו. ל-Actionscript תהיה גישה לביצועי הרשת וה-CPU של המחשב בכדי לדעת בכל זמן נתון מהי איכות הוידאו המקסימלית אותה יכול הלקוח לנצל וה-FMS ישדר אותה ללקוח בהתאם.
הפיצ'ר שהכי מרגש אותי בפלייר החדש הוא האופציה של RTMFP(Real Time Media Flow Protocol), מדובר ברשת תקשורת על בסיס UDP שיכולה לאפשר תקשורת בין משתמשים ללא צורך במעבר המידע דרך שרת (P2P!!!). גם במקרה הזה השרות ימתין עד להגעת הגרסה החדשה של ה-FMS, שייצר רשת שמבוססת על UDP אליה הלקוחות יתחברו ויעבירו מידע ביניהם. קצת לגבי UDP..
תמיכה נוספת של ה-FMS תהיה שידור אודיו ב-Speex בצד המקודד (ה-client) מאחר שעד היום יש תמיכה רק ב-compression של Nellymoser. שיפור מאוד משמעותי באיכות וב-latency.
אפשרויות נוספות חדשות ב-player הם גישה דרך ה-player לקבצים על המחשב בזמן אמת ללא צורך להעלות לשרת, אפשרות מדהימה, מה שמעניין אותי בהקשר הזה זה מה יהיה חשוף מבחינת security והאם זה לא יצור יותר בעיות מאשר יתרונות. אופציה נוספת היא ייצור אודיו באמצעות אובייקט Sound ועד מספר פיצ'רים שיורחבו בהמשך.
אפשר לראות דמו הסברים והדגמת ביצועים לחלק מהאפשרויות החדשות כאן
תגובות אחרונות