וידאו Matroska (.mkv)
Matroska תקןMatroska Video (MKV) הוא פורמט מעטפת מולטימדיה חופשי, ניתן להרחבה ובעל תקן פתוח, המסוגל להכיל מספר בלתי מוגבל של ערוצי וידאו, שמע, תמונות וכתוביות בתוך קובץ יחיד.
בדיקה ומטא-נתונים
מערכות הפעלה ומנתחי קבצים מזהים קבצי MKV על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת כותרת ברמת הבייט (Magic Bytes)
מערכות הפעלה ומנתחי קבצים מזהים קבצי MKV על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת HEX (היסט 0):
1A 45 DF A3ייצוג ASCII: Eߣ
תקינה: Matroska Open Standard / IETF Working Group Draft
מפרט טכני
| מבנה המכולה | מכולת היררכית של Extensible Binary Meta Language (EBML) |
| דחיסה | אינו תלוי במקודד: יכול להכיל וידאו AV1, HEVC, H.264 או VP9, שמע DTS-HD, TrueHD או FLAC, וכן וידאו לא דחוס |
| סדר בתים (Endianness) | ייצוג מספרים שלמים בסדר בתים Big-Endian, עם מתארי גודל באורך משתנה |
| מרחבי צבע | HDR10, Dolby Vision, HLG וכל מרחבי הצבע |
| ערוצים ומבנה | מספר כמעט בלתי מוגבל של רצועות שמע, זרמי כתוביות וזוויות צילום |
| ממדים מרביים | ללא הגבלה; תומך בווידאו 8K ו-16K ובקצבי פריימים גבוהים |
| שקיפות | ערוץ אלפא מלא נתמך כשהמכולה כוללת זרמי VP9 או ProRes |
| הזרמה ופרוגרסיביות | מסגור מקטעים מבוסס אשכולות מאפשר הזרמה חיה יציבה ועמידות בפני פגמים |
מטריצת השוואה טכנית: MKV מול מתחרים
| תכונה טכנית | MKV (נוכחי) | MP4 | WEBM | AVI |
|---|---|---|---|---|
| חופש קודקים | תומך במקודדים רבים; התמיכה תלויה בנגן | מוגבל בעיקר ל-H.264/HEVC/AV1 ו-AAC | מוגבל ל-VP8/VP9/AV1 ו-Vorbis/Opus | קודקים ישנים בלבד |
| נאמנות כתוביות | קובצי גופנים מצורפים יכולים לסייע בעיבוד אם הנגן תומך בהם; המראה תלוי בתוכנה. | עיצוב טקסט בסיסי בלבד | עיצוב WebVTT בסיסי בלבד | נדרשים קבצי כתוביות חיצוניים |
| תמיכה מקומית של Apple | דורש נגן צד שלישי (VLC, IINA, Infuse) | השמעה מובנית בחלק ממכשירי Apple ומתוכנותיה; התמיכה משתנה לפי הפורמט והגרסה | נתמך ב-Safari באמצעות מסגרות עבודה מודרניות | תוסף QuickTime ישן |
| ארכיטקטורת מעטפת | שפה מטא-בינארית ניתנת להרחבה (EBML) | תקן פורמט קובצי מדיה בסיסי של ISO (אטומים/תיבות) | EBML (תת-קבוצה של Matroska) | ארכיטקטורת גושי RIFF |
מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)
הקובץ פועל אך דילוג בציר הזמן (Timeline scrubbing) אינו תקין או שמשך הזמן מחושב באופן שגוי.
גורם שורש: אלמנט 'Cues' פגום או חסר (טבלת החיפוש של Matroska) עקב הורדה לא מלאה.
שחזור: בנה מחדש את טבלת אינדקס החיפוש באופן מיידי באמצעות 'mkvmerge -o fixed.mkv broken.mkv'.
ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)
ניתוח EBML דורש פענוח מספרים שלמים באורך משתנה ועצי אלמנטים מקוננים. אורך אלמנטים מעוות עלול לעורר פגמי ניהול זיכרון.
ווקטורי תקיפה ידועים
- גלישת זיכרון דינמי בניתוח גודל אלמנט EBML בנגני מדיה.
- הרצת קוד שרירותית באמצעות טיפול מעוות בצירופי גופנים מוטמעים במציגי כתוביות.
- מניעת שירות באמצעות לולאות הפניה מעגליות באלמנטי הפרקים של Matroska.
שיטות מומלצות להגנה: נקה סוגי קבצים מצורפים מוטמעים ונתח מבני EBML באמצעות ספריות מנתחים מבודדות ובטוחות לזיכרון.
היסטוריה ואבני דרך
יתרונות מרכזיים
- המעטפת הרב-תכליתית ביותר הקיימת: תומכת כמעט בכל קודק של וידאו, שמע או כתוביות.
- תמיכה מלאה בכתוביות מעוצבות מתקדמות (ASS/SSA), ערוצי שמע רב-לשוניים ותפריטי פרקים.
- עמידות גבוהה בפני שחיתות: אשכולות ניזוקים אינם מונעים את הפעלת הווידאו סביבם.
מגבלות טכניות וחסרונות
- חסר תמיכה מובנת מחוץ לקופסה בנגן Apple QuickTime ברירת המחדל ובמכשירי iOS.
- אינו נתמך באופן מקומי על ידי כל רכזות הטלוויזיה החכמה המסחריות והנגנים החומרתיים.
- לא ניתן להטמעה ישירה בדפדפני אינטרנט סטנדרטיים באמצעות תגית HTML5 <video> ללא קידוד מחדש.
עובדות טכניות מעניינות
- השם 'Matroska' גזור מהמילה הרוסית 'Matryoshka', המתייחסת לבובות עץ רוסיות מקוננות.
- בייטי הקסדצימליים לזיהוי '1A 45 DF A3' מייצגים את מזהה כותרת ה-EBML האוניברסלי המשמש הן את MKV והן את WebM.
- קבצי MKV יכולים להטמיע קבצי גופנים שלמים מסוג TrueType ו-OpenType ישירות בתוך המעטפת כדי להציג כתוביות אנימה.
שאלות טכניות נפוצות
למה הטלוויזיה או הטלפון שלי נכשלים בהפעלת קבצי MKV?
חלק מהמכשירים אינם תומכים ב-MKV או במקודד שנמצא בקובץ. בדוק את התמיכה של הנגן במכולה ובמקודדים לפני ההמרה; העטיפה מחדש ב-MP4 תעזור רק כשהזרמים תואמים.
האם אני יכול להמיר MKV ל-MP4 מבלי לאבד איכות וידאו?
אם מקודדי הווידאו והשמע נתמכים ב-MP4, אפשר לעטוף מחדש את הזרמים בלי לקודד אותם מחדש. אחרת, ייתכן שיהיה צורך להמיר אותם, וההמרה יכולה לשנות את האיכות.
מה הקשר בין MKV ל-WebM?
WebM מבוסס על מודל המכל Matroska/EBML ומשתמש בפרופיל מוגבל של קודקים מוגדרים.