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 связаны с патентными лицензиями. И если вам нужно только сменить оболочку, выполняйте ремультиплексирование, а не перекодирование: копирование существующих потоков в новый контейнер не ухудшает качество вовсе.