כתוביות WebVTT (.vtt)
W3C תקןWeb Video Text Tracks (WebVTT) הוא תקן הרשת הרשמי של W3C עבור כתוביות, כתוביות תרגום ותיאורי פרקים, המשולב באופן טבעי באלמנטי וידאו של HTML5 (<track>) ובהזרמת וידאו חיה מודרנית באינטרנט (HLS).
המר SRT ל-VTT
ממיר חינמי מ-SRT ל-VTT פועל בדפדפן. המר קבצים באופן מיידי במכשיר שלך.
בדיקה ומטא-דאטה
מערכות הפעלה ומנתחי קבצים מזהים קבצי WebVTT על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת כותרת ברמת הבייט (Magic Bytes)
מערכות הפעלה ומנתחי קבצים מזהים קבצי WebVTT על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת HEX (היסט 0):
57 45 42 56 54 54ייצוג ASCII: WEBVTT
תקינה: W3C WebVTT Recommendation
מפרט טכני
| ארכיטקטורת מעטפת | UTF-8 text file starting with 'WEBVTT' signature, followed by optional STYLE and NOTE blocks and sequential cue blocks |
| דחיסה | Uncompressed plain text (typically compressed over HTTP via Gzip or Brotli) |
| סדר בתים (Endianness) | UTF-8 text stream |
| מרחבי צבע | Full CSS Color Module Level 4 support in cue styles |
| ערוצים ומבנה | Timecoded cues, speech recognition confidence, CSS styling, and screen position settings |
| ממדים מרביים | Unbounded sequential cues |
| שקיפות | Full CSS opacity and alpha transparency supported via '::cue' pseudo-element |
| הזרמה ופרוגרסיביות | Native streaming in HTML5 <video> elements and HLS / DASH live video manifests |
מטריצת השוואה טכנית: WebVTT מול מתחרים
| תכונה טכנית | WebVTT (נוכחי) | SRT | ASS | SUB |
|---|---|---|---|---|
| שילוב רשת ב-HTML5 | תקן טבעי ב-100% (<track>) | דורש המרת JS | דורש WebAssembly | דורש המרה |
| עיצוב CSS | עיצוב CSS טבעי מלא (::cue) | תגי HTML בסיסיים בלבד | תגי עקיפה קנייניים | אין |
| הזרמת HLS / DASH | תקן שידורי הזרמה אוניברסלי | נתמך באמצעות מיקסוס (muxing) | תמיכה מוגבלת בהזרמה | אין |
| דרישת כותרת | מחרוזת קסם נוקשה 'WEBVTT' בשורה 1 | אין צורך בכותרת | סעיף [Script Info] | אין צורך בכותרת |
מצבי שיחשות נפוצים ומדריך שחזור הקסדצימלי (Hex)
שגיאת קונסולת דפדפן: 'Malformed WebVTT file: Missing WEBVTT signature'.
גורם שורש: מחרוזת 'WEBVTT' חסרה בשורה 1, או שורות ריקות לפני כותרת.
התאוששות: הוסף 'WEBVTT\n\n' בראש הקובץ באמצעות ממיר הכתוביות של File2File.
ניתוח אבטחה ווקטורי התקפה על מנתחים (Parsers)
מנתחי WebVTT בדפדפני אינטרנט מעבדים קטעי טקסט לא מהימנים העלולים להוביל לסטיות אבטחה מסוג Cross-Site Scripting (XSS) אם הם מרונדרים ללא חיטוי בתוך ה-DOM.
ווקטורי תקיפה ידועים
- הזרקת XSS באמצעות תכולת קטעי HTML לא מחוטאים המוחדרת ל-DOM של נגן הווידאו ברשת.
- זיוף בקשות בצד שרת (SSRF) במהלך יצירה אוטומטית בצד שרת של תמונות ממוזערות לכתוביות.
- מניעת שירות באמצעות בוררי קטעי CSS מעוותים.
השיטות המומלצות להגנה:
היסטוריה ואבני דרך
יתרונות מרכזיים
- תקן רשת טבעי ב-HTML5: נתמך ישירות על ידי כל דפדפני האינטרנט באלמנט <track> ללא ספריות חיצוניות.
- תמיכה עשירה בעיצוב CSS: התאמה אישית של צבעים, גופנים, רקעים ומיקומים באמצעות פסאודו-אלמנט ה-CSS הטבעי '::cue'.
- תמיכה מהמעלה הראשונה בהזרמה חיّת (live streaming): משולב במניפסטים של הזרמה מסוג Apple HLS ו-MPEG-DASH עבור כתוביות שידור.
מגבלות טכניות וחסרונות
- דרישת כותרת נוקשה: הקובץ חייב להתחיל בטקסט המדויק 'WEBVTT' בשורה הראשונה ממש, אחרת דפדפנים דוחים אותו.
- מפריד מילישניות בנקודה ('00:01:20.500') דורש המרה מקבצי SRT ישנים המופרדים בפסיקים.
- נגני חומרה ישנים שאינם דפדפנים (כמו תיבות מדיה זולות מבוססות USB) חסרים לעיתים קרובות תמיכה טבעית ב-WebVTT.
עובדות טכניות מעניינות
- כל קובץ WebVTT תקף חייב להתחיל במילה המדויקת 'WEBVTT' בשורה הראשונה; כל דבר אחר גורם לדפדפנים להתעלם מהקובץ.
- WebVTT נקרא במקור 'WebSRT' משום שהוא תוכנן במכוון להיראות כמעט זהה לכתוביות SRT קלאסיות.
- WebVTT יכול לשמש גם עבור פרקי וידאו וטיפים אינטראקטיביים של תמונות ממוזערות בעת מעבר עכבר מעל סרגלי גלילת וידאו.
שאלות טכניות נפוצות
למה משמש WebVTT?
WebVTT הוא פורמט תקן האינטרנט הרשמי להוספת כתוביות, כתוביות סגורות (captions), פרקים ותיאורים לאלמנטי <video> של HTML5 באתרי אינטרנט.
איך אני יכול להמיר כתובית SRT ל-WebVTT?
אתה יכול להמיר קבצי SRT לקבצי WebVTT נקיים בלחיצה אחת באמצעות File2File.app ישירות בדפדפן שלך.
למה כתוביות ה-WebVTT שלי אינן מוצגות בדפדפן?
ודא שהקובץ שלך מתחיל ב-'WEBVTT' בשורה 1, שיש אחריו שורה ריקה, ושרת האינטרנט שלך מגיש אותו עם כותרת ה-'Content-Type: text/vtt'.