ما هو ملف MKV؟
MKV (Matroska Video) عبارة عن حاوية وسائط متعددة تشبه تنسيق MOV و AVI ولكنها تدعم أكثر من مسار صوتي وترجمة في نفس الملف. ملف MKV هو تنسيق حاوية الوسائط المتعددة Matroska المستخدم للفيديو. يعتمد MKV على لغة Meta الثنائية القابلة للتوسيع ويدعم العديد من تنسيقات ضغط الفيديو والصوت. يتمثل الاختلاف الرئيسي بين MKV وتنسيقات الفيديو الأخرى في أن MKV عبارة عن حاوية وليست برنامج ترميز. يتم حفظ ملفات MKV بامتداد الملف mkv. يمكن لـ MKV دمج الصوت والفيديو والعناوين الفرعية في ملف واحد حتى إذا كانت هذه العناصر تستخدم أنواعًا مختلفة من الترميز. على سبيل المثال ، يمكن أن يكون لديك ملف MKV يحتوي على فيديو H.264 و MP3 أو AAC للصوت. يدعم MKV أيضًا الأوصاف والتقييمات وفن الغلاف وحتى نقاط الفصل. هناك العديد من الميزات الرئيسية التي تعتبر MKV دليلًا على المستقبل. تشمل هذه الميزات:
- دعم البحث السريع.
- القدرة على تحديد تيارات الصوت والفيديو المختلفة.
- دعم الترجمة (المشفرة وغير المشفرة).
- دعم البيانات الوصفية والفصول والقوائم.
- القدرة على البث عبر الإنترنت.
- القدرة على استعادة الملفات الخاطئة التي توفر القدرة على تشغيل الملفات التالفة.
نبذة تاريخية
تم إنشاء ملف MKV في عام 2002 في روسيا. المطور الرئيسي كان Lasse Kärkkäinen الذي عمل مع مؤسس Matroska ، Steve Lhomme ، وفريق من المبرمجين. تم تطوير MKV كمشروع معايير مفتوحة ، مما يعني أنه مفتوح المصدر ومجاني للاستخدام. مع مرور الوقت ، تم تحسين التنسيق وأصبح أساس تنسيق الوسائط المتعددة WebM في عام 2010.
تصميم ماتروسكا
يضيف Matroska القيود التالية إلى مواصفات EBML.
- يجب أن يكون ** رأس ** EBML ** ** docType ** هو “matroska”.
- يجب أن يكون ** رأس ** EBML ** ** EBMLMaxIDLength ** 4.
- يجب أن يكون ** رأس ** EBML ** ** EBMLMaxSizeLength ** بين 1 و 8 (ضمنيًا).
تم ترميز جميع عناصر المستوى الأعلى في 4 ثماني بتات.
- رموز اللغة: تستخدم Matroska (الإصدار 1 إلى 3) رموز اللغة التي يمكن أن تكون إما نموذج ISO-639-2 الببليوغرافي المكون من 3 أحرف (مثل “fre” للفرنسية) ، أو يمكن استخدام رمز بلد إضافي مثل “fre-ca “للفرنسية الكندية. بدءًا من الإصدار 4 من Matroska ، يمكن استخدام ISO 639-2 أو BCP 47 لرموز اللغة ، على الرغم من أن BCP 47 موصى به.
- الأنواع المادية: لها معاني مختلفة لكل من ملفات الصوت والفيديو. على سبيل المثال ، ChapterPhysicalEquiv = 60 تعني (CD / 12 “/ 10” / 7 “/ TAPE / MINIDISC / DAT) للصوت و (DVD / VHS / LASERDISC) للفيديو.
- هيكل الكتلة - رأس الكتلة: يحتوي رأس الكتلة على معلومات تتعلق برقم المسار والطوابع الزمنية ونوع الجلد وما إلى ذلك.
- الربط: آلية لتوفير المساحة عند تخزين البيانات التي تُستخدم عادةً لكتل صغيرة من البيانات (الإطارات). هناك 3 أنواع من الأربطة:
- Xiph: Frame with a size multiple of 255 coded with a 0 at the end of the size. For example, The code for 765 is 255;255;255;0.
- EBML: The frame size is coded as a difference between the previous size and this size. The first size in the lace is unsigned but others use a range shift to get a sign on each value.
- fixed-size: The size remains the same.
- هيكل SimpleBlock: مستوحى من ** هيكل الكتلة ** مع الاختلاف الرئيسي في إضافة ** Keyframe ** و ** Discardable **. بخلاف ذلك ، كل شيء هو نفسه.
هيكل ماتروسكا
يجب أن يتكون مستند Matroska من ** مستند EBML ** واحد على الأقل باستخدام ** نوع مستند Matroska **. يجب أن يبدأ كل ** مستند EBML ** بـ ** رأس EBML ** متبوعًا بـ ** EBML Root Element ** المُعرَّف على أنه مقطع. تحدد Matroska العديد من عناصر المستوى الأعلى التي قد تحدث داخل ** الجزء **.
يستخدم EBML نظام العناصر لإنشاء مستند EBML ، وفيما يلي قائمة بعناصر المستوى الأعلى في ملف Matroska:
- ** مستند EBML **: غلاف للملف بأكمله.
- ** رأس EBML **: يحتوي على معلومات رأس الملف مثل DocType.
- ** الجزء **: العنصر العلوي الذي يحتوي على جميع عناصر المستوى الأعلى الأخرى.
- ** SeekHead **: يحتوي على موضع شرائح عناصر المستوى الأعلى الأخرى.
- ** معلومات **: تحتوي على معلومات عامة عن المقطع.
- ** المسارات **: عنصر معلومات عالي المستوى مع العديد من المسارات الموصوفة.
- ** الفصول **: تستخدم لتعريف القوائم الأساسية وبيانات الأقسام.
- ** الكتلة **: عنصر المستوى الأعلى الذي يحتوي على بنية الكتلة.
- ** الإشارات **: عنصر من المستوى الأعلى يحتوي على جميع الإدخالات المحلية للجزء الذي يسعى للوصول بسرعة.
- ** المرفقات **: تحتوي على ملفات مرفقة.
- ** العلامات **: يحتوي هذا العنصر على بيانات وصفية تصف المسارات أو الإصدارات أو الفصول أو المرفقات أو المقطع ككل.
يوضح الجدول التالي هيكل وثيقة Matroska مع عرض معظم العناصر في تسلسل هرمي:
رأس EBML | ||||||
قطعة | SeekHead | تسعى | SeekID | |||
SeekPosition | ||||||
معلومات | SegmentUID | |||||
اسم الملف | ||||||
PrevUID | ||||||
الاسم السابق | ||||||
NextUID | ||||||
الاسم التالي | ||||||
العائلة | ||||||
ChapterTranslate | ||||||
الطابع الزمني | ||||||
المدة | ||||||
DateUTC | ||||||
العنوان | ||||||
MuxingApp | ||||||
الكتابة | ||||||
المسارات | تتبع الدخول | رقم التتبع | ||||
TrackUID | ||||||
نوع المسار | ||||||
الاسم | ||||||
اللغة | ||||||
كودك | ||||||
برنامج ترميز خاص | ||||||
CodecName | ||||||
فيديو | العلم متداخل | |||||
ترتيب الحقل | ||||||
وضع الاستريو | ||||||
ألفود | ||||||
عرض البكسل | ||||||
ارتفاع البكسل | ||||||
عرض العرض | ||||||
عرض الارتفاع | ||||||
AspectRatioType | ||||||
اللون | ||||||
صوتي | أخذ العينات التردد | |||||
القنوات | ||||||
عمق البت | ||||||
الفصول | الطبعةالدخول | EditionUID | ||||
EditionFlagHidden | ||||||
EditionFlagDefault | ||||||
EditionFlagOrdered | ||||||
ChapterAtom | ChapterUID | |||||
ChapterStringUID | ||||||
ChapterTimeStart | ||||||
الفصل_الوقت_النهاية | ||||||
ChapterFlag مخفي | ||||||
الفصل ChapString | ||||||
ChapLanguage | ||||||
الكتلة | الطابع الزمني | |||||
SilentTracks | ||||||
المنصب | ||||||
الحجم السابق | ||||||
SimpleBlock | ||||||
بلوكجروب | ||||||
EncryptedBlock | ||||||
إشارات | كويبوينت | CueTime | ||||
المواقع CueTrack | ||||||
المرفقات | الملف المرفق | وصف الملف | ||||
اسم الملف | ||||||
نوع الملف | ||||||
FileUID | ||||||
ملف الإحالة | ||||||
FileUsedStartTime | ||||||
FileUsedEndTime | ||||||
الكلمات الدلالية | علامة | الأهداف | TargetTypeValue | |||
نوع الهدف | ||||||
TagTrackUID | ||||||
TagEditionUID | ||||||
TagChapterUID | ||||||
TagAttachmentUID | ||||||
SimpleTag | اسم العلامة | |||||
TagLanguage | ||||||
TagDefault | ||||||
TagString | ||||||
تاجباري | ||||||
SimpleTag |
استخدام برامج الترميز
إذا كنت لا تريد مشغل وسائط جديدًا وتفضل استخدام المشغل الموجود لديك ، فستحتاج إلى تثبيت بعض برامج الترميز (اختصار للضغط / فك الضغط). على الرغم من أن تنزيل برامج الترميز يعد خيارًا صالحًا ، يجب أن تكون حريصًا بشأن المصدر وقد تحتوي هذه البرامج على برامج ضارة.