וידאו Flash (.flv)
Adobe תקןFlash Video (FLV) הוא פורמט מעטפת שפותח על ידי Macromedia ו-Adobe כדי לספק וידאו ושמע מסונכרנים דרך האינטרנט באמצעות תוסף הדפדפן Adobe Flash Player.
בדיקה ומטא-דאטה
מערכות הפעלה ומנתחי קבצים מזהים קבצי FLV על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת כותרת ברמת הבייט (Magic Bytes)
מערכות הפעלה ומנתחי קבצים מזהים קבצי FLV על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת HEX (היסט 0):
46 4C 56 01ייצוג ASCII: FLV
תקינה: Adobe Systems Flash Video File Format Specification
מפרט טכני
| ארכיטקטורת מעטפת | Tag-based streaming container with interleaved audio, video, and script data tags |
| דחיסה | Sorenson Spark, VP6, or H.264 video with MP3 or AAC audio |
| סדר בתים (Endianness) | Big-Endian bit and byte ordering |
| מרחבי צבע | YUV 4:2:0 |
| ערוצים ומבנה | Mono and Stereo audio with video stream |
| ממדים מרביים | Commonly up to 1080p |
| שקיפות | Alpha channel transparency supported in VP6 video streams |
| הזרמה ופרוגרסיביות | Native support for RTMP (Real-Time Messaging Protocol) live streaming |
מטריצת השוואה טכנית: FLV מול מתחרים
| תכונה טכנית | FLV (נוכחי) | MP4 | WEBM | MKV |
|---|---|---|---|---|
| תמיכת דפדפנים כיום | 0% (הוסר לחלוטין מכל הדפדפנים המודרניים) | אוניברסלית ב-100% בכל הדפדפנים | תמיכה מלאה בדפדפנים מודרניים | דורש נגן מדיה שולחני |
| תקינה | מפרט קנייני של Adobe | תקן בינלאומי פתוח ISO/IEC | תקן פתוח W3C / WebM | תקן Matroska קוד פתוח |
| הפעלת וידאו במכשירים ניידים | אינה נתמכת באופן מקומי ב-iOS ובאנדרואיד מודרני | תמיכה חומרתית מקומית | תמיכה חומרתית מקומית | נתמך באמצעות VLC/אפליקציות צד שלישי |
| שקיפות אלפא | נתמכת באמצעות קודק On2 VP6 | מוגבלת (דורשת canvas או WebCodecs) | תמיכה מקומית בערוץ אלפא (VP9) | נתמכת בזרמי VP9/ProRes |
מצבי שיחשות נפוצים ומדריך שחזור הקסדצימלי (Hex)
סרטון FLV שהורד מציג את משך הזמן הכולל כ-'לא ידוע' ולא ניתן לגרור בו את סרגל הזמן.
גורם שורש: היעדר תגית סקריפט 'onMetaData' המכילה את חותמות הזמן של פריימי המפתח וטבלאות גודל הקובץ.
התאוששות: הזרק את טבלאות פריימי המפתח החסרות באמצעות 'yamdi' (Yet Another MetaData Injector) או המר ל-MP4 בעזרת File2File.
ניתוח אבטחה ווקטורי התקפה על מנתחים (Parsers)
תוסף Flash Player היה היסטורית אחד מרכיבי התוכנה המותקפים ביותר בתולדות המחשוב בשל באגים של שחיתות זיכרון בניתוח קוד ActionScript וקבצי FLV.
ווקטורי תקיפה ידועים
- שימוש לאחר שחרור (Use-after-free) וגלישת זיכרון דינמי במנוע ניתוח ה-FLV של ActionScript 3 (לדוגמה CVE-2015-5122).
- מנות מטא-דאטה AMF0/AMF3 מעוצבות המפעילות הרצת קוד שרירותית.
- גלישות חוצץ בשגרות פענוח ישנות של Sorenson Spark.
השיטות המומלצות להגנה:
היסטוריה ואבני דרך
יתרונות מרכזיים
- חלוץ היסטורי של וידאו מקוון בכל מקום: איפשר הפעלת וידאו באינטרנט ללא נגנים שולחניים עצמאיים.
- תמך בשקיפות אלפא בזרמי וידאו באמצעות קודק On2 VP6.
- תקורת מנות נמוכה המותאמת להזרמת וידאו חי באיכות RTMP ובהשהיה נמוכה.
מגבלות טכניות וחסרונות
- מיושן לחלוטין ואינו נתמך באף דפדפן אינטרנט מודרני בעקבות הוצאת Flash Player משימוש.
- דורש קידוד מחדש או החלפת מעטפת ל-MP4 לצורך הפעלה במכשירי iOS, אנדרואיד וטלוויזיות חכמות.
- חסר תכונות מעטפת מודרניות כגון שמע רב-ערוצי והזרמת קצב ביטים אדפטיבי מגיב.
עובדות טכניות מעניינות
- הווידאו הראשון שאי פעם הועלה ליוטיוב ('Me at the zoo' באפריל 2005) קודד וסופק כקובץ FLV.
- רצף הבייטים הקסדצימלי המזהה של Flash Video '46 4C 56 01' מאיית את האותיות באסקי 'FLV' ואחריהן גרסת מעטפת 1.
- סטיב ג'ובס פרסם את מכתبو הפתוח והמפורסם 'Thoughts on Flash' בשנת 2010, אשר האיץ את מעבר התעשייה מ-FLV ל-HTML5 MP4.
שאלות טכניות נפוצות
מדוע אינני יכול עוד לנגן קבצי FLV במחשב שלי?
חברת Adobe וכל דפדפני האינטרנט המרכזיים הפסיקו רשמית את התמיכה בנגן Flash בדצמבר 2020 עקב פ vulnerabilities אבטחה. כדי לנגן קבצי FLV כיום, יש להשתמש בנגן המדיה VLC או להמיר אותם לפורמט MP4.
האם אני יכול להמיר FLV ל-MP4 ללא איבוד איכות?
אם קובץ ה-FLV מכיל וידאו מסוג H.264 ואודיו מסוג AAC, מערכת File2File יכולה לבצע מיזוג מעטפות (remuxing) חסר אובדן ל-MP4 בתוך שניות מבלי לדחוס מחדש את הוידאו.
באיזה מקודד השתמשו במקור סרטוני FLV?
קבצי FLV מוקדמים השתמשו ב-Sorenson Spark (גרסה של H.263) ולאחר מכן ב-On2 VP6, לפני שחברת Adobe הוסיפה תמיכה בפורמט H.264 הסטנדרטי בשנת 2007.