Что такое файл MP4?
MP4 (сокращение от MPEG-4 Part 14) — это формат файла, основанный на стандарте ISO/IEC 14496-12:2004, который основан на формате файлов QuickTime, но формально определяет поддержку начальных дескрипторов объектов (IOD) и других функций MPEG. Он в основном используется для хранения видео и аудио, но также может использоваться для хранения субтитров и неподвижных изображений. Файлы MP4 хранятся с расширением .mp4. MP4 — это международный стандарт кодирования аудиовизуальных материалов. Подобно большинству современных форматов контейнеров, MP4 поддерживает потоковую передачу через Интернет. Из-за высокой степени сжатия, используемой в MP4, результирующие файлы имеют меньший размер с почти полным сохранением исходного качества.
Краткая история
Спецификация MP4 была разработана группой экспертов по движущимся изображениям (MPEG) и основана на формате QuickTime MOV, который был опубликован в 2001 году. Первая версия (ISO/IEC 14496-1:2001) MP4 была пересмотренной версией спецификации MPEG-4 Part 1: Systems, опубликованной в 1999 году. Формат файла MP4 был обобщен до базового формата медиафайлов ISO ISO/IEC 14496-12:2004, который определил общую структуру для медиафайлов, основанных на времени. В результате он используется в качестве основы для других форматов файлов.
Структура файлов MP4
MP4 является расширяемым файлом-контейнером, что означает, что он не определяет строгую структуру и допускает пользовательскую структуру и иерархию для каждого типа мультимедиа. Данные в файле MP4 разделены на два раздела, первый из которых содержит данные, относящиеся к мультимедиа, а второй содержит метаданные. Медиаданные содержат аудио или видео, а метаданные указывают флаги произвольного доступа, метки времени и т. д. Структуры в MP4 обычно называют атомами или ящиками. Минимальный размер атома составляет 8 байт (первые 4 байта определяют размер, а следующие 4 байта определяют тип). Вот список атомов корневого уровня, содержащихся в файлах MP:
- ftyp: содержит тип файла, описание и используемые общие структуры данных.
- pdin: содержит информацию о загрузке/загрузке прогрессивного видео.
- moov: контейнер для всех метаданных фильма.
- moof: Контейнер с фрагментами видео.
- mfra: Контейнер со случайным доступом к фрагменту видео
- mdat: Контейнер данных для носителя.
- stts: таблица выборки во времени.
- stsc: таблица выборки в чанке.
- stsz: размеры выборки (кадрирование)
- meta: Контейнер с метаданными.
Вот список атомов второго уровня, используемых в MP4:
- mvhd: содержит информацию о заголовке видео с полной информацией о видео.
- trak: Контейнер с индивидуальной дорожкой.
- udta: Контейнер с информацией о пользователе и треке.
- iods: дескриптор файла MP4.