Що таке файл M4V?
Формат файлу M4V, розроблений компанією Apple, є відеоконтейнером, який додатково захищено захистом від копіювання Digital Rights Management (DRM) для захисту конфіденційності чи копіювання. Відео та аудіодоріжки обернуті файлами-контейнерами для індексування та організації потоків відтворення. Крім того, контейнери також надають функцію розділів, подібних до тих, що є на DVD. Apple використовує M4V для кодування відео в iTunes Store. Він захищає від несанкціонованого відтворення через захист від копіювання FairPlay від Apple, дозволяючи відтворювати файли M4V лише на авторизованих комп’ютерах, які мають облікові записи, використані для придбання відео. Однак, якщо DRM-захист знято з файлів M4V, ці файли можна відтворювати в інших відеоплеєрах, змінивши розширення з .m4v на .mp4, тому файли M4V асоціюються з MPEG-4. M4V використовує H.264 для відео та AAC і Dolby Digital для кодування та декодування звуку.
Структура файлу M4V
Файли M4V мають безперервні фрагменти з 8-байтовим заголовком, розміром фрагмента 4 байти та типом фрагмента 4 байти в кожному фрагменті. Перший фрагмент – це «ftype» і має підтип зі зміщенням 8. M4V визначається підтипом, який має бути «M4V_». Інші типи фрагментів — це попередньо визначені підписи: «ftyp», «mdat», «moov», «pnot», «udta», «uuid», «moof», «free», «skip», «jP2», «wide» , “load”, “ctab”, “imap”, “matt”, “kmat”, “clip”, “crgn”, “sync”, “chap”, “tmcd”, “scpt”, “ssrc”, " МАЛЮНОК». Ітеруючи фрагменти, поки не буде виявлено невідомий тип, ми створюємо файл M4V.
Ось перевірка зразка: зразок двійкових даних файлу m4v перевіряється за допомогою Hex Viewer, і можна помітити, що він починається з підпису ftyp (hex: 66 74 79 70) зі зсувом 4, який визначає QuickTime Тип файлу-контейнера. Підтип файлу — M4V_ (шістнадцятковий: 4D 34 56 20), що вказує на тип файлу M4V (MPEG-4). Розмір першого блоку дорівнює 32 (шістнадцятковий: 00 00 00 20, старший байт, перший старший байт), розмір розташований за зсувом 0. За зміщенням 32 (шістнадцятковий: 20) розташований другий фрагмент, який має розмір 30 322 (шістнадцятковий : 00 00 76 72, старший байт, молодший байт спочатку) і введіть moov (шістнадцяткове: 6D 6F 6F 76). Наступний фрагмент розташований зі зміщенням 32+30,322#30,354 (шістнадцятковий: 00 00 76 92) і має розмір 8 (шістнадцятковий: 00 00 00 08) і тип вільний (шістнадцятковий: 66 72 65 65).
Кодеки, що використовуються в M4V
Відеокодек H.264
H.264 — це стандарт стиснення відео, який перетворює цифрове відео у формат, який потребує менше місця для передачі чи зберігання. M4V використовує H.264 для стиснення відео. Його застосування варіюється від DVD, телебачення, відеоконференцій і потокового відео через Інтернет. H.264 складається з двох основних частин: кодувальник – який стискає відео, декодер – який розпаковує стиснене відео назад. На малюнку нижче виділено процеси кодування та декодування, а інші процеси описані в стандарті H.264.
Процес кодування та декодування відео в H.264
Для стисненого бітового потоку H.264 відеокодер виконує прогнозування, перетворення та процес кодування. У той же час декодер виконує зворотний процес декодування, зворотного перетворення та реконструкції для створення відеофайлу. H.264 займає половину розміру MPEG.
Аудіокодек
Advanced Audio Coding (AAC) — це аудіокодек для стиснення цифрового аудіо з втратами, який використовується в контейнері M4V. AAC є наступником формату MP3 і забезпечує кращу якість, ніж MP3, з тим самим бітрейтом. Формат AAC викидає частину інформації під час процесу стиснення, яка є менш важливою. AAC — це блоковий кодек зі змінним бітрейтом (VBR), де кожен блок декодується до 1024 вибірок у часовій області.