MPEG-4 Part 14

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 17:17, 29 июня 2017.
MPEG-4 Part 14
Расширение файла .mp4
Интернет-тип носителя video/mp4
Тип кода mpg4
Разработчик ISO
Тип формата Медиа контейнер
Контейнеры для Аудио, видео, метаданных
Расширенный от Apple QuickTime и MPEG-4 Part 12
Стандарт ISO/IEC 14496-14

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). Атомы имеют иерархическую фиксированную структуру типов.

Схема структуры MP4 файла

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

Номера байт Назначение
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

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

  • Атомы, содержащиеся в moov:
Тип Назначение Количество вхождений
mvhd заголовок видео, полное описание 1
trak контейнер для отдельной дорожки или потока 1...N
‘'udta’' содержит пользовательскую информацию, а так же информацию о треке 0...1
iods содержит дескриптор mp4 файла 0...1
  • Атомы, содержащиеся в moof:
Тип Назначение Количество вхождений
mfhd заголовок фрагмента видео 1
traf контейнер для фрагмента трека 0...N
  • Атомы, содержащиеся в mfra:
Тип Назначение Количество вхождений
tfra произвольный доступ к фрагменту трека 1...N
mfro смещение для произвольного доступа к фрагменту видео 1


  • Атомы, содержащиеся в meta:
Тип Назначение Количество вхождений
hdlr объявление типа метаданных 1
dinf информация о данных положения медиа информации в треке 1
ipmc содержит IPMP дескрипторы 0...1
iloc предоставляет информацию о положениях отдельных упакованных файлов в данном,или каком-либо другом файле 0...1
ipro содержит информацию о защите файла 0...1
iinf содержит информацию об отдельных элементах 0...1
xml, bxml для хранения первичных данных в формате XML 0...1
pitm описание для ссылочных типов первичных данных 0...1

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

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

Новые атомы:

Тип Предок по иерархии Назначение Количество вхождений
iods move описывает тип файла, возможные значения:
  • MP4-файл, содержит IOD, который содержит BIFS поток
  • подвид MP4-файла, содержит IOD без BIFS потока
  • подвид MP4-файла, содержит OD
  • файл свободного формата, основанного на MP4
  • подвид MP4 -файла, ссылается на ES URL
0...1
mp4v, mp4a, mp4s stbl отображают вид потока: только аудио, только видео, иной тип потока

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

0...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 http://mp4ra.org/

Популярные неофициальные расширения формата

  • .m4a — аудио-файл содержащий поток в формате AAC или ALAC. Полностью совместим с MP4.
  • .m4v — файл содержащий как аудио, так и видеопотоки. Полностью совместим с MP4.
  • .m4b — файл AAC, поддерживающий закладки. Используется для аудиокниг и подкастов.
  • .m4p — защищённый файл AAC. Используется для защиты файла от копирования при легальной загрузке музыки в онлайн-магазинах.
  • .m4r — файл рингтона используемый в Apple iOS.

Спецификации

  • ISO/IEC 14496-14:2003
  • ISO/IEC 14496-12:2005

Источники

  1. Спецификация формата на официальном сайте проекта ISO. Дата обновления: 29.06.2017. URL: https://www.iso.org/standard/38538.html (дата обращения: 29.06.2017)

Ссылки