וידאו עם HTML-5 מול Flash

בימים האחרונים עולה ברשת שוב הויכוח האם HTML-5 יכול "להרוג" את פלאש מבחינת וידאו.  גם גוגל וגם חברות אחרות נמצאות בתוך הקלחת הזו, אז חשבתי לתרום קצת מנסיוני בתחום הוידאו ולהסביר מס' דברים. במאמר הפעם אני לא אכנס לעניין המקודדים (Codecs)..

בעקרון יש בגדול 2 שיטות לשידור וידאו: שיטה פשוטה ושיטה מתוחכמת.

השיטה הפשוטה היא השיטה שידועה לכולם: לוקחים קובץ וידאו, זורקים אותו לתוך שרת ה-WEB (בין אם זה Apache או IIS), בדף עצמו מטמיעים תוכנת נגן כלשהי (נגן פלאש, Quicktime או Windows Media Player) וכשהמשתמש לוחץ על Play, הנגן מבקש דרך HTTP את קובץ המדיה, הוא מאחסן כמה שניות ומתחיל לפרוס את הקובץ ולנגן אותו תוך כדי שהוא אוגר עוד ועוד וידאו ומנגן אותו. בשיטה זו אתרים פשוטים רבים עובדים (רוב אתרי הפורנו לדוגמא). החסרון בשיטה זו שאם יש איטיות בתקשורת בין שרת ה-WEB לדפדפן שלך, אתה תקבל הרבה הודעות Buffering, והוידאו "יתקע" למשך מס' שניות עד שהנגן יאגור עוד תוכן ורק אז ינגן אותו. חסרון נוסף הוא שאין גמישות מבחינת הקידוד (תיכף ארחיב על כך) והחסרון המשמעותי ביותר: קשה לקבל מידע מפורט כמה זמן משהו נוגן, היכן המשתמש עצר את הוידאו וכו'. היתרון, לעומת זאת, הוא שאין צורך בשרת מיוחד כדי לנגן את הוידאו וכל שרת WEB יוכל להעביר את הוידאו לנגן.

השיטה המתוחכמת היא שיטה שבה משתמשים בשרת מדיה יעודי (כמו Quicktime Server, או Flash Media Server, או Windows Media Services וישנם עוד כמה שרתים כאלו). בשיטה זו לא משתמשים בשרת ה-Web הרגיל אלא משתמשים בשרת מיוחד ובפרוטוקול נפרד (MMS במיקרוסופט, RTSP אצל אפל, Real Network, או RTMP ב-Flash). השימוש בפרוטוקול ובשרת נותנים גמישות רבה יותר. אפשרות לשלוח Bitstream יותר גבוה או נמוך בהתאם למהירות התקשורת של הצד הצופה. אם לדוגמא התקשורת בין שרת המדיה ללקוח גבוהה, אפשר לשדר גירסה עם קידוד ביטים יותר גבוה, ואם מהירות התקשורת באמצע השידור נוחתת, אפשר לשנות מיידית את השידור לגירסה שמתאימה יותר למהירות הנוכחית. אפשר לשלב פרסומת דינמית מותאמת או כל אלמנט טכני אחר באמצע השידור (לדוגמא, החלפת תוכן הדף). אפשר לקבל סטטיסטיקות הרבה יותר מפולחות ומדויקות מי צפה במה וכמה זמן, איך היתה איכות השידור, כמה פעמים הוידאו עצר ועוד ועוד.

סטיב ג'ובס הוא "אנטי" פלאש בגלל כל מיני סיבות והוא דוחף את HTML-5 כתחליף לפלאש, אך התחליף האמיתי בכל הנוגע לוידאו מבחינתו של ג'ובס הוא Quicktime וללקוחות מעוניינים: Quicktime Server (שהמקודדים היוקרתיים שלו עולים כסף), כך שמבחינת אפל, הרווח פשוט יותר גדול כי כך אפשר לעקוף מתחרה ולהרוויח פלח שוק ורווח פיננסי כמובן, אך HTML-5 ותמיכת הוידאו שלו לא עוקפת את מה שיש לפלאש להציע. HTML-5 לא תומך ב-Stream עם מהירות ביטים משתנה, הוא לא תומך בתוכן מוגן, הוא לא תומך בפידבק בחזרה למקרין התוכן ואין בו הרבה דברים למה שפלאש מציע בתחום ניגון הוידאו (ועוד לא הזכרתי את עניין ה-HD). זו הסיבה לדוגמא שיוטיוב לא הולכים מחר לזרוק את Flash לטובת HTML-5. הם יאפשרו ניגון בפורמט HTML-5 אך עדיין ברירת המחדל תהיה פלאש וגוגל מכירים בכך ש-HTML-5 לא יהרוג את פלאש.

לסיכום: HTML-5 בהחלט יכול לעזור בניגון קבצי וידאו פשוטים משרת WEB דרך הדפדפן, אך בשלב זה ל-HTML-5 אין פתרון שמתאים לגופי שידור אינטרנט גדולים כמו Cast-up בארץ, או HULU בחו"ל. פלאש ישאר איתנו זמן רב, גם אם סטיב ג'ובס מתנגד לו.