Source de fichier MPEG-4

La source de 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 : Technologies de l’information -- Codage d’objets audio-visuels -- Partie 12: Format de fichier multimédia de base ISO
  • ISO/IEC 14496-14 : Technologies 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 certains 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 fichiers et types MIME

La source de fichier MPEG-4 est la source multimé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 multimé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
vidéo/3gpp Vidéo 3GPP
video/3gpp2 Vidéo 3GPP2
vidéo/mp4 Vidéo MPEG-4

 

Types de médias

MP4 est un format de conteneur extensible. La spécification MP4 ne définit pas de structure fixe pour décrire les types de médias 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 exemple de description (« stsd ») pour 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, semblable à 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 utilise une approche à deux niveaux lors de la création de types de mé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 forme d’objet blob binaire.
MF_MT_MPEG4_CURRENT_SAMPLE_ENTRY Spécifie l’entrée actuelle dans la zone de description de l’exemple.

 

La source de fichier MPEG-4 reconnaît certains exemples de types d’entrée. Pour ces entrées, il 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. Consultez 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 A-law
'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 little endian 16 bits
'twos' 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 μ-law
'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 tous les autres codes non indiqués dans le tableau précédent, la source de fichier MPEG-4 définit le sous-type comme suit :

  1. subtype = 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 la zone de description de l’exemple.

Pour obtenir la liste des exemples de codes d’entrée et des liens vers les 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 (boîtes '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’indicateur.
  • Recherche par code de temps SMPTE.
  • Atomes compressés (« cmov').

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

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

Windows 8 mises à jour de la source et du récepteur MPEG-4

  • Prise en charge de la lecture et de l’é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 la 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é (identité) dans « mvhd ». Notez que le récepteur Microsoft MPEG-4 ne prend en charge qu’une seule piste vidéo.

    IPropertyStore lit l’angle de rotation de la première piste vidéo uniquement comme la somme de l’angle de rotation de « mvhd » et de « tkhd ».

    IPropertyStore écrit l’angle de rotation uniquement pour la première piste vidéo dans « tkhd » après que l’angle de rotation a été ajusté en fonction de l’angle de rotation dans « mvhd », s’il existe.

  • Les fragments de film (« moof ») sont pris en charge dans Windows 8 source et récepteur MPEG-4, mais « mfra » ne l’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.

  • Ajout de la prise en charge de quatrecc pour MJPEG dans Windows 8 source MPEG-4.

    La source MPEG-4 mappe foucc de 'dmb1' au type de mé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 via 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/de boîte
    System.Music.AlbumTitleSortOverride PKEY_Music_AlbumTitleSortOverride soal
    System.Music.ArtistSortOverride PKEY_Music_ArtistSortOverride Soar
    System.Music.AlbumArtistSortOverride PKEY_Music_AlbumArtistSortOverride soaa
    System.TitleSortOverride PKEY _TitleSortOverride sonm
    System.Music.ComposerSortOverride PKEY_Music_ComposerSortOverride Soco

     

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

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

  • Les fichiers supérieurs à 4 gigaoctets (Go) sont pris en charge dans Windows 8 récepteur MPEG-4 pour les fichiers MP4 non fragmentaires.

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

    Pour réduire la latence, les informations relatives aux deux trames clés les plus proches pour 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 nettoyage, le débit 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 aux SPS et PPS d’être enregistrés avec des exemples d’entrée (données vidéo H.264). Les clips mp4 produits sont lues par la source MPEG-4 windows 7 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 les premiers 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 fichiers MP4 non fragmentaires.

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

    Les jeux de sources MPEG-4 MF_NALU_LENGTH_SET sur le type de support de sortie de MFVideoFormat_H264 ou 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 de l’audio MPEG2 ADTS dans la source MP4.

Sources multimédias et récepteurs

Prise en charge de MPEG-4 dans Media Foundation

Formats multimédias pris en charge dans Media Foundation