ویدیو Matroska (.mkv)
Matroska استانداردماتروسکا ویدیو (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) hierarchical container |
| فشردهسازی | Codec-agnostic: holds AV1, HEVC, H.264, VP9, DTS-HD, TrueHD, FLAC, and uncompressed video |
| ترتیب بایتها (Endianness) | Big-Endian integer representations with variable-length size descriptors |
| فضاهای رنگی | HDR10, Dolby Vision, HLG, and all color spaces |
| کانالها و ساختار | Virtually unlimited audio tracks, subtitle streams, and camera angles |
| حداکثر ابعاد | Unrestricted; supports 8K, 16K, and high framerate video |
| شفافیت مشخصات | Full alpha channel support when holding VP9 or ProRes streams |
| استریمینگ و پیشرونده | Cluster-based chunk framing allows robust live streaming and resilience to corruption |
ماتریس مقایسه فنی: MKV در برابر رقبا
| ویژگی فنی | MKV (فعلی) | MP4 | WEBM | AVI |
|---|---|---|---|---|
| آزادی کدک | سراسری: هر کدک ویدیو، صوت یا زیرنویسی را میپذیرد | محدود عمدتاً به H.264/HEVC/AV1 و AAC | محدود به VP8/VP9/AV1 و Vorbis/Opus | فقط کدکهای قدیمی |
| دقت زیرنویس | رندر کردن بینقص با پیوستهای فونت جاسازی شده | فقط استایلدهی متن پایه | فقط استایلدهی پایه WebVTT | نیازمند فایلهای زیرنویس خارجی |
| پشتیبانی بومی اپل | نیازمند پخشکننده شخص ثالث (VLC، IINA، Infuse) | ۱۰۰ درصد بومی روی تمامی دستگاههای اپل | پشتیبانی شده در سافاری از طریق فریمورکهای مدرن | افزونه قدیمی QuickTime |
| معماری کانتینر | زبان متدادی باینری قابل توسعه (EBML) | فرمت فایل رسانهای پایه ISO (اتمها/باکسها) | EBML (زیرمجموعه ماتروسکا) | معماری تکه RIFF |
حالتهای رایج خرابی و راهنمای بازیابی هگز
فایل پخش میشود اما اسکراب کردن در خط زمانی خراب است یا مدت زمان به اشتباه محاسبه میشود.
علت ریشهای: عنصر 'Cues' آسیبدیده یا گمشده (جدول جستجوی ماتروسکا) به دلیل دانلود ناقص.
بازیابی: بازسازی فوری جدول ایندکس جستجو با استفاده از 'mkvmerge -o fixed.mkv broken.mkv'.
تحلیل امنیتی و بردارهای حمله تجزیهکننده (Parser)
تجزیه EBML مستلزم رمزگشایی عدد صحیح با طول متغیر و درختان عناصر تو در تو است. طول عناصر ناقص میتواند نقصهای مدیریت حافظه را ایجاد کند.
بردارهای حمله شناختهشده
- سرریز بافر هیپ در تجزیه اندازه عنصر EBML در پخشکنندههای رسانه.
- اجرای کد خودسرانه از طریق مدیریت پیوست فونت جاسازی شده ناقص در رندرهای زیرنویس.
- حمله محرومیت از سرویس (DoS) از طریق حلقههای ارجاع دایرهای در عناصر فصل ماتروسکا.
بهترین روشهای پدافندی:
تاریخچه و نقاط عطف
مزایا و نقاط قوت کلیدی
- همهفنحریفترین کانتینر موجود: از تقریبا هر کدک ویدیو، صوت و زیرنویسی پشتیبانی میکند.
- پشتیبانی کامل از زیرنویسهای استایلبندی شده پیشرفته (ASS/SSA)، ترکهای صوتی چندزبانه و منوی فصلها.
- مقاومت بالا در برابر خرابی: خوشههای آسیبدیده مانع از پخش ویدیوی اطراف نمیشوند.
محدودیتها و معایب فنی
- فاقد پخش بومی آماده در پخشکننده پیشفرض Apple QuickTime و دستگاههای iOS.
- توسط تمام هابهای هوشمند تلویزیون تجاری و پخشکنندههای سختافزاری به صورت بومی پشتیبانی نمیشود.
- نمیتواند مستقیماً بدون کدگذاری مجدد در مرورگرهای وب استاندارد از طریق تگ <video> HTML5 جاسازی شود.
نکات فنی جالب
- نام 'ماتروسکا' از کلمه روسی 'Matryoshka' گرفته شده است که به عروسکهای چوبی تو در تو اشاره دارد.
- بایتهای جادویی '1A 45 DF A3' معرف شناسه هدر جهانی EBML هستند که توسط هر دو MKV و WebM استفاده میشود.
- فایلهای MKV میتوانند کل فایلهای فونت TrueType و OpenType را مستقیماً در داخل کانتینر برای رندر کردن زیرنویسهای انیمه جاسازی کنند.
سوالات فنی متداول
چرا تلویزیون یا گوشی من نمیتواند فایلهای MKV را پخش کند؟
اگرچه فرمت MKV روی رایانهها محبوب است، اما برخی تلویزیونها و دستگاههای iOS مجوز کانتینر یا کدک صوتی پیشرفته خاص (مانند DTS) درون آن را ندارند. تبدیل MKV به MP4 ناسگاری را فورا برطرف میکند.
آیا میتوانم MKV را بدون از دست دادن کیفیت ویدیو به MP4 تبدیل کنم؟
بله! اگر ویدیوی داخل MKV شما H.264 یا HEVC باشد، File2File جریانهای ویدیو را در چند ثانیه و بدون انکود مجدد، در یک کانتینر MP4 بستهبندی میکند و ۱۰۰٪ کیفیت اصلی را حفظ میکند.
رابطه بین MKV و WebM چیست؟
فرمت WebM یک زیرمجموعه رسمی از ماتروسکا (Matroska) است. WebM از ساختار کانتینر EBML یکسانی با MKV استفاده میکند، اما کدکها را صرفاً به استانداردهای وب باز (VP8/VP9/AV1 و Vorbis/Opus) محدود میکند.