Source de fichier MPEG-4

La source du fichier MPEG-4 analyse les fichiers MP4 et 3GPP. Pour plus d’informations sur le format de fichier MP4, reportez-vous aux documents de normes suivants :

  • ISO/IEC 14496-12 : Technologie de l’information -- Codage d’objets audio-visuels -- Partie 12 : Format de fichier multimédia de base ISO
  • ISO/IEC 14496-14 : Technologie de l’information -- Codage d’objets audio-visuels -- Partie 14 : Format de fichier MP4

Notes

(Ces ressources peuvent ne pas être disponibles dans certaines langues et pays.)

 

La source de fichier MPEG-4 ne décode pas les données audio/vidéo dans le fichier.

Cette rubrique contient les sections suivantes :

Extensions de fichier et types MIME

La source de fichier MPEG-4 est la source de média par défaut pour les extensions de nom de fichier suivantes.

Extension de fichier Description
.3g2 3GPP2
.3gp 3GPP
.3gp2 3GPP2
.3gpp 3GPP
.m4a Audio MPEG-4
.m4v Vidéo MPEG-4
.mov Apple QuickTime Movie
.mp4 Audio ou vidéo MPEG-4
.mp4v Vidéo MPEG-4

 

Il s’agit également de la source de média par défaut pour les types MIME suivants.

type MIME Description
audio/3gpp Audio 3GPP
audio/3gpp2 Audio 3GPP2
audio/mp4 Audio MPEG-4
video/3gpp Vidéo 3GPP
video/3gpp2 Vidéo 3GPP2
vidéo/mp4 Vidéo MPEG-4

 

Types de supports

MP4 est un format de conteneur extensible. La spécification MP4 ne définit pas de structure fixe pour décrire les types de supports dans un conteneur MP4. Au lieu de cela, il définit une hiérarchie d’objets qui permet de définir des structures personnalisées pour chaque format. La description de format est stockée dans la zone d’exemple de description ('stsd') de ce flux. La zone de description de l’exemple contient une liste d’exemples d’entrées. Pour chaque exemple d’entrée, un code de 4 octets, similaire à un FOURCC, définit la structure de format.

Cette extensibilité signifie que la source de fichier MPEG-4 ne peut pas reconnaître toutes les descriptions de format possibles. Au lieu de cela, il prend une approche à deux niveaux lors de la création de types multimédias pour les flux. Au minimum, chaque type de média contient les attributs suivants.

Attribut Description
MF_MT_MAJOR_TYPE Égal à MFMediaType_Audio ou MFMediaType_Video.
MF_MT_SUBTYPE Spécifie le sous-type de flux.
MF_MT_MPEG4_SAMPLE_DESCRIPTION Contient l’exemple complet de zone de description sous la forme d’un objet blob binaire.
MF_MT_MPEG4_CURRENT_SAMPLE_ENTRY Spécifie l’entrée actuelle dans l’exemple de zone de description.

 

La source de fichier MPEG-4 reconnaît certains exemples de types d’entrée. Pour ces entrées, elle peut analyser la structure de format et créer un type de média complet, avec des attributs supplémentaires qui décrivent les détails du format. Voir Attributs de type de média.

La source de fichier MPEG-4 peut analyser les exemples d’entrées suivants.

Exemple de code d’entrée Type principal Subtype Description Notes
'alaw' Audio WAVE_FORMAT_ALAW Codage en droit
'jpeg' Vidéo MFVideoFormat_MJPG Flux Photo-JPEG Le format de conteneur QuickTime prend également en charge les flux JPEG de mouvement avec des entrées « mjpa » ou « mjpb », mais la source de fichier MPEG-4 ne fournit pas de type multimédia complet pour ces types.
'avc1' Vidéo MFVideoFormat_H264 Vidéo H.264
'mp4a' Audio MFAudioFormat_AAC
MFAudioFormat_MP3
AAC ou MP3 L’entrée « mp4a » peut décrire d’autres formats audio MPEG, mais la source de fichier MPEG-4 n’analyse pas la structure de format.
'mp4v' Vidéo MFVideoFormat_M4S2
MFVideoFormat_MP4V
MPEG-4 partie 2 MFVideoFormat_M4S2 est utilisé pour le profil simple MPEG-4 partie 2.
MFVideoFormat_MP4V est utilisé pour tous les autres profils MPEG-4 partie 2, y compris le profil simple avancé.
'raw' Audio MFAudioFormat_PCM Audio PCM 8 bits
'sowt' Audio MFAudioFormat_PCM Audio PCM 16 bits
'deux' Audio MFAudioFormat_PCM Audio PCM big-endian 16 bits La source de fichier MPEG-4 convertit les données audio au format little-endian.
'ulaw' Audio WAVE_FORMAT_MULAW codage en droit μ
'vc-1' Vidéo MFVideoFormat_WVC1 Vidéo VC-1
'NONE' Audio MFAudioFormat_PCM Audio PCM big-endian 8 bits ou 16 bits La source de fichier MPEG-4 convertit les données audio au format little-endian.
0x00000000 Audio MFAudioFormat_PCM Audio PCM big-endian 8 bits ou 16 bits La source de fichier MPEG-4 convertit les données audio au format little-endian.
0x6d730002 Audio WAVE_FORMAT_ADPCM Modulation de code d’impulsion différentielle adaptative (ADPCM)
0x6d730011 Audio WAVE_FORMAT_IMA_ADPCM ADPCM

 

Pour les autres codes non affichés dans le tableau précédent, la source de fichier MPEG-4 définit le sous-type comme suit :

  1. sous-type = MFMPEG4Format_Base
  2. sous-type. Data1 = exemple de code d’entrée

Pour les codes non affichés dans le tableau, un décodeur doit utiliser l’attribut MF_MT_MPEG4_SAMPLE_DESCRIPTION pour analyser l’exemple de zone de description.

Pour obtenir la liste des exemples de codes d’entrée et des liens vers des spécifications pertinentes, consultez le site web de l’Autorité d’inscription « MP4 ».

Limites

La source de fichier MPEG-4 ne prend pas en charge les fonctionnalités suivantes des fichiers MP4 :

  • Pistes externes.
  • Fragments de film ('moof' ou 'mfra'). 'moof' est pris en charge dans Windows 8.
  • Présentations diffusées en continu. La source de fichier MPEG-4 ignore silencieusement les pistes d’indicateurs.
  • Recherche par code de temps SMPTE.
  • Atomes compressés ('cmov').

Seuls les flux vidéo et audio sont pris en charge. Les pistes qui contiennent d’autres types de flux sont ignorées en mode silencieux. Les données multimédias doivent être placées à l’intérieur des atomes « mdat ».

Si le supplément de mise à jour de plateforme pour Windows Vista est installé, la source de fichier MPEG-4 est disponible sur Windows Vista, mais est accessible sur Windows Vista uniquement à l’aide du lecteur source.

Windows 8 mises à jour vers la source et le récepteur MPEG-4

  • Prise en charge de lecture et d’écriture de rotation ajoutée dans Windows 8 source et récepteur MPEG-4. Cela n’est pas pris en charge dans la source et le récepteur MPEG-4 Windows 7.

    La source MPEG-4 lit l’angle de rotation d’une piste vidéo active comme somme de l’angle de rotation de « mvhd » et de « tkhd ».

    Le récepteur Microsoft MPEG-4 écrit l’angle de rotation dans « tkhd », mais écrit une matrice de 0 degrés (identité) dans « mvhd ». Notez que le récepteur Microsoft MPEG-4 prend uniquement en charge une seule piste vidéo.

    IPropertyStore lit l’angle de rotation pour seulement la première piste vidéo en tant que somme de l’angle de rotation de ' mvhd' et de 'tkhd'.

    IPropertyStore écrit l’angle de rotation pour seulement la première piste vidéo dans 'tkhd' après l’ajustement de l’angle de rotation en fonction de l’angle de rotation dans 'mvhd', s’il existe.

  • Les fragments de films ('moof') sont pris en charge dans Windows 8 source et récepteur MPEG-4, mais 'mfra' n’est pas.

  • H.263 est pris en charge dans Windows 8 source MPEG-4.

    La source MPEG-4 mappe désormais deux quatrecc de « h263 » et « s263 » au format de fichier MPEG-4 au type de média de MFVideoFormat_H263.

  • Plus de quatrecc de prise en charge ajoutée pour MJPEG dans Windows 8 source MPEG-4.

    La source MPEG-4 mappe foucc de 'dmb1' au type multimédia de MFVideoFormat_MJPG.

  • Prise en charge des métadonnées Furigana ajoutée dans Windows 8 source MPEG-4.

    La source MPEG-4 lit les métadonnées Furigana de 'soal', 'soar', 'soaa', 'sonm' et 'soco'. IPropertyStore lit les métadonnées Furignana par le biais de l’ensemble des PKEY correspondants.

    Le tableau suivant montre le mappage entre le nom canonique de l’interpréteur de commandes, la clé de propriété et l’ID de zone/balise au format de fichier MPEG-4.

    Champ Clé de propriété ID de balise/boîte
    Système. Musique. AlbumTitleSortOverride PKEY_Music_AlbumTitleSortOverride soal
    Système. Musique. ArtistSortOverride PKEY_Music_ArtistSortOverride Soar
    Système. Musique. AlbumArtistSortOverride PKEY_Music_AlbumArtistSortOverride soaa
    System.TitleSortOverride PKEY _TitleSortOverride sonm
    Système. Musique. ComposerSortOverride PKEY_Music_ComposerSortOverride Soco

     

  • Prise en charge de l’atome stéréo 3D ajoutée dans Windows 8 source MPEG-4.

  • Prise en charge AC3 et DD+ ajoutée dans Windows 8 source et récepteur MPEG-4.

  • Les fichiers de plus de 4 gigaoctets (Go) sont pris en charge dans Windows 8 récepteur MPEG-4 pour le mp4 non fragmental.

  • Le nettoyage a été optimisé dans Windows 8 source MPEG-4.

    Pour réduire la latence, les informations relatives aux deux images clés les plus proches d’une position de recherche particulière sont exposées via IMFSeekInfo::GetNearestKeyFrames. Étant donné que l’image clé n’a pas d’images dépendantes, elle présente l’image après le décodage d’une seule image. Utilisez IMFGetService::GetService pour obtenir cette interface via la source multimédia, le pipeline ou l’application.

    Définissez le taux sur zéro dans la source MPEG-4. Lorsque le pipeline est en mode de nettoyage, le taux est égal à zéro.

  • SPS et PPS peuvent être stockés dans des exemples de données dans le récepteur MPEG-4.

    MF_MPEG4SINK_SPSPPS_PASSTHROUGH attribut sur le récepteur MPEG-4 est défini pour permettre l’enregistrement des spS et PPS avec des exemples d’entrée (données vidéo H.264). Les clips mp4 produits sont en lecture par Windows 7 MPEG-4 source et d’autres.

  • SPS et PPS peuvent être extraits d’exemples d’entrée dans le récepteur MPEG-4.

    Lorsque SPS et PPS ne sont pas définis via MF_MT_MPEG_SEQUENCE_HEADER sur le type de support d’entrée du récepteur MPEG-4, le récepteur MPEG-4 tente d’extraire SPS et PPS à partir d’exemples d’entrée. Le récepteur MPEG-4 ignore tous les exemples d’entrée jusqu’à ce qu’il trouve le premier SPS et PPS, car tous les exemples d’entrée sans SPS et PPS ne sont pas décodants.

  • Les informations 3D dans l’enregistrement de configuration AVC sont prises en charge pour les mp4 non fragmentaires.

  • La longueur NALU est exposée pour les exemples compressés H.264 afin d’optimiser le décodage DXVA VLD H.264.

    Jeux de sources MPEG-4 MF_NALU_LENGTH_SET sur le type de support de sortie de MFVideoFormat_H264 ou de MFVideoFormat_h264. Il définit l’objet blob de MF_NALU_LENGTH_INFORMATION sur chaque exemple de sortie, avec une longueur NALU de quatre octets pour différents NALU dans un exemple compressé.

  • Prise en charge ajoutée pour l’audio MPEG2 ADTS dans la source MP4.

Sources et récepteurs multimédias

Prise en charge de MPEG-4 dans Media Foundation

Formats multimédias pris en charge dans Media Foundation