Перейти к содержимому
Convertube

Файлы MP4: что внутри и во что их конвертировать

Что содержит MP4, почему под одним расширением прячутся разные кодеки и какие конвертации проходят без потерь. Конвертируйте MP4 в браузере, без загрузки.

Кратко

Тип
Видео
Контейнерный формат
Да
Расширения
.mp4
MIME-тип
video/mp4
Распространённые кодеки
h264, h265, av1, aac
Другие названия
MPEG-4 Part 14

MP4 — это контейнер, а не кодек, и почти всё непонятное в этом формате вытекает из одного этого факта. Файл представляет собой дерево вложенных блоков (в спецификации они называются boxes, в старых инструментах — atoms), определённое стандартом ISO/IEC 14496-14, который сам является профилем ISO Base Media File Format, выросшего из переданного Apple формата QuickTime. На практике важны два блока: moov — индекс с описанием всех дорожек — и mdat — непрозрачный массив самих сжатых кадров.

Подробнее

Поскольку контейнер только описывает дорожки, два файла могут оба быть корректными MP4 и больше не иметь ничего общего. В одном — видео H.264 со звуком AAC, в следующем — H.265, в третьем — AV1, и плеер, справляющийся с первым, может не открыть третий, хотя у них одинаковое расширение .mp4 и одинаковый MIME-тип video/mp4. Поэтому на вопрос «работает ли здесь MP4» нет общего ответа, и поэтому конвертация между MP4 и MOV или MKV обычно происходит мгновенно, а в WebM — нет: в первом случае это перепаковка, во втором нужно перекодировать каждый кадр.

Индекс moov объясняет и -movflags +faststart, который этот сайт применяет к каждому создаваемому MP4. Кодировщики естественным образом помещают moov в конец файла, ведь длительность дорожек известна только после окончания кодирования. Тогда плеер, воспроизводящий файл по HTTP, не может начать, пока не придёт последний байт. Faststart переписывает файл так, чтобы индекс оказался в начале: один дополнительный проход при экспорте — и воспроизведение начинается сразу.

Расширения — это соглашение, а не правило. .m4a — файл MP4, в котором только звук, .m4v — видеовариант от Apple, а .mp4 — общий случай; все три — один и тот же контейнер, и переименование файла его не конвертирует. Не является оно и обходным путём: извлечение звука в M4A здесь перекодирует его, а не переносит существующую дорожку AAC как есть, так что это второе поколение сжатия с потерями — точно как у MP3, просто в том же семействе кодеков.

Конвертировать MP4 в другие форматы

Конвертировать другие форматы в MP4

Вопросы и ответы: MP4

MP4 сжимает с потерями или без?

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

Почему мой MP4 не воспроизводится на некоторых устройствах?

Расширение ничего не говорит плееру о кодеках. Файл с видео H.265 или AV1 не откроется на технике, которая декодирует только H.264, хотя оба файла — полноценные MP4. MP4 с видео H.264 и звуком AAC — вариант с самой широкой совместимостью, и именно его создаёт этот сайт.

Какие конвертации MP4 проходят без потерь?

MP4 в MOV, MKV и M4V, если кодеки внутри допустимы в целевом контейнере. Они выполняются копированием потоков: сжатые кадры переносятся нетронутыми, и видео получается идентичным бит в бит. В этом случае вы увидите пометку «Скопировано без перекодирования». Всё, что меняет кодек, — MP4 в WebM, MP4 в MP3 — неизбежно требует перекодирования.

Чем отличаются MP4, M4A и M4V?

Это один и тот же контейнер с разным привычным содержимым: M4A — только звук, M4V — видеовариант от Apple, MP4 — общий случай. Смена расширения не меняет байты, поэтому ничего не конвертирует, — хотя может помешать плееру правильно определить файл.

MP4 какого размера может обработать этот сайт?

Зависит от того, во что вы конвертируете, потому что предел определяется тем, что нужно держать в памяти во время работы, а не самим исходником. Извлечение звука на компьютере допускает до 2 ГБ, поскольку результат составляет малую долю исходника; смена контейнера — около 667 МБ, поскольку результат того же размера, что и исходник; на телефонах предел везде 512 МБ. Файлы больше 64 МБ читаются на месте, а не копируются в память конвертера, — только благодаря этому вообще возможны исходники в несколько гигабайт. В каждом поле загрузки указано реальное значение для данной пары форматов.

Загружается ли моё видео на сервер при конвертации MP4 здесь?

Нет. И демультиплексирование, и кодирование выполняются в фоновом потоке вашего браузера с помощью WebAssembly-сборки ffmpeg. Откройте панель «Сеть» перед началом: ни один запрос не передаёт файл.

Почему MP4 в WebM конвертируется намного медленнее, чем MP4 в MKV?

MKV принимает H.264, поэтому видеодорожка копируется, и задача по сути сводится к перезаписи файла. WebM не принимает ни H.264, ни AAC, поэтому каждый кадр нужно декодировать и заново закодировать в VP8 или VP9 — это настоящая работа по сжатию, которую выполняет ваш процессор.

Можно ли извлечь из MP4 неподвижный кадр?

Да, и стоит понимать, что вы получите: один декодированный кадр, заново закодированный в PNG или JPG. Поскольку исходный кадр уже сжат с потерями, PNG из него будет без потерь только относительно этого кадра, а не исходной сцены.