فرمت فایل MP4-AT از ذخیره آهنگ های کمکی برای ویرایش و ترکیب بندی پس از عکس (به عنوان مثال، یک تراک ویدئویی نقشه عمق) در کنار داده های رسانه قابل پخش در ساختار ISOBMFF/MP4 پشتیبانی می کند.
هدف این فرمت ذخیره آهنگ های کمکی به گونه ای است که تراک ها از مشتریانی که این مشخصات را اجرا نمی کنند پنهان شوند. این امر مانع از تفسیر تراک های کمکی به عنوان داده های قابل پخش توسط کلاینت ها می شود.
وابستگی ها
موارد زیر مراجع هنجاری برای این مشخصات هستند:
- کلمات کلیدی برای استفاده در RFC ها برای نشان دادن سطوح نیاز
- فرمت فایل رسانه ای ISO/IEC 14496-12:2022 ISO Box (ISOBMFF/MP4)
- ISO/IEC 14496-10:2022 کدگذاری اشیاء سمعی و بصری قسمت 10: کدگذاری ویدیویی پیشرفته (AVC)
- ISO/IEC 23008-2:2023 کدگذاری با کارایی بالا و تحویل رسانه در محیط های ناهمگن قسمت 2: کدگذاری ویدیویی با کارایی بالا (HEVC)
- کدک های ویدیویی VP9 (VP9)
- AV1 بیت جریان و مشخصات فرآیند رمزگشایی (AV1)
- مشخصات عمق پویا 1.0
مقدمه
استفاده از "MUST"، "MUST NOT"، "REQUIRED"، "SHOULD"، "SHOULD NOT"، "RECOMMENDED"، "MAY" و "OPTIONAL" طبق استاندارد IETF تعریف شده در RFC2119 است.
فرمت فایل MP4-AT
فرمت فایل MP4-AT از آهنگ های اصلی و آهنگ های کمکی برای فعال کردن عملیات ویرایش مختلف تشکیل شده است. تراک های اصلی (به عنوان مثال، یک آهنگ ویدیویی که جلوه بوکه روی آن اعمال شده است) طبق معمول در فایل MP4 نوشته می شود، در حالی که آهنگ های کمکی در یک آهنگ کمکی MP4 نوشته می شوند. Auxiliary Tracks MP4 یکی دیگر از محفظه های سازگار با MP4 است و در داخل جعبه axte
(Auxiliary Tracks Extension) قرار می گیرد. جعبه axte
به عنوان آخرین کادر در فایل توصیه می شود که حذف داده های کمکی را با کوتاه کردن فایل راحت می کند.
این قالب با نسخه قبلی سازگار است: پخشکنندههایی که از بقیه قالبها پشتیبانی نمیکنند، هنگام بارگیری فایل، آهنگهای ویدیوی اصلی را میخوانند و پخش میکنند.
فایل دارای یک جعبه moov.meta
با کنترلر mdta
است که حاوی متادیتای زیر است. ابرداده ممکن است به هر ترتیبی ظاهر شود.
کلید فراداده | نشانگر تایپ | ارزش |
| 78 (عدد صحیح بدون علامت 64 بیتی اندیان بزرگ) | آفست فایل (بر حسب بایت) جعبه |
| 78 (عدد صحیح بدون علامت 64 بیتی اندیان بزرگ) | طول (بر حسب بایت) جعبه |
جعبه پسوند آهنگ های کمکی (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 حاوی ابرداده نمونه برای تمام آهنگ های کمکی است. همه محمولههای نمونه آهنگ کمکی باید در جعبه mdat
MP4 Auxiliary Tracks یا در جعبه mdat
MP4 خارجی (اما نه هر دو) ذخیره شوند.
در حالت اول، auxiliary.tracks.interleaved
باید روی 0 تنظیم شود ( به «فراداده استاتیک» در زیر مراجعه کنید ) و جابجایی های نمونه در کادر axte.moov
نسبت به شروع آهنگ های کمکی MP4 است. این امر باعث میشود که آهنگهای کمکی MP4 به صورت مستقل باشند، به این معنی که آهنگهای کمکی MP4 را میتوان بهصورت مستقل و بدون هیچ ارجاعی به MP4 خارجی خواند.
در مورد دوم، auxiliary.tracks.interleaved
باید روی 1 تنظیم شود ( به "Static Metadata" زیر مراجعه کنید ) و جابجایی های نمونه در کادر axte.moov
نسبت به شروع فایل و بارهای نمونه اولیه و کمکی است. ممکن است آهنگ ها به هم متصل شوند. جعبه axte.mdat
ممکن است در این مورد وجود نداشته باشد.
فراداده ایستا
آهنگ های کمکی MP4 حاوی یک جعبه moov.meta
با کنترل کننده mdta
است که حاوی متادیتای زیر است. ابرداده ممکن است به هر ترتیبی ظاهر شود.
کلید فراداده | نشانگر تایپ | ارزش |
(اختیاری) | 75 (عدد صحیح بدون علامت 8 بیتی) | 0: نشان میدهد که نمونهها به هم متصل نیستند و در کادر 1: نشان میدهد که نمونهها در کادر تمام مقادیر دیگر محفوظ هستند و نباید استفاده شوند. عدم وجود این ابرداده نشان دهنده مقدار پیش فرض 0 است. |
| 0 (رزرو شده) | فرمت باینری:
|
ترتیب انواع آهنگ ها در auxiliary.tracks.map
نشان دهنده ترتیب آنها در محموله MP4 Auxiliary Tracks است .
انواع مسیر کمکی
آهنگ های کمکی MP4 ممکن است حاوی آهنگ های ویدئویی و فراداده زیر باشد که برای ویرایش مفید هستند.
آهنگ ویدیویی شارپ
یک ویدیو با وضوح کامل بدون جلوه های قابل ویرایش اعمال شده است. تراک ویدیو ممکن است با وضوح متفاوتی نسبت به تراک ویدیوی اصلی ذخیره شود. تراک ویدیویی واضح ممکن است از هر کدک ویدیویی رایج استفاده کند و ممکن است در محدوده دینامیکی استاندارد یا بالا باشد.
تراک تصویری عمقی
تراک ویدئوی عمق اطلاعات عمق را که به عنوان یک ویدیوی استاندارد در مقیاس خاکستری کدگذاری شده است، ارائه می دهد. این برای امکان رمزگشایی و رمزگذاری مسیرهای عمق در دستگاه هایی است که هیچ پشتیبانی رمزگشایی یا رمزگذاری خاصی برای عمق ندارند. تراک ویدیوی عمق ممکن است از H.264/AVC ، H.265/HEVC ، VP9 ، AV1 یا هر کدک ویدیویی رایج دیگری استفاده کند. تراک ویدئوی عمق می تواند 8 بیتی یا 10 بیتی و با کدگذاری خطی یا معکوس باشد (به مشخصات عمق پویا 1.0 مراجعه کنید).
مسیر فراداده عمق زمانبندیشده
مسیر فراداده عمق زماندار حاوی مقادیر عادیسازی برای محاسبه عمق و یک جدول کانونی است که میتواند برای محاسبه شعاع تاری افکت بوکه استفاده شود.
نمونه میم نوع | |
نحو نمونه | فرمت باینری (همه اینت کمی اندیان):
|
تراک ویدئویی شفاف
یک آهنگ ویدیویی که مقدار آلفا (شفافیت) را برای هر پیکسل در فریم مربوطه ذخیره می کند. یک مقدار حداقل نشان دهنده شفافیت کامل است، در حالی که مقدار حداکثر نشان دهنده شفافیت کامل است. مقادیر در بین سطوح مختلف شفافیت را در مقیاس خطی نشان میدهند و ترکیب از حالت ترکیبی معمولی با مقادیر رنگی که از قبل ضرب نشده است استفاده میکند. مشابه تراک ویدئوی عمقی ، این آهنگ نیز باید به عنوان یک ویدیوی استاندارد در مقیاس خاکستری کدگذاری شود.
موارد استفاده نمونه
ذخیره یک ویدیوی بوکه رندر شده قابل پخش در یک تراک اصلی، با تراکهای ویدیوی کمکی برای دادههای رنگی واضح (پیش از محو شدن) و یک نقشه عمق، و یک آهنگ فراداده زمانبندیشده کمکی با ابرداده عمقی که نقطه فوکوس را در هر فریم منعکس میکند. سپس میتوان از آهنگهای کمکی در یک ویرایشگر ویدیو برای تغییر سوژه فوکوس استفاده کرد و یک آهنگ ویدیویی بوکه با کیفیت بالا را دوباره رندر کرد.
ذخیره یک ویدیوی «برچسب» نیمه شفاف از پیش رندر شده، برای مثال، یک ویدیوی ایموجی متحرک در پسزمینه سفید در یک تراک ویدیوی اصلی، همراه با یک قطعه ویدیوی کمکی حاوی نقشه آلفا. سپس آهنگ کمکی میتواند توسط یک آهنگساز برای ترکیب برچسب با پسزمینه با استفاده از اطلاعات شفافیت از مسیر کمکی استفاده شود.