כתוביות MicroDVD (.sub)
MicroDVD תקןMicroDVD Subtitle (SUB) הוא פורמט כתוביות מבוסס-פריימים ישן, המסנכרן בין קטעי דיאלוג באמצעות מספרי פריימים מדויקים של וידאו במקום חותמות זמן מוחלטות של שעון.
המר SUB ל-SRT
ממיר חינמי מ-SUB ל-SRT פועל בדפדפן. המר קבצים באופן מיידי במכשיר שלך.
בדיקה ומטא-נתונים
מערכות הפעלה ומנתחי קבצים מזהים קבצי SUB על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת כותרת ברמת הבייט (Magic Bytes)
מערכות הפעלה ומנתחי קבצים מזהים קבצי SUB על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת HEX (היסט 0):
7B 31 7D 7B / 7B 30 7D 7Bייצוג ASCII: {1}{ / {0}{
תקינה: MicroDVD File Specification
מפרט טכני
| מבנה המכולה | תבנית טקסט מבוססת פריימים, שבה כל שורה מגדירה {start_frame}{end_frame} ולאחריהם טקסט הכתובית |
| דחיסה | טקסט פשוט לא דחוס |
| סדר בתים (Endianness) | זרם טקסט UTF-8 או ANSI |
| מרחבי צבע | קודי בקרה אופציונליים של MicroDVD ({y:b}, {y:i}, {c:$BBGGRR}) |
| ערוצים ומבנה | טקסט כתוביות מסונכרן לפריימים עם עיצוב בסיסי |
| ממדים מרביים | מספר שורות רצופות ללא מגבלה קבועה |
| שקיפות | אין |
| הזרמה ופרוגרסיביות | השמעה רציפה בהזרמה, פריים אחר פריים |
מטריצת השוואה טכנית: SUB מול מתחרים
| תכונה טכנית | SUB (נוכחי) | SRT | VTT | ASS |
|---|---|---|---|---|
| מנגנון תזמון | מספרי פריימים ({start_frame}{end_frame}) | חותמות זמן (HH:MM:SS,mmm) | חותמות זמן (HH:MM:SS.mmm) | חותמות זמן (H:MM:SS.cc) |
| תלות בקצב פריימים | תלוי ב-100% בקצב הפריימים המדויק של הווידאו | בלתי תלוי בקצב פריימים הווידאו | בלתי תלוי בקצב פריימים הווידאו | בלתי תלוי בקצב פריימים הווידאו |
| תמיכה באינטרנט מודרני | אין (דורש המרה) | דורש המרת JS | תגית <track> מובנית ב-HTML5 | דורש WebAssembly |
| שימוש נוכחי | ארכיוני DivX/XviD ישנים | התמיכה משתנה בין תוכנות. | תקן וידאו אינטרנטי מודרני | אנימה וכתוביות מעוצבות |
מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)
הכתוביות מתנגנות מהר פי שניים או לאט פי שניים מאודיו הסרט.
גורם שורש: אי-התאמה בקצב פריימים (לדוגמה, כתוביות המותאמות לווידאו של 29.97 פריימים בשנייה מנוגנות בקובץ של 23.976 פריימים בשנייה).
שחזור: המר ל-SRT מבוסס חותמות זמן עם קצב פריימים נכון באמצעות ממיר הכתוביות של File2File.app.
ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)
מנתחי MicroDVD מבצעים חישובים מתמטיים של מספרי פריימים, שבהם גלישת מספר שלם (integer overflow) עלולה לגרום לשחיתות בזיכרון החוצץ (buffer).
ווקטורי תקיפה ידועים
- גלישת מספר שלם במהלך המרת חותמת זמן מפריים למילישניות.
- קריאת יתר של חוצץ בעת ניתוח תגי סוגריים מסולסלים שלא נסגרו.
- מניעת שירות (DoS) באמצעות רצפי מספרי פריימים שליליים או יורדים.
שיטות מומלצות להגנה: ודא שמספרי הפריימים של הסיום גדולים ממש ממספרי הפריימים של ההתחלה.
היסטוריה ואבני דרך
יתרונות מרכזיים
- מבטיח תזמון כתוביות מדויק ברמת הפריים, המקושר ישירות למחזורי רענון הווידאו.
- תחביר קומפקטי במיוחד: כל קטע תופס בדיוק שורת טקסט אחת (לדוגמה: '{100}{250}Hello world').
- נתמך על ידי נגני מדיה שולחניים ישנים מרכזיים (VLC, MPC, GOM Player).
מגבלות טכניות וחסרונות
- תלוי בקצב פריימים: אם קצב פריימים הווידאו משתנה (לדוגמה מ-23.976 ל-25 פריימים בשנייה), כל הכתוביות מאבדות סנכרון מיד.
- סיומת קובץ דו-משמעית: '.sub' משמש גם עבור גרפיקת מפת סיביות בינארית של DVD מסוג VobSub.
- אינו נתמך באופן טבעי על ידי דפדפני אינטרנט מודרניים או פלטפורמות הזרמה.
עובדות טכניות מעניינות
- כל שורה בקובץ MicroDVD SUB מתחילה בסוגריים מסולסלים המכילים מספרי פריימים: '{1200}{1280}Watch out!'.
- אם קובץ SUB אינו מצהיר על קצב פריימים הווידאו בשורה 1, נגני מדיה מודרניים חייבים לנחש את קצב הפריימים (מה שגורם לעיתים קרובות לשגיאות סנכרון).
- הפורמט נוצר במיוחד עבור הנגן הקלאסי MicroDVD Player, אשר אפשר מעטפות (skins) מותאמות אישית ב-Windows 98.
שאלות טכניות נפוצות
למה כתוביות ה-.sub שלי אינן מסונכרנות עם הסרטון שלי?
משום שקבצי .sub משתמשים במספרי פריימים במקום בזמן אמיתי. אם הסרטון שלך מנוגן בקצב פריימים שונה (כמו 24 fps לעומת 30 fps) מזה שעבורו נוצרו הכתוביות, הן יצאו מסנכרון.
איך אני יכול להמיר .sub ל-.srt?
המר קובצי .sub מבוססי פריימים לכתוביות SRT מבוססות חותמות זמן בדפדפן; דיוק התזמון תלוי בקצב הפריימים של קובץ המקור.
מה ההבדל בין .sub טקסטואלי ל-VobSub .sub?
טקסט .sub (MicroDVD) הוא קובץ טקסט פשוט עם סוגריים מסולסלים. VobSub .sub הוא קובץ בינארי המכיל תמונות גרפיות גולמיות שנשלפו ישירות מ-DVD, יחד עם קובץ אינדקס .idx.