Récepteur de fichiers MPEG-4
Le récepteur de fichiers MPEG-4 crée des fichiers MP4. Pour plus d’informations sur le format de fichier MP4, reportez-vous aux documents standard suivants :
- ISO/IEC 14496-12 : technologies de l’information--Codage des objets audiovisuels--Partie 12 : format de fichier multimédia de base ISO
- ISO/IEC 14496-14 : technologies de l’information--Codage des objets audiovisuels--Partie 14 : format de fichier MP4
Notes
(Ces ressources peuvent ne pas être disponibles dans certaines langues et certains pays.)
Le récepteur de fichiers MPEG-4 n’encapsule pas les fonctionnalités d’encodage.
Pour créer le récepteur de fichiers MPEG-4, appelez la fonction MFCreateMPEG4MediaSink . Le récepteur de fichiers MPEG-4 expose les interfaces suivantes via QueryInterface:
Zone de description de l’exemple
MP4 est un format de conteneur extensible. La spécification MP4 ne définit pas une structure fixe pour décrire les types de média 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 du format est stockée dans la zone Description de l’exemple (« STSD ») pour chaque flux. La zone Description de l’exemple contient une liste d’exemples d’entrées. Pour chaque entrée d’exemple, un code de 4 octets, similaire à un code FOURCC, définit la structure de format.
Le récepteur de fichiers MPEG-4 peut générer la zone de description de l’exemple pour les formats suivants :
- Vidéo H. 264/AVC
- Audio AAC
- Audio MP3
Pour les autres formats, la zone Description de l’exemple doit être fournie dans le type de média pour chaque flux. Pour spécifier la zone Description de l’exemple, définissez les attributs suivants sur le type de média :
| Attribut | Description |
|---|---|
| _Exemple de _ Description du MPEG4 MF MT _ _ | Contient l’exemple de zone de description en tant qu’objet blob binaire. |
| _Entrée d' _ exemple _ de _ _ ligne de code MPEG4 MF | Spécifie lequel des exemples d’entrées dans la zone Description de l’exemple est actuellement actif. (Facultatif.) Actuellement, la valeur doit être égale à zéro. |
Dans certains cas, il n’est pas possible de générer un exemple de zone de description tant que toutes les données n’ont pas été encodées. Par exemple, les informations telles que la vitesse de transmission moyenne peuvent ne pas être connues à l’avance. Dans ce cas, vous pouvez mettre à jour le type de média à l’aide de l’interface IMFMediaTypeHandler sur le récepteur de fichiers MPEG-4. Cette opération doit être effectuée avant la finalisation du récepteur multimédia.
En général, le type de média est créé par un encodeur en amont. L’encodeur peut générer un nouveau type de média pendant la diffusion en continu, via une modification de format dynamique. Pour plus d’informations, consultez modifications de format dynamique.
Vidéo H. 264/AVC
Le récepteur de fichiers MPEG-4 prend en charge la version du flux AVC qui possède un flux vidéo élémentaire, avec les paramètres de séquence (SPS) et le jeu de paramètres d’image (PPS) NALUs contenus dans la zone Description de l’exemple, tel que défini dans la section ISO/IEC 14496, partie 15, 5,1. Le récepteur de fichiers ne prend pas en charge l’autre méthode de stockage des NALUs SPS/PPS en tant que flux élémentaire de définition de paramètres distinct.
Le récepteur de fichiers MPEG-4 peut générer la zone de description de l’exemple, mais il doit être fourni avec les NALUs SPS et PPS. Spécifiez ces informations dans le type de média en définissant l’attribut d' _ _ _ _ en-tête de séquence MPEG MF MT . La valeur de l’attribut est l’en-tête de séquence H. 264. L’en-tête de séquence doit se composer des NALUs SPS et PPS délimités par des codes de démarrage de 3 ou 4 octets.
Si vous le souhaitez, lorsque vous configurez le récepteur de fichiers, vous pouvez omettre l’attribut d' _ _ _ _ en-tête de séquence MPEG MF MT du type de média initial. Dans ce cas, vous devez mettre à jour le type de média ultérieurement pour inclure l’en-tête de séquence.
Le récepteur de fichiers MPEG-4 présente les exigences suivantes pour les flux de bits AVC :
- Le flux binaire doit être conforme à la spécification de format d’annexe B H. 264. En particulier, NALUs doit être délimité par des codes de début de 3 ou 4 octets.
- Les exemples de supports doivent contenir toutes les NALUs de données de secteur et de données qui correspondent à une heure de présentation unique.
- Lorsque vous écrivez des frames B dans un fichier MP4, vous devez définir à la fois l’horodatage de la présentation et l’horodatage de décodage. Si Stream a un frame B et que l’horodateur de décodage n’est pas défini, l’enregistreur MP4 verra le temps de tramage en arrière et supprimera le frame.
Audio AAC
Pour l’audio AAC, le récepteur de fichiers MPEG-4 peut générer la zone de description de l’exemple pour les sous-types suivants :
- MFAudioFormat _ AAC
- MEDIASUBTYPE _ brut _ AAC1
Pour plus d’informations sur ces substypes, consultez types de média AAC.
Pour le sous-type MFAudioFormat _ AAC , le type de média contient éventuellement l’attribut de _ _ _ données utilisateur MF MT User . S’il est présent, cet attribut représente la partie de la structure HEAACWAVEINFO qui apparaît après la structure WAVEFORMATEX (autrement dit, après le membre wfx ). Cela est suivi des données AudioSpecificConfig (), telles que définies par la norme ISO/IEC 14496-3. Si l’attribut de _ _ _ données utilisateur MF MT n’est pas présent, le flux est supposé être un profil de faible complexité AAC (LC) et le récepteur de fichiers MPEG-4 génère une zone de description d’exemple appropriée.
Pour le sous-type _ _ AAC1 brut MEDIASUBTYPE , le récepteur multimédia doit contenir l’attribut de _ _ _ données utilisateur MF MT et l’attribut doit contenir les données AudioSpecificConfig ().
Le récepteur de fichiers MPEG-4 crée la variante MPEG-4 de la zone de description de l’exemple AAC, à l’aide d’une entrée d’exemple « MP4A » avec objectTypeIndication = 0x40. Elle n’utilise pas les types d’objets MPEG-2.
Audio MP3
Pour le son MP3, le récepteur de fichiers MPEG-4 peut générer la zone de description de l’exemple à partir d’un type de média audio standard. (Voir types de média audio.)
Le récepteur de fichiers MPEG-4 crée la variante MPEG-4 de la zone de description de l’exemple MP3, à l’aide d’une entrée d’exemple « MP4A » avec objectTypeIndication = 0x6b pour MPEG-1 audio.
Limites
- La taille maximale du fichier créé est de 4 Go. dans Windows 8, les fichiers de taille supérieure à 4 GBGB sont pris en charge.
- Le récepteur de fichiers MPEG-4 ne prend pas en charge les listes de modifications (zones « Edts » et « Elst »).
Windows 8 les 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 le récepteur MPEG-4. cela n’est pas pris en charge dans la source et le récepteur Windows 7 MPEG-4.
La source MPEG-4 lit l’angle de rotation pour une piste vidéo active en tant que somme de l’angle de rotation à partir de’mvhd’et de’tkhd'.
Le récepteur Microsoft MPEG-4 écrit l’angle de rotation dans’tkhd', mais écrit la 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 uniquement pour la première piste vidéo en tant que somme de l’angle de rotation à partir de « mvhd » et de « tkhd ».
IPropertyStore écrit l’angle de rotation uniquement pour la première piste vidéo dans « tkhd » une fois que l’angle de rotation est 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 le 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 FourCC de « H263 » et 263» au format de fichier MPEG-4 sur le type de média de MFVideoFormat _ H263.
plus de prise en charge de fourcc ajoutée pour MJPEG dans Windows 8 source MPEG-4.
Le mappage source MPEG-4 foucc de’DMB1 'au type de média de MFVideoFormat _ MJPG.
prise en charge des métadonnées Furigana ajoutées dans Windows 8 source MPEG-4.
La source MPEG-4 lit les métadonnées Furigana à partir de « SOAL », « décoller », « SOAA », « sonm » et « SOCO ». IPropertyStore lit les métadonnées Furignana à travers l’ensemble des PKEYs correspondantes.
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/zone Requise. Musique. AlbumTitleSortOverride Musique de la _ _ AlbumTitleSortOverride soal Requise. Musique. ArtistSortOverride Musique de la _ _ ArtistSortOverride Tu Requise. Musique. AlbumArtistSortOverride Musique de la _ _ AlbumArtistSortOverride soaa System. TitleSortOverride TitleSortOverride de la _ sonm Requise. Musique. ComposerSortOverride Musique de la _ _ ComposerSortOverride soco prise en charge stéréo 3d atom ajoutée dans Windows 8 source MPEG-4.
AC3 et DD + prennent en charge ajoutés dans Windows 8 source et le récepteur MPEG-4.
les fichiers dont la taille est supérieure à 4 go sont pris en charge dans Windows 8 récepteur MPEG-4 pour MP4 non fragmenté.
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 pour une position de recherche particulière sont exposées par le biais de IMFSeekInfo :: GetNearestKeyFrames. Étant donné que l’image clé n’a pas de frames dépendants, elle présente le frame après le décodage d’une seule trame. Utilisez IMFGetService :: GetService pour obtenir cette interface via la source du média, le pipeline ou l’application.
Définissez rate 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 un récepteur MPEG-4.
MF _ L' _ attribut _ passthrough MPEG4SINK SPSPPS sur le récepteur MPEG-4 est défini pour permettre l’enregistrement des SP et des PPS avec des exemples d’entrée (données vidéo H. 264). les clips mp4 générés sont en mesure de lire Windows 7 MPEG-4 source et d’autres.
SPS et PPS peuvent être extraits des exemples d’entrée du récepteur MPEG-4.
Lorsque SPS et PPS ne sont pas définis via l' _ _ _ _ en-tête de séquence MPEG MF MT sur le type de média d’entrée du récepteur MPEG-4, le récepteur MPEG-4 tente d’extraire SPS et PPS des exemples d’entrée. Le récepteur MPEG-4 ignore 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 peuvent pas être décodés.
les informations 3D dans l’enregistrement de configuration AVC sont prises en charge pour MP4 non fragmenté.
La longueur de NALU est exposée pour les exemples compressés H. 264 afin d’optimiser le décodage DXVA H. 264 VLD.
La source MPEG-4 définit la _ longueur Nalu MF _ _ définie sur le type de média de sortie de MFVideoFormat _ H264 – ou MFVideoFormat _ H264 –. Il définit l’objet BLOB des _ _ _ informations de longueur Nalu MF sur chaque échantillon de sortie, avec une longueur de Nalu de 4 octets pour différents Nalu dans un échantillon compressé.
Ajout de la prise en charge de l’audio MPEG2 ADTS dans la source MP4.
Configuration requise
| Condition requise | Valeur |
|---|---|
| Client minimal pris en charge |
applications de [ bureau Windows 7 uniquement] |
| Serveur minimal pris en charge |
Windows Serveur 2008 R2, [ applications de bureau uniquement] |