.M4V вариант №
Формат файла M4V, разработанный Apple, представляет собой видеоконтейнер, дополнительно защищенный с помощью защиты от копирования Digital Rights Management (DRM) для защиты конфиденциальности или копирования. Видео и звуковые дорожки обертываются файлами-контейнерами для индексации и организации потоков воспроизведения. Кроме того, контейнеры также предоставляют функцию глав, аналогичную той, что имеется на DVD. Apple использует M4V для кодирования видео в своем iTunes Store. Он защищает несанкционированное воспроизведение с помощью защиты Apple от копирования FairPlay, позволяя воспроизводить файлы M4V только на авторизованных компьютерах, учетные записи которых использовались для покупки видео. Однако, если с файлов M4V снять DRM-защиту, эти файлы можно будет воспроизводить в других видеоплеерах, изменив расширение с .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_ (hex: 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) и тип free (шестнадцатеричный: 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 выборок во временной области.