Origine file MPEG-4

L'origine file MPEG-4 analizza i file MP4 e 3GPP. Per altre informazioni sul formato di file MP4, vedere i documenti standard seguenti:

  • ISO/IEC 14496-12: Information technology -- Codifica di oggetti audio-visivi -- Parte 12: Formato di file multimediali di base ISO
  • ISO/IEC 14496-14: Information technology -- Codifica di oggetti audio-visivi -- Parte 14: Formato di file MP4

Nota

Queste risorse potrebbero non essere disponibili in alcune lingue e paesi.

 

L'origine file MPEG-4 non decodifica i dati audio/video nel file.

In questo argomento sono incluse le sezioni seguenti:

Estensioni di file e tipi MIME

L'origine file MPEG-4 è l'origine multimediale predefinita per le estensioni di file seguenti.

Estensione file Descrizione
.3g2 3GPP2
.3gp 3GPP
.3gp2 3GPP2
.3gpp 3GPP
.m4a Audio MPEG-4
.m4v Video MPEG-4
.mov Apple QuickTime Movie
.mp4 Audio o video MPEG-4
.mp4v Video MPEG-4

 

È anche l'origine multimediale predefinita per i tipi MIME seguenti.

tipo MIME Descrizione
audio/3gpp Audio 3GPP
audio/3gpp2 Audio 3GPP2
audio/mp4 Audio MPEG-4
video/3gpp Video 3GPP
video/3gpp2 Video 3GPP2
video/mp4 Video MPEG-4

 

Tipi di supporti

MP4 è un formato di contenitore estendibile. La specifica MP4 non definisce una struttura fissa per descrivere i tipi di supporti in un contenitore MP4. Definisce invece una gerarchia di oggetti che consente di definire strutture personalizzate per ogni formato. La descrizione del formato viene archiviata nella casella di descrizione di esempio ('stsd') per tale flusso. La casella di descrizione di esempio contiene un elenco di voci di esempio. Per ogni voce di esempio, un codice a 4 byte, simile a un FOURCC, definisce la struttura del formato.

Questa estendibilità significa che l'origine file MPEG-4 non è in grado di riconoscere ogni possibile descrizione del formato. È invece necessario un approccio a due livelli durante la creazione di tipi di supporti per i flussi. Come minimo, ogni tipo di supporto contiene gli attributi seguenti.

Attributo Descrizione
MF_MT_MAJOR_TYPE Uguale a MFMediaType_Audio o MFMediaType_Video.
MF_MT_SUBTYPE Specifica il sottotipo di flusso.
MF_MT_MPEG4_SAMPLE_DESCRIPTION Contiene la casella di descrizione di esempio completa come BLOB binario.
MF_MT_MPEG4_CURRENT_SAMPLE_ENTRY Specifica la voce corrente nella casella di descrizione di esempio.

 

L'origine file MPEG-4 riconosce alcuni tipi di voce di esempio. Per queste voci, può analizzare la struttura del formato e creare un tipo di supporto completo, con attributi aggiuntivi che descrivono i dettagli del formato. Vedere Attributi del tipo di supporto.

L'origine file MPEG-4 può analizzare le voci di esempio seguenti.

Codice voce di esempio Tipo principale Subtype Descrizione Note
'alaw' Audio WAVE_FORMAT_ALAW Codifica di una legge
'jpeg' Video MFVideoFormat_MJPG Flusso Photo-JPEG Il formato contenitore QuickTime supporta anche flussi JPEG di movimento con voci 'mjpa' o 'mjpb', ma l'origine file MPEG-4 non fornisce un tipo di supporto completo per tali tipi.
'avc1' Video MFVideoFormat_H264 Video H.264
'mp4a' Audio MFAudioFormat_AAC
MFAudioFormat_MP3
AAC o MP3 La voce "mp4a" può descrivere altri formati audio MPEG, ma l'origine file MPEG-4 non analizza la struttura del formato.
'mp4v' Video MFVideoFormat_M4S2
MFVideoFormat_MP4V
MPEG-4 parte 2 MFVideoFormat_M4S2 viene usato per mpeg-4 parte 2 profilo semplice.
MFVideoFormat_MP4V viene usato per tutti gli altri profili MPEG-4 parte 2, incluso Advanced Simple Profile.
'raw' Audio MFAudioFormat_PCM Audio PCM a 8 bit
'sowt' Audio MFAudioFormat_PCM Audio PCM a 16 bit little-endian
'twos' Audio MFAudioFormat_PCM Audio PCM big endian a 16 bit L'origine file MPEG-4 converte i dati audio in formato little-endian.
'ulaw' Audio WAVE_FORMAT_MULAW codifica μ legge
'vc-1' Video MFVideoFormat_WVC1 Video VC-1
'NONE' Audio MFAudioFormat_PCM Audio PCM a 8 bit o a 16 bit L'origine file MPEG-4 converte i dati audio in formato little-endian.
0x00000000 Audio MFAudioFormat_PCM Audio PCM a 8 bit o a 16 bit L'origine file MPEG-4 converte i dati audio in formato little-endian.
0x6d730002 Audio WAVE_FORMAT_ADPCM Modularità del codice a impulsi differenziali adattivi (ADPCM)
0x6d730011 Audio WAVE_FORMAT_IMA_ADPCM ADPCM

 

Per tutti gli altri codici non visualizzati nella tabella precedente, l'origine file MPEG-4 imposta il sottotipo come indicato di seguito:

  1. sottotipo = MFMPEG4Format_Base
  2. sottotipo. Data1 = codice di immissione di esempio

Per i codici non visualizzati nella tabella, un decodificatore deve usare l'attributo MF_MT_MPEG4_SAMPLE_DESCRIPTION per analizzare la casella di descrizione di esempio.

Per un elenco dei codici di ingresso di esempio e collegamenti alle specifiche pertinenti, vedere il sito Web "MP4" Registration Authority .

Limitazioni

L'origine file MPEG-4 non supporta le funzionalità seguenti dei file MP4:

  • Tracce esterne.
  • Frammenti di film (caselle 'moof' o 'mfra'). 'moof' è supportato in Windows 8.
  • Presentazioni in streaming. L'origine file MPEG-4 ignora automaticamente le tracce dei suggerimenti.
  • Ricerca da parte del codice ora SMPTE.
  • Atomi compressi ('cmov').

Sono supportati solo i flussi video e audio. Le tracce che contengono altri tipi di flusso vengono ignorate automaticamente. I dati multimediali devono essere inseriti all'interno di atomi "mdat".

Se è installato Platform Update Supplement per Windows Vista, l'origine file MPEG-4 è disponibile in Windows Vista, ma è accessibile solo in Windows Vista usando il lettore di origine.

Windows 8 aggiornamenti all'origine e al sink MPEG-4

  • Supporto di lettura e scrittura di rotazione aggiunto in Windows 8 origine e sink MPEG-4. Questo non è supportato nell'origine e nel sink MPEG-4 di Windows 7.

    L'origine MPEG-4 legge l'angolo di rotazione per una traccia video attiva come somma dell'angolo di rotazione da 'mvhd' e da 'tkhd'.

    Il sink Microsoft MPEG-4 scrive l'angolo di rotazione in "tkhd", ma scrive la matrice di 0 gradi (identità) in 'mvhd'. Nota, il sink Microsoft MPEG-4 supporta solo una singola traccia video.

    IPropertyStore legge l'angolo di rotazione solo per la prima traccia video come somma dell'angolo di rotazione da 'mvhd' e da 'tkhd'.

    IPropertyStore scrive l'angolo di rotazione solo per la prima traccia video in "tkhd" dopo che l'angolo di rotazione viene regolato in base all'angolo di rotazione in "mvhd", se esistente.

  • I frammenti di film ('moof') sono supportati in Windows 8 sorgente e sink MPEG-4, ma 'mfra' non è.

  • H.263 è supportato in Windows 8'origine MPEG-4.

    L'origine MPEG-4 ora esegue il mapping di due quattrocc di 'h263' e 's263' nel formato di file MPEG-4 al tipo di supporto di MFVideoFormat_H263.

  • È stato aggiunto altro supporto fourcc per MJPEG in Windows 8'origine MPEG-4.

    L'origine MPEG-4 esegue il mapping di foucc di 'dmb1' al tipo di supporto di MFVideoFormat_MJPG.

  • Supporto dei metadati furigana aggiunto in Windows 8'origine MPEG-4.

    L'origine MPEG-4 legge i metadati Furigana da 'soal', 'soar', 'soaa', 'sonm' e 'soco'. IPropertyStore legge i metadati di Furmaka tramite il set di PKEY corrispondenti.

    La tabella seguente illustra il mapping tra il nome canonico della shell, la chiave della proprietà e l'ID box/tag in formato file MPEG-4.

    Campo Chiave proprietà ID tag/casella
    System.Music.AlbumTitleSortOverride PKEY_Music_AlbumTitleSortOverride soal
    System.Music.ArtistSortOverride PKEY_Music_ArtistSortOverride librarsi
    System.Music.AlbumArtistSortOverride PKEY_Music_AlbumArtistSortOverride soaa
    System.TitleSortOverride _TitleSortOverride PKEY sonm
    System.Music.ComposerSortOverride PKEY_Music_ComposerSortOverride Soco

     

  • Supporto atom stereo 3D aggiunto in Windows 8 sorgente MPEG-4.

  • Il supporto AC3 e DD+ aggiunto in Windows 8 origine e sink MPEG-4.

  • I file di dimensioni superiori a 4 gigabyte (GB) sono supportati in Windows 8 sink MPEG-4 per MP4 non frammentato.

  • Lo scrubbing è stato ottimizzato in Windows 8'origine MPEG-4.

    Per ridurre la latenza, le informazioni relative ai due fotogrammi chiave più vicini per una determinata posizione di ricerca vengono esposte tramite IMFSeekInfo::GetNearestKeyFrames. Poiché il fotogramma chiave non ha fotogrammi dipendenti, presenta la cornice dopo la decodifica di un solo fotogramma. Usare IMFGetService::GetService per ottenere questa interfaccia tramite l'origine multimediale, la pipeline o l'applicazione.

    Impostare la frequenza su zero nell'origine MPEG-4. Quando la pipeline è in modalità di pulizia, la frequenza è zero.

  • SPS e PPS possono essere archiviati nei dati di esempio nel sink MPEG-4.

    MF_MPEG4SINK_SPSPPS_PASSTHROUGH attributo nel sink MPEG-4 è definito per consentire il salvataggio di SPS e PPS insieme agli esempi di input (dati video H.264). Le clip mp4 prodotte sono in grado di riprodurre l'origine MPEG-4 di Windows 7 e altri.

  • SPS e PPS possono essere estratti da esempi di input nel sink MPEG-4.

    Quando SPS e PPS non vengono impostati tramite MF_MT_MPEG_SEQUENCE_HEADER sul tipo di supporto di input del sink MPEG-4, il sink MPEG-4 tenterà di estrarre SPS e PPS dagli esempi di input. Il sink MPEG-4 ignora tutti gli esempi di input finché non trova il primo SPS e PPS, perché tutti gli esempi di input senza SPS e PPS non sono in grado di decodificare.

  • Le informazioni 3D nel record di configurazione AVC sono supportate per MP4 non frammento.

  • La lunghezza NALU viene esposta per esempi compressi H.264 per ottimizzare la decodifica DXVA H.264 VLD.

    I set di origine MPEG-4 MF_NALU_LENGTH_SET sul tipo di supporto di output di MFVideoFormat_H264 o MFVideoFormat_h264. Imposta il BLOB di MF_NALU_LENGTH_INFORMATION in ogni esempio di output, con lunghezza NALU a quattro byte per un esempio compresso diverso.

  • Supporto aggiunto per l'audio MPEG2 ADTS nell'origine MP4.

Origini multimediali e sink

Supporto MPEG-4 in Media Foundation

Formati multimediali supportati in Media Foundation