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

Обновлено: 06.07.2024

МР4 – сокращенная запись MPEG-4 Part 14. Формат MP4 используется для хранения мультимедиа, в котором есть видео- и аудиодорожки, а также могут быть субтитры. Наличие всех трех элементов одновременно необязательно – в файле могут храниться статические изображения или видеозаписи без звука либо, наоборот, только звук. МР4 как часть формата MPEG-4 используется для создания потоковых онлайн-видеотрансляций, записи видео, подкастов, клипов, аудиокниг. Чаще всего в нем создаются записи, предназначенные для мобильных телефонов, Apple-устройств.

МР4 работает с 2D- и 3D-графикой, поддерживает интерактивные функции, в том числе работу с DVD-меню. Если в файле содержатся только звуковые дорожки, он имеет расширение М4А, если только видео – М4V. Чтобы использовать аудио в качестве рингтона для iPhone, оно должно иметь расширение M4R или М4В.

Чтобы преобразовать запись в формат MP4, ее нужно конвертировать. Видео- и аудиопотоки, другие данные сжимаются и кодируются определенным набором кодеков. Чтобы воспроизвести МР4-файл, на компьютере должен быть установлен (или включен в онлайн-режиме) не только медиаплеер, но и набор кодеков.

Основное преимущество формата – его компактные размеры, благодаря чему открыть файл MP4 можно практически на любом устройстве – телефоне, планшете, компьютере с невысокой производительностью. Такими файлами легко делиться в соцсетях, их просто пересылать и хранить. Однако в связи с этим и качество видео будет не таким высоким, как, например, в формате AVCHD или DVD. В то же время перекодировка медиафайла из DVD в МР4 позволяет уменьшить его размер в 5 раз. Максимальное разрешение видео, которое обеспечивает формат MP4, – 1440х1080. Этого вполне достаточно для приемлемого решения большинства стоящих перед основной массой пользователей задач.

Чем отличается MP4 от MPEG-4?

Нужно понимать, что MPEG-4 – это метод сжатия данных, которые используются для создания мультимедиа (видео-, аудиодорожки). В него входят определенный набор технологий, кодеки и стандарты обработки медиа. А МР4 – это контейнер для хранения результатов этой обработки.

В чем разница между MP4 и MP3?

Принципиальная разница между МР4 и MP3 заключается в типах хранимых в этих контейнерах данных. MP3 предназначен для хранения только аудиофайлов. В МР4 можно хранить не только аудио-, но и видеоданные, а также изображения и тексты, которые используются для подписей изображений или субтитров.

Как открыть файл MP4?

Существует достаточное количество способов открыть файл формата MP4. Мы рассмотрим четыре из них: при помощи медиаплеера по умолчанию, стороннего медиаплеера, путем установки дополнительных кодеков и конвертации.

Способ 1. Использовать медиаплеер MP4 по умолчанию

Проще всего открыть файл MP4, используя медиаплеер по умолчанию. Такие плееры читают большинство форматов MPEG, в том числе МР4, M4V, M4A, MPG, некоторые типы файлов AVI и WAV. Чаще всего это Windows Media Player.

Windows Media Player – встроенный проигрыватель, который бесплатно поставляется с системой Windows. Этот медиаплеер MP4 воспроизводит не всегда, а только если установлены соответствующие кодеки. Чтобы запустить проигрывание записи, достаточно дважды кликнуть на ее иконку. Если пользователю кажется, что программа работает медленно, или нужны дополнительные функции, можно скачать и установить в качестве программы по умолчанию другой проигрыватель.

Для воспроизведения мультимедиа в комплекте с Mac OS поставляется созданный компанией Apple QuickTime Player.

Ранее он шел в комплекте с iTunes, однако в настоящее время его разработка и модернизация прекращены. В качестве самостоятельного приложения его можно устанавливать и на компьютеры, которые работают на Windows. Если вы используете ПК на macOS, можно скачать компоненты Windows Media для QuickTime. Это даст возможность воспроизводить все предназначенные для Windows Media файлы.

Если стандартный проигрыватель не читает скачанные ролики, можно перейти к другому методу, например, использовать сторонние проигрыватели или конвертировать МР4 в другой формат.

Способ 2. Использовать сторонние проигрыватели MP4

Сторонний проигрыватель MP4 с подходящим набором кодеков можно бесплатно скачать с сайта разработчика. Часть проигрывателей поставляется в 2 версиях – бесплатной и платной, отличие которых состоит в количестве предоставленных в распоряжение пользователя полезных функций и возможностей.


Практика показывает, что большинство пользователей представляют видео файл как единое целое, что в корне не правильно. В этой маленькой статье я хочу объяснить как именно формируется видео файл, и как с ним работать более продуктивно.
Начнем с того, что разрушим главный предрассудок - формат файла не показатель, чтобы его изменить и оставить файл в работоспособном состоянии не обязательно его перекодировать (конвертировать), почему? Давайте разберемся в том из чего состоит самый простой видео файл.

  • Контейнер
  • Видео трек
  • Аудио трек.


Контейнер - оболочка видео файла, сам из себе не представляет ни картинки, ни звука. В контейнере хранятся все остальные части файлов в формате RAW (о нем чуть позже), а так же информация о них (названия треков, их язык, настройки, тайминг, в общем все что может потребоваться при воспроизведении.) Контейнер определяет формат файла, точнее формат и является контейнером. Контейнер не влияет на возможность воспроизведения медиафайла тем или иным плеером, если он правильно организован (т.е. поддерживает форматы RAW треков внутри себя). Контейнер НЕ КОДИРУЕТСЯ, он создается при смешивании медиапотоков (Muxing).

Теперь, как обещал, пара слов о том что такое RAW, это "сырой" медиафайл, т.е. отдельный трек не несущий в себе ничего кроме сжатого потока в определенном кодеке. Некоторые RAW файлы (в основном аудио) могут воспроизводиться без контейнера, но при этом теряют некоторые свои возможности.

Видео трек - Сжатый набор кадров в определенном кодеке. Ничего более. Как правило воспроизвести RAW видео трек невозможно т.к. только при смешивании в контейнер видео треку назначается FPS (Frames Per Second) т.е. частота кадров в секунду. Об этом надо помнить.

Аудио трек - сжатый аудио поток. В отличии от видео трека не нуждается в FPS и других настройках, т.к. стандартная скорость воспроизведения потока (100%) одинакова и назначается самим плеером. Исключения - эффекты которые включаются непосредственно в контейнер а не RAW поток.

Теоретически, в контейнер можно добавить все что душе угодно, но мы рассмотрим только то что применяется на практике.

Субтитры - Называть субтитры внутри контейнера "Хардсабом" - ошибочно. Хардсаб, это только субтитры добавленные непосредственно в видео трек, т.е. сохраняющиеся даже в RAW видео треке. Но и "Софтсабом" такие назвать нельзя. Для субтитров внутри контейнера было создано отдельное определение - "Полу-хардсаб" - т.е. файл обладающий как свойствами хардсаба (субтитры и видео - единый файл) так и свойствами софтсаба (возможность отключения или переключения на другой язык.) Скрипты в контейнере опазнаются так же как и субтитры, по этому часто объединяются.

Главы и навигация - обычно представлены в виде txt, ttxt или idx файла написанного определенным образом. Как правило несет в себе временное значение и название главы, по этому может писаться "от руки". При нахождении такого файла внутри контейнера медиопроигрыватель автоматически делит видео трек в соответствии с кодом глав.

Шрифты и внешние ресурсы - В 95% это потребность субтитров и скриптов. Шрифты в контейнере автоматически выводятся с субтитрами если в файле субтитров (ass или ssa) они указаны как часть стиля определенных строк. Так же в этом виде внутри контейнера могут содержаться изображения выводимые поверх видео треков в соответствии с временем и местоположением указанном в субтитрах или скрипте.

IDX - IDX файлы могут нести в себе самую разную информацию, но как правило в них записаны настройки для декодера, например настройка изменения аспекта в декодере, как правило такие файлы уже не используются, т.к. видео трек с ними очень сложно кодировать.

Как я уже говорил далеко не всегда обязательно кодировать файл для изменения формата, включения в него субтитров, и.т.п. В этих случаях просо достаточно "пересобрать" контейнер, добавив или удалив в него те или иные потоки\файлы.
На сегодняшний день мы имеем 6 основных контейнера. С тремя из которых успешно работает iPhone и вся остальная техника Apple, на них мы остановимся подробнее, но для начала давайте разбиремся как вам разобрать\собрать другие форматы, ведь это может вам пригодиться при кодировании (ведь ни один видео конвертер на сегодняшний день не работает с ext (т.е. внешними) аудио дорожками и.т.п.)

AVI - (Audio Video Interleave — чередование аудио и видео) в свое время самый распространенный контейнер, т.к. изначально расчитан на Xvid и DivX, но не стоит забывать что скоро ему стукнет двацатник, т.к. выпущен он Microsoft'ом еще в далеком 1998 году. Отсюда и причины его выхода из игры - он больше не может отвечать современным требованиям без дополнительных модификаций. Так же фатальной для него стала проблема с поддержкой H.264\AVC, в виду этих проблем последние несколько лет от него активно отказываются.
Его можно свободно собирать и разбирать с помощью программы - VirtualDub

MKV - Matroska (Матрешка) - относительно новый вид контейнера. Но уже сейчас самый широко используемый, все благодаря его обширным возможностям, отсутствием каких-либо ограничений на тип содержимого (кроме узкоспециализированных), и простотой работы. Но в этом же его главный минус - он использует достаточно простое микширование которое хоть и позволяет объединять в себя очень многие типы форматов, но требует мощностей на их совмещение непосредственно от декодера, именно по этому не применяется на мобильных устройствах.
Его можно свободно собирать и разбирать с помощью программы - MKVmarge GUI и MKVextract GUI

OGM - формат изначально планируемый на смену AVI, но получившийся не таким удачным как MKV. Но не смотря на это используется в большинстве программных структур (например играх).
Его можно свободно собирать или разбирать с помощью программы OGMCleaver

MP4 - основной стандарт для MPEG, но он довольно хорошо поддерживает x264 по этому в настоящее время это второй по частоте использования контейнер. Хотя так же в нем замечен один ключевой минус - из-за особенностей его организации в него чрезвычайно сложно добавить субтитры или альтернативную звуковую дорожку. Т.к. необходимо прописывать ее частные детали (atom). В MP4 файлах с субтитрами внутри контейнера иногда возникают проблемы с воспроизведением QuickTime из-за его предустановки. В виду этого все рабочие таги контейнера необходимо создавать с помощью утилиты MP4Box, а в некоторых случаях пописывать через Dumpster (Windows) или Muxo (Mac OS X).
Его можно свободно собирать разбирать с помощью программы - MP4Box (Yamb)

MOV - формат широко используемый в последнее время в качестве формата для мобильных устройств и камер. Однако не стоит забывать что это изначально QuickTime Movie, он лишен большинства минусов MP4 в него легко можно добавить несколько аудио потоков, субтитры, главы, так же он является форматом сохранения видео "по умолчанию" в Quick Time. Из главных минусов отмечу очень неудобную работу с тегами внутри контейнера.
Его можно свободно собирать разбирать с помощью программы - MP4Box (Yamb) или QuickTime

M4V - формат не преданный широкой огласке. Является производной MOV, но лишен его предрасположенности к содержанию фильмов. От сюда значиться уже как Quick Time (MPEG 4) Video, изначально получил распространение в iTunes Store в разделе Телешоу, по этому в нем на порядок более дружелюбная система тегирования без потери возможностей содержания в себе медиафайлов.
Его можно свободно собирать разбирать с помощью программы - MP4Box (Yamb)

MPEG-4 Part 14 - формат медиаконтейнера, является частью международного стандарта MPEG-4. Так же известен как MP4 и ISO/IEC 14496-14:2003. Первая версия формата, ISO / IEC 14496-1: 2001, была выпущена в 2001 году, итоговая версия - в 2003. Основан на формате ISO / IEC (14496-12: 2004), который основан на видеоконтейнере MOV (так же известном как Apple QuickTime) [Источник 1] .

Поддерживает упаковку видео и аудио потоков, субтитров, статичных изображений и метаданных. Так же имеется возможность потокового вещания с передачей необходимых метаданных. Не включает в себя алгоритмы сжатия информации. Некоторые версии формата имеют возможности шифрования и защиты от копирования (DRM). MP4 наиболее часто используется для упаковки потокового видео, видео для мобильных устройств, аудиофайлов музыки и аудиокниг. Официальным расширением является .mp4.

Содержание

Краткое описание структуры MP4

Файл MP4, как и любой файл формата MPEG-4 состоит из дерева блоков, называемых атомами (Atom) или контейнерами (Box). Атомы имеют иерархическую фиксированную структуру типов.


Каждый атом имеет побайтовую структуру вида:

Номера байт Назначение
0. 3 Размер атома в байтах. Таким образом 1 атом может иметь размер от 1 байта до 4 гигабайт.
4. 7 Описание типа атома.
8. Содержимое атома.

Атомы корневого уровня:

Тип Назначение Количество вхождений
ftyp описание типа файла и типов версий основных его структур 1
pdin информация прогрессивной загрузки видео 0. 1
moov контейнер, содержит любые метаданные 1
moof контейнер, сдержит отдельный видеофрагмент 0. N
mfra контейнер, функционал произвольного доступа к видеофрагменту 1
mdat контейнер, содержит потоки видео, аудио, субтитров 0. N
meta контейнер, содержит метаданные 0. 1
free, skip атомы неиспользуемого места 0. N

Атомы второго уровня:

Описание прочих возможных типов атомов содержится в спецификации ISO/IEC 14496-12:2005

Отличие MPEG-4 Part 14 от MPEG-4 Part 12

  • MP4-файл, содержит IOD, который содержит BIFS поток
  • подвид MP4-файла, содержит IOD без BIFS потока
  • подвид MP4-файла, содержит OD
  • файл свободного формата, основанного на MP4
  • подвид MP4 -файла, ссылается на ES URL

в одном потоке используется только 1 из этих атомов

* Новые элементы отмечены на схеме структуры MP4 зеленым цветом

Новые возможные значения для reference-type трека:

  • dpnd - данный трек имеет зависимость от указанной дорожки
  • ipir - данный трек содержит одержит объявления IPI для указанной дорожки
  • mpod - данный трек является OD треком, который использует указанную дорожку как элементарный поток
  • sync - данный трек использует указанный трек в качестве источника для синхронизации


Изменения в Track Header:

  • В случае, когда источник медиа данных находится вне MP4 файла, т.е. установлен флаг ES_URL, невозможно заранее определить его продолжительность. Тогда устанавливается значение по умолчанию: 1 секунда.
  • Теги track_in_movie и track_in_preview больше не используются.

Изменения в Hendler Reference:

Добавлены следующие значения для handler-type

  • odsm - ObjectDescriptorStream
  • crsm - ClockReferenceStream
  • sdsm - SceneDescriptionStream
  • m7sm - MPEG7Stream
  • ocsm - ObjectContentStream
  • ipsm - IPMPStream
  • mjsm - MPEG-JStream

Полное описание требований к формату MP4 содержится в спецификации ISO/IEC 14496-14:2003


Для многих пользователей MP4 – это формат видеофайлов. На самом деле это не просто формат, а целый пакет, который хранит информацию не только о видео, но и об аудио, субтитрах и метаданных. В силу этого далеко не каждая программа умеет с ним работать.

Эта статья расскажет, что такое формат MP4, чем он интересен, а также о том, как c ним работать.

Что такое формат MP4


В 1998 году был принят международный формат кодировки аудио и видео MPEG-4 (MPEG4). Он включает в себя возможности MPEG-1 и MPEG-2, а также имеет дополнительные функции, что делает его более удобным для использования. Этот формат делится на несколько частей. Одной из них является MPEG4 part 14, официальное название которой – MP4. Таким образом, MP4 является частью MPEG4 и представляет собой контейнер для упаковки видео, аудио, субтитров и других данных.

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

Однако это не единственная причина популярности MP4. Важное достоинство этого формата – возможность сжимать большие файлы без существенных потерь в качестве. Например, из DVD-файла объемом 4 ГБ получается 700 МБ в формате MP4. Все это делает удобной передачу видеофайлов этого типа через интернет, что стало особенно актуально во времена, когда сетевое соединение не отличалось высокой скоростью.

Как открыть MP4

В силу того, что MP4 является пакетом данных и содержит информацию разного рода, не каждая программа умеет работать с таким форматом. Открыть файл MP4 на разных ОС можно с помощью:

Android:

  • MP4 Player
  • VLC for Android
  • KMPlayer

iOS:

Windows:

  • Windows Media Player
  • VLC
  • MPlayer

Узнать все способы, как открыть файл MP4 и скачать приложения можно здесь.

Как конвертировать MP4

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

Ниже мы расскажем о двух способах это сделать – посредством бесплатного конвертера MP4 на русском языке Movavi Video Converter или в режиме онлайн на сервисе Video Converter.

С помощью Movavi Video Converter

Для того, чтобы mp4 преобразовать в другие форматы или наоборот, сделайте следующее:

Шаг 1. Установите Movavi Video Converter, скачать его можно здесь.

Шаг 2. Добавьте файл для конвертации. Для этого кликните «+» в центральной части рабочей области приложения или по «Добавить файлы» в левом верхнем углу. Также можно напрямую перетащить нужный файл.


Шаг 3. Выберите исходный тип файла, который требуется конвертировать (видео, изображения и пр.).

C:\Users\azz50\AppData\Local\Microsoft\Windows\INetCache\Content.Word\2.jpg

Шаг 4. Укажите путь к требуемому файлу и кликните по «Открыть» (можно выбрать сразу несколько файлов).

C:\Users\azz50\AppData\Local\Microsoft\Windows\INetCache\Content.Word\3.jpg

Шаг 5. Укажите файл для преобразования, поставив галочку в окошке слева от видеофайла. Укажите подходящую категорию (популярные, видео и пр.), формат в который его нужно перевести или же устройство, на котором планируется запускать итоговый результат.

C:\Users\azz50\AppData\Local\Microsoft\Windows\INetCache\Content.Word\4.jpg

Шаг 6. Измените качество нового ролика, кодировку аудио, в случае необходимости отредактируйте файл (можно обрезать, убрать шумы, тряску, изменить разрешение, добавить водяной знак и пр.).

C:\Users\azz50\AppData\Local\Microsoft\Windows\INetCache\Content.Word\5.jpg

Шаг 7. Выберите, куда сохранить готовый файл и нажмите «Конвертировать».


Шаг 8. Дождитесь окончания перевода исходного файла MP4 в выбранный AVI (в нашем примере).


Movavi Video Converter удобен тем, что умеет работать со множеством различных форматов (mov, mkv, avi, flv, dvd и многими другими), позволяет предварительно отредактировать файлы и имеет множество других настроек. При этом приложение простое. Если нужно, то прямо в нем можно пройти обучение.

С помощью онлайн-конвертера

Еще один удобный способ преобразовать MP4 без потери качества – это конвертация онлайн. Для этого выполните следующие действия:

Шаг 1. Зайдите на сайт.

Шаг 2. Нажмите на «Добавить файл», чтобы выбрать файл на ПК или стрелку вниз для загрузки из облачных сервисов.


Шаг 3. Укажите путь к требуемому файлу и кликните «Открыть».


Шаг 4. Нажмите на кнопку с надписью «MP4», чтобы выбрать тип файла (видео или аудио) для конвертации.


Шаг 5. Выберите требуемый формат (в нашем примере – MOV).


Шаг 6. Нажмите на пиктограмму «Шестеренка», чтобы войти в расширенные настройки. Задайте необходимое разрешение и качество звука для нового файла.


Шаг 7. Нажмите на «Конвертация» и дождитесь окончания процесса.


Читайте также: