Источник файла MPEG-4

Источник файла MPEG-4 анализирует файлы MP4 и 3GPP. Дополнительные сведения о формате MP4-файла см. в следующих документах по стандартам:

  • ISO/IEC 14496-12: Информационные технологии - Кодирование аудиовизуальных объектов - Часть 12. Формат базового медиафайла ISO
  • ISO/IEC 14496-14: Информационные технологии - Кодирование аудиовизуационных объектов - Часть 14: формат MP4-файлов

Примечание

(Эти ресурсы могут быть недоступны на некоторых языках и в некоторых странах.)

 

Источник файла MPEG-4 не декодирует аудио- и видеоданные в файле.

Этот раздел состоит из следующих подразделов.

Расширения файлов и типы MIME

Источник файлов MPEG-4 является источником мультимедиа по умолчанию для следующих расширений имен файлов.

Расширение файла Описание
.3g2 3GPP2
.3gp 3GPP
.3gp2 3GPP2
.3gpp 3GPP
.m4a Звук MPEG-4
.m4v Видео MPEG-4
.mov Apple QuickTime Movie
.mp4 Аудио или видео MPEG-4
.mp4v Видео MPEG-4

 

Он также является источником мультимедиа по умолчанию для следующих типов MIME.

тип MIME Описание
audio/3gpp Звук 3GPP
audio/3gpp2 Звук 3GPP2
audio/mp4 Звук MPEG-4
видео/3gpp Видео о 3GPP
видео/3gpp2 Видео 3GPP2
video/mp4 Видео MPEG-4

 

Типы носителей

MP4 — это расширяемый формат контейнера. Спецификация MP4 не определяет фиксированную структуру для описания типов мультимедиа в контейнере MP4. Вместо этого он определяет иерархию объектов, которая позволяет определять пользовательские структуры для каждого формата. Описание формата хранится в поле примера описания (stsd) для этого потока. Поле с примером описания содержит список примеров записей. Для каждого примера записи 4-байтовый код, аналогичный FOURCC, определяет структуру формата.

Эта расширяемость означает, что источник файла MPEG-4 не может распознать все возможные описания формата. Вместо этого при создании типов мультимедиа для потоков используется двухуровневый подход. Как минимум, каждый тип мультимедиа содержит следующие атрибуты.

attribute Описание
MF_MT_MAJOR_TYPE Равно MFMediaType_Audio или MFMediaType_Video.
MF_MT_SUBTYPE Указывает подтип потока.
MF_MT_MPEG4_SAMPLE_DESCRIPTION Содержит полный пример описания в виде двоичного BLOB-объекта.
MF_MT_MPEG4_CURRENT_SAMPLE_ENTRY Указывает текущую запись в поле описания образца.

 

Источник файла MPEG-4 распознает некоторые примеры типов записей. Для этих записей он может проанализировать структуру формата и создать полный тип мультимедиа с дополнительными атрибутами, описывающими сведения о формате. См. раздел Атрибуты типа мультимедиа.

Источник файла MPEG-4 может проанализировать следующие примеры записей.

Пример кода записи Основной тип Subtype Описание Примечания
'alaw' звук; WAVE_FORMAT_ALAW А-закон кодирования
'jpeg' Видео MFVideoFormat_MJPG Поток Photo-JPEG Формат контейнера QuickTime также поддерживает потоки движения JPEG с записями mjpa или mjpb, но источник файла MPEG-4 не предоставляет полный тип мультимедиа для этих типов.
'avc1' Видео MFVideoFormat_H264 Видео H.264
'mp4a' звук; MFAudioFormat_AAC
MFAudioFormat_MP3
AAC или MP3 Запись mp4a может описывать другие аудиоформаты MPEG, но источник файла MPEG-4 не анализирует структуру формата.
'mp4v' Видео MFVideoFormat_M4S2
MFVideoFormat_MP4V
MPEG-4, часть 2 MFVideoFormat_M4S2 используется для простого профиля MPEG-4, часть 2.
MFVideoFormat_MP4V используется для всех остальных профилей MPEG-4, часть 2, включая расширенный простой профиль.
'raw' звук; MFAudioFormat_PCM 8-разрядный звук PCM
'sowt' звук; MFAudioFormat_PCM 16-разрядный звук PCM с маленьким эндианом
'twos' звук; MFAudioFormat_PCM 16-разрядный звук PCM big-endian Источник файла MPEG-4 преобразует звуковые данные в формат с минимальным байтом.
'ulaw' звук; WAVE_FORMAT_MULAW кодирование μ закона
'vc-1' Видео MFVideoFormat_WVC1 Видео VC-1
"NONE" звук; MFAudioFormat_PCM 8-разрядный или 16-разрядный звук PCM big-endian Источник файла MPEG-4 преобразует звуковые данные в формат с минимальным байтом.
0x00000000 звук; MFAudioFormat_PCM 8-разрядный или 16-разрядный звук PCM big-endian Источник файла MPEG-4 преобразует звуковые данные в формат с минимальным байтом.
0x6d730002 звук; WAVE_FORMAT_ADPCM Адаптивная дифференциальная импульсная модуляция кода (ADPCM)
0x6d730011 звук; WAVE_FORMAT_IMA_ADPCM ADPCM

 

Для любых других кодов, не показанных в предыдущей таблице, источник файла MPEG-4 задает подтип следующим образом:

  1. subtype = MFMPEG4Format_Base
  2. подтип. Data1 = пример кода записи

Для кодов, не показанных в таблице, декодер должен использовать атрибут MF_MT_MPEG4_SAMPLE_DESCRIPTION для анализа поля описания образца.

Список примеров кодов записи и ссылки на соответствующие спецификации см. на веб-сайте центра регистрации MP4 .

Ограничения

Источник файлов MPEG-4 не поддерживает следующие функции MP4-файлов:

  • Внешние дорожки.
  • Фрагменты фильма (ящики moof или mfra). Moof поддерживается в Windows 8.
  • Потоковая передача презентаций. Источник файла MPEG-4 автоматически игнорирует дорожки подсказок.
  • Поиск по коду времени SMPTE.
  • Сжатые атомы (cmov).

Поддерживаются только видео- и аудиопотоки. Все дорожки, содержащие другие типы потоков, игнорируются автоматически. Данные мультимедиа должны размещаться внутри атомов mdat.

Если установлено дополнение к обновлению платформы для Windows Vista, источник файлов MPEG-4 доступен в Windows Vista, но доступен только с помощью средства чтения исходного кода.

Windows 8 обновления источника и приемника MPEG-4

  • В Windows 8 источника и приемника MPEG-4 добавлена поддержка чтения и записи в ротации. Это не поддерживается в источнике и приемнике WINDOWS 7 MPEG-4.

    Источник MPEG-4 считывает угол поворота для активной видеодорожки как сумму угла поворота от mvhd и от tkhd.

    Приемник Microsoft MPEG-4 записывает угол поворота в tkhd, а матрицу 0 градусов (идентификатор) — в mvhd. Обратите внимание, что приемник Microsoft MPEG-4 поддерживает только одну видеодорожку.

    IPropertyStore считывает угол поворота только для первой видеодорожки в виде суммы угла поворота от mvhd и от tkhd.

    IPropertyStore записывает угол поворота только для первой видеодорожки в tkhd после того, как угол поворота регулируется в соответствии с углом поворота в "mvhd", если он существует.

  • Фрагменты фильмов (moof) поддерживаются в Windows 8 источнике и приемнике MPEG-4, но mfra — нет.

  • H.263 поддерживается в Windows 8 источнике MPEG-4.

    Источник MPEG-4 теперь сопоставляет два fourcc "h263" и "s263" в формате MPEG-4 с типом мультимедиа MFVideoFormat_H263.

  • Добавлена дополнительная поддержка fourcc для MJPEG в Windows 8 источнике MPEG-4.

    Источник MPEG-4 сопоставляет foucc 'dmb1' с типом носителя MFVideoFormat_MJPG.

  • Поддержка метаданных Furigana добавлена в Windows 8 источнике MPEG-4.

    Источник MPEG-4 считывает метаданные Furigana из "soal", "soar", "soaa", "sonm" и "soco". IPropertyStore считывает метаданные Furignana через набор соответствующих PKEY.

    В следующей таблице показано сопоставление канонического имени оболочки, ключа свойства и идентификатора поля или тега в формате MPEG-4.

    Поле Ключ свойства Идентификатор тега или поля
    System.Music.AlbumTitleSortOverride PKEY_Music_AlbumTitleSortOverride Соал
    System.Music.ArtistSortOverride PKEY_Music_ArtistSortOverride парить
    System.Music.AlbumArtistSortOverride PKEY_Music_AlbumArtistSortOverride soaa
    System.TitleSortOverride _TitleSortOverride PKEY sonm
    System.Music.ComposerSortOverride PKEY_Music_ComposerSortOverride soco

     

  • Поддержка стерео-трехмерного атома добавлена в Windows 8 источнике MPEG-4.

  • Поддержка AC3 и DD+ добавлена в Windows 8 источника и приемника MPEG-4.

  • Файлы размером более 4 ГБ поддерживаются в Windows 8 приемнике MPEG-4 для не фрагментационного MP4.

  • Очистка оптимизирована в Windows 8 источнике MPEG-4.

    Чтобы уменьшить задержку, сведения о двух ближайших ключевых кадрах для конкретной позиции поиска предоставляются через IMFSeekInfo::GetNearestKeyFrames. Так как ключевой кадр не имеет зависимых кадров, он представляет кадр после декодирования только одного кадра. Используйте IMFGetService::GetService для получения этого интерфейса через источник мультимедиа, конвейер или приложение.

    Установите нулевое значение скорости в источнике MPEG-4. Если конвейер находится в режиме очистки, скорость равна нулю.

  • SPS и PPS можно хранить в образцах данных в приемнике MPEG-4.

    MF_MPEG4SINK_SPSPPS_PASSTHROUGH атрибут в приемнике MPEG-4 определен для сохранения SPS и PPS вместе с входными образцами (видеоданными H.264). Созданные mp4 клипы могут воспроизводиться в Windows 7 MPEG-4 источника и других.

  • SPS и PPS можно извлечь из входных образцов в приемнике MPEG-4.

    Если SPS и PPS не заданы через MF_MT_MPEG_SEQUENCE_HEADER на типе входного носителя приемника MPEG-4, приемник MPEG-4 попытается извлечь SPS и PPS из входных образцов. Приемник MPEG-4 игнорирует все входные выборки, пока не найдет первые SPS и PPS, так как все входные образцы без SPS и PPS не могут декодироваться.

  • Трехмерные сведения в записи конфигурации AVC поддерживаются для недиктонных MP4.

  • Длина NALU предоставляется для сжатых примеров H.264 для оптимизации декодирования H.264 VLD DXVA.

    Наборы источников MPEG-4 MF_NALU_LENGTH_SET на типе выходного носителя MFVideoFormat_H264 или MFVideoFormat_h264. Он задает большой двоичный объект MF_NALU_LENGTH_INFORMATION в каждом выходном примере с четырехбайтовой длиной NALU для разных nalu в одном сжатом образце.

  • Добавлена поддержка звука MPEG2 ADTS в источнике MP4.

Источники и приемники мультимедиа

Поддержка MPEG-4 в Media Foundation

Поддерживаемые форматы мультимедиа в Media Foundation