تنسيق ملف MP4 مع إضافة مقاطع صوتية (MP4-AT) 0.9

يتيح تنسيق الملف MP4-AT تخزين مسارات مساعدة مفيدة لعمليات تعديل وإنشاء ما بعد الالتقاط (مثل مسار فيديو لخريطة العمق) بجانب بيانات الوسائط القابلة للتشغيل في بنية ISOBMFF/MP4.

يهدف التنسيق إلى تخزين المقاطع الصوتية المساعِدة بحيث تكون المقاطع مخفية عن العملاء الذين لا ينفّذون هذه المواصفات. ويمنع ذلك العملاء منinterpreting auxiliary tracks as playable data.

التبعيات

في ما يلي المراجع المعيارية لهذه المواصفات:

مقدّمة

يتم استخدام الكلمات "يجب" و"يجب ألّا" و"مطلوب" و"يُفضَّل" و"يُفضَّل ألّا" و"مُستحسَن" و"يجوز" و "اختياري" وفقًا لمعيار IETF المحدَّد في RFC2119.

تنسيق ملف MP4-AT

يتألف تنسيق ملف MP4-AT من مسارات أساسية ومسارات مساعدة لسماح بعمليات التعديل المختلفة. تتم كتابة المقاطع الصوتية الأساسية (مثل مقطع صوتي في فيديو تم تطبيق تأثير "موهبة" عليه) في ملف MP4 كالمعتاد، في حين تتم كتابة المقاطع الصوتية المساعِدة في ملف MP4 للمقاطع الصوتية المساعِدة. Auxiliary Tracks MP4 هي حاوية أخرى متوافقة مع MP4، ويتم وضعها داخل المربّع axte(Auxiliary Tracks Extension). ننصح بأن يكون المربّع axte هو المربّع الأخير في الملف، ما يسهّل إزالة البيانات الداعمة عن طريق اقتطاع الملف.

هذا التنسيق متوافق مع الإصدارات القديمة: إنّ مشغّلات الوسائط التي لا تتوافق مع باقي التنسيق ستقرأ مقاطع الفيديو الأساسية وتشغّلها عند تحميل الملف.

مخطّط بياني خطي يوضّح ترتيب العناصر في ملف MP4-AT

يحتوي الملف على مربّع moov.meta مع معالِج mdta يحتوي على البيانات الوصفية التالية. يمكن أن تظهر بيانات التعريف بأي ترتيب.

مفتاح البيانات الوصفية

مؤشر النوع

القيمة

auxiliary.tracks.offset

78 (عدد صحيح غير موقَّت بسعة 64 بت بترتيب البايتات الكبير)

ملف الإزاحة (بالبايت) لمربّع axte

auxiliary.tracks.length

78 (عدد صحيح غير موقَّت بسعة 64 بت بترتيب البايتات الكبير)

طول مربّع axte (بالبايت)

مربّع إضافة مسارات مساعدة (axte)

بناء الجملة

يتم وصف المربّع axte باستخدام الدلالات الخاصة بالمربّع المحدّدة في ISO/IEC 14496-12:2022: 4.2.

aligned(8) class AuxiliaryTracksExtensionBox extends Box('axte') {
  bit(8) data[];
}

حيث يحتوي حقل البيانات على مسارات MP4 الإضافية.

المحتوى

حمولة المربّع axte هي مسارات صوتية إضافية بتنسيق MP4. يتضمّن ملف MP4 للمقاطع الصوتية المساعِدة بنية MP4 المعتادة.

مخطّط بياني خطي يوضّح ترتيب العناصر في ملف MP4 الخاص بالمقاطع الصوتية المساعِدة

يحتوي ملف المقاطع الصوتية المساعِدة بتنسيق MP4 على عيّنات من البيانات الوصفية لكل المقاطع الصوتية المساعِدة. يجب تخزين جميع حِزم بيانات عيّنات المقاطع الصوتية الإضافية إما في مربع mdat الخاص بملف MP4 للمقاطع الصوتية الإضافية أو في مربع mdat الخاص بملف MP4 الخارجي (وليس كليهما).

في الحالة الأولى، يجب ضبط auxiliary.tracks.interleaved على 0 (راجِع "البيانات الوصفية الثابتة" أدناه) وتكون Offsets (إزاحة العيّنة) في المربّع axte.moov نسبية لبداية المقاطع الصوتية المساعِدة بتنسيق MP4. وهذا يجعل ملف MP4 للمقاطع الصوتية المساعِدة مكتفيًا ذاتيًا، ما يعني أنّه يمكن قراءة ملف MP4 للمقاطع الصوتية المساعِدة بشكل مستقل بدون أيّ إشارات إلى ملف MP4 الخارجي.

في الحالة الأخيرة، يجب ضبط auxiliary.tracks.interleaved على 1 (راجِع "البيانات الوصفية الثابتة" أدناه) وتكون Offsets للعيّنات في مربع axte.moov نسبية لبداية الملف، وقد تكون حمولات عيّنات المسارات الأساسية والمساعدة مُدرَجة بين بعضها. يمكن أن يكون مربّع axte.mdat غير متوفّر في هذه الحالة.

البيانات الوصفية الثابتة

يحتوي ملف المقاطع الصوتية المساعِدة بتنسيق MP4 على مربّع moov.meta يتضمّن معالِج mdta يحتوي بدوره على البيانات الوصفية التالية. يمكن أن تظهر بيانات التعريف بأي ترتيب.

مفتاح البيانات الوصفية

مؤشر النوع

القيمة

(اختياري) auxiliary.tracks.interleaved

75 (عدد صحيح غير موقَّت بسعة 8 بت)

0: يشير إلى أنّ العيّنات غير مُدرَجة بين بعضها وأنّها في المربّع axte.mdat

1: يشير إلى أنّ العيّنات متداخلة في مربّع mdat لمسار الفيديو الأساسي

وجميع القيم الأخرى محجوزة ويجب عدم استخدامها.

ويشير عدم توفّر هذه البيانات الوصفية إلى القيمة التلقائية 0.

auxiliary.tracks.map

0 (محجوز)

التنسيق الثنائي:

  • الإصدار الذي يتكوّن من 1 بايت = 1
  • عدد المقاطع الصوتية التي تبلغ 1 بايت = n
  • n بايت تتبُّع أنواع من المجموعة التالية
    • 0 = فيديو واضح
    • 1 = فيديو مفصّل (فيديو خطي)
    • 2 = فيديو مفصّل (عكسي)
    • 3 = البيانات الوصفية للعمق الزمني
    • 4 = فيديو شبه شفاف
    • ‫5-127 = محجوزة للاستخدام في المستقبل
    • ‫128-255 = أنواع مسارات مخصّصة

يشير ترتيب أنواع المقاطع الصوتية في auxiliary.tracks.map إلى ترتيبها في حمولةالمقاطع الصوتية المساعِدة بتنسيق MP4.

أنواع المقاطع الصوتية المساعِدة

قد يحتوي ملف المقاطع المساعِدة بتنسيق MP4 على مقاطع الفيديو والبيانات الوصفية التالية، والتي تكون مفيدة عند التعديل:

مقطع فيديو حاد

فيديو بدقة كاملة بدون تطبيق تأثيرات قابلة للتعديل قد يتم تخزين مقطع الفيديو بدرجة دقة مختلفة عن درجة دقة مقطع الفيديو الأساسي. يمكن أن يستخدم مسار الفيديو الواضح أيّ برنامج ترميز فيديو شائع، ويمكن أن يكون بدرجة معيارية أو عالية النطاق الديناميكي.

مقطع فيديو مفصّل

يوفّر مسار الفيديو المزوّد بعمق معلومات العمق المشفَّرة كفيديو عادي بالدرجات الرمادية. يهدف ذلك إلى السماح بفك ترميز مسارات العمق وتشفيرها على الأجهزة التي لا تتضمّن أي ميزات خاصة لفك ترميز أو ترميز العمق. يمكن أن يستخدم مسار الفيديو المخصّص للصور الثلاثية الأبعاد H.264/AVC أو H.265/HEVC أو VP9 أو AV1 أو أيّ برنامج ترميز فيديو شائع آخر. يمكن أن يكون مسار الفيديو المخصّص للصور الثلاثية الأبعاد بترميز 8 بت أو 10 بت ويكون ترميزه خطيًا أو عكسيًا (راجِع مواصفات Dynamic depth 1.0).

مسار البيانات الوصفية المتعلّقة بالعمق الزمني

يحتوي مسار البيانات الوصفية للتأثير الزمني للعمق على قيم عادية لاحتساب عمق الصورة، وجدولًا مركزيًا يمكن استخدامه لاحتساب نصف قطر التمويه لتأثير التمويه.

نموذج لنوع MIME

application/x-depth-metadata

نموذج البنية

التنسيق الثنائي (كل الأعداد الصحيحة بترتيب endian الصغير):

  • المسافة القريبة (قيمة عددية عائمة بسعة 16 بت)
  • المسافة البعيدة (عدد عشري بت 16)
  • عدد إدخالات الجدول المركزي (عدد صحيح 16 بت)
  • إدخال الجدول المركزي
    • مسافة الدخول (قيمة عائمة 16 بت)
    • نصف قطر نقطة الدخول (قيمة عائمة 16 بت)
مقطع فيديو شفاف

مقطع فيديو يخزّن قيمة ألفا (الشفافية) لكل بكسل في اللقطة المقابلة تشير القيمة الدنيا إلى شفافية كاملة، بينما تشير القيمة القصوى إلى التعتيم الكامل. تمثل القيم بين القيمتين السابقتين مستويات مختلفة من الشفافية على مقياس خطي، ويستخدم الدمج وضع المزج العادي مع قيم ألوان لم يتم ضربها مسبقًا. على غرار مقطع الفيديو المخصّص لعرض العمق، يجب أن يتم ترميز هذا المقطع أيضًا كفيديو عادي بالأبيض والأسود.

أمثلة على حالات الاستخدام

  • تخزين فيديو تم إنشاؤه بتأثير "موهبة" وقابل للتشغيل في مسار أساسي، مع مسارات فيديو مساعدة لبيانات الألوان الحادة الأصلية (قبل التمويه) وخريطة العمق، ومسار بيانات وصفية مساعد موقّت يتضمّن بيانات وصفية للعمق تعكس نقطة التركيز في كل لقطة ويمكن بعد ذلك استخدام المقاطع الصوتية المساعِدة في محرِّر فيديو لتعديل الهدف الذي يتم التركيز عليه وإعادة عرض مقطع فيديو بتأثير "مؤثرات بوكيه" بجودة عالية.

  • تخزين فيديو "ملصق" شفاف تمّت معالجته مسبقًا، مثل فيديو رموز تعبيرية متحركة على خلفية بيضاء في مسار فيديو أساسي، مع مسار فيديو مساعد يحتوي على خريطة شفافية يمكن بعد ذلك استخدام المقطع الصوتي المساعد من قِبل أحد خبراء الدمج لدمج الملصق مع الخلفية باستخدام معلومات الشفافية من المقطع الصوتي المساعد.