Формат файла

MP4 - видео MPEG-4 Part 14

MP4 сегодня является контейнером почти для каждого видео, от записей с телефона до потоковых загрузок. Он объединяет видео, аудио, субтитры и метаданные в одном файле.

.mp4

MP4 - это видеофайл, с которым вы встречаетесь чаще всего. Его официальное название - MPEG-4 Part 14, и он был определен Moving Picture Experts Group, той же международной организацией, которая отвечает за видеостандарты MPEG. MPEG не начинала с нуля: за основу был взят формат файлов QuickTime от Apple, преобразован в ISO Base Media File Format, а уже поверх него был создан MP4. Поэтому файлы MP4 и MOV так похожи внутри. Телефоны, камеры, программы для монтажа, стриминговые сервисы и мессенджеры сошлись на MP4, поэтому он воспроизводится почти на любом вашем устройстве.

Как устроен файл MP4

MP4 - это контейнер. Контейнер сам по себе ничего не сжимает; это «коробка», которая хранит уже сжатые потоки и подсказывает плееру, как их читать. Сжатие выполняет кодек, и в MP4 для видео обычно используется H.264, H.265 (также HEVC) или AV1, а для звука - AAC. Все они с потерями: отбрасывают детали, которые глаз и ухо вряд ли заметят, и эти детали уже не вернуть. Повторное сохранение MP4 через редактор сжимает файл второй раз и теряет еще немного качества.

Внутри файл представляет собой дерево блоков, называемых боксами или атомами. У каждого четырехбуквенное имя. ftyp в самом начале указывает, какой именно вариант MP4 используется, mdat хранит сырое сжатое видео и аудио, а moov - это индекс, который сопоставляет время воспроизведения с позициями в mdat. Аудио и видео чередуются мелкими фрагментами, чтобы плеер мог читать их одновременно. Когда moov находится в начале файла, воспроизведение может начаться до завершения загрузки - это и называют быстрым стартом.

Какие метаданные содержит файл MP4

Метаданные MP4 хранятся в этих же боксах, поэтому отчет о файле MP4 сочетает технические сведения и описательные теги.

  • Заголовок фильма mvhd содержит дату создания и изменения, общую длительность и временную шкалу, в которой она измеряется.
  • Каждый трек имеет собственные заголовки с указанием размеров, матрицы поворота, которая подсказывает плееру, был ли клип снят набок, языкового кода и имени обработчика.
  • Описание потоков содержит название кодека, частоту кадров, битрейт, частоту дискретизации звука и количество каналов.
  • Описательные теги находятся в блоке пользовательских данных, который часто называют списком тегов в стиле iTunes. Имена полей начинаются со знака копирайта, например поля названия, исполнителя, альбома, года, жанра, комментария и кодировщика, а также полей обложки и описания. Этот блок заполняется, когда файл получен из музыкального или видеомагазина.

Часть данных имеет личный характер. Телефоны обычно записывают GPS-координаты в соответствующее поле, в виде широты, долготы и иногда высоты. Устройства Apple добавляют собственный набор ключей с маркой камеры, моделью, версией операционной системы и датой создания с указанием часового пояса, в котором велась запись. Телефоны Android записывают местоположение похожим образом. Программы Adobe для редактирования и дизайна могут также встраивать пакет XMP - блок структурированного текста, в котором дублируются заголовок, автор, сведения об авторских правах и история редактирования. Если вы собираетесь публиковать снятый вами ролик, именно поля устройства и местоположения стоит удалить.

Когда MP4 является правильным выбором

Выбирайте MP4, когда файл должен воспроизводиться там, где вы не контролируете среду: на сайте, на телефоне получателя, на телевизоре, на ноутбуке клиента. Ничто другое не поддерживается так широко, а аппаратное декодирование H.264 встроено почти в каждый продаваемый экран.

Очевидная альтернатива - MKV: он поддерживает больше звуковых дорожек, больше форматов субтитров, главы и вложенные файлы и лучше подходит для архива фильма с несколькими языковыми дорожками. MP4 преднамеренно более узкий по возможностям и за счет этого надежнее. WebM выбирают, когда нужен свободный от роялти кодек для веба, поскольку H.264 и HEVC связаны с патентными лицензиями. И если вам нужно только сменить оболочку, выполняйте ремультиплексирование, а не перекодирование: копирование существующих потоков в новый контейнер не ухудшает качество вовсе.