Fonte de arquivo MPEG-4
A fonte do arquivo MPEG-4 analisa arquivos MP4 e 3GPP. Para obter mais informações sobre o formato de arquivo MP4, consulte os seguintes documentos de padrões:
- ISO/IEC 14496-12: Tecnologia da informação -- Codificação de objetos audiovisuais -- Parte 12: ISO Base Media File Format
- ISO/IEC 14496-14: Tecnologia da informação -- Codificação de objetos audiovisuais -- Parte 14: Formato de arquivo MP4
Observação
(Esses recursos podem não estar disponíveis em alguns idiomas e países.)
A fonte do ficheiro MPEG-4 não descodifica os dados de áudio/vídeo no ficheiro.
Este tópico contém as seguintes seções:
Extensões de arquivo e tipos MIME
A fonte de arquivo MPEG-4 é a fonte de mídia padrão para as seguintes extensões de nome de arquivo.
Extensão do arquivo | Descrição |
---|---|
.3g2 | 3GPP2 |
.3gp | 3GPP |
.3gp2 | 3GPP2 |
.3GPP | 3GPP |
.m4a | Áudio MPEG-4 |
.m4v | Vídeo MPEG-4 |
.mov | Filme Apple QuickTime |
.mp4 | MPEG-4 áudio ou vídeo |
.mp4v | Vídeo MPEG-4 |
É também a fonte de mídia padrão para os seguintes tipos de MIME.
Tipo MIME | Descrição |
---|---|
áudio/3gpp | Áudio 3GPP |
áudio/3gpp2 | Áudio 3GPP2 |
áudio/mp4 | Áudio MPEG-4 |
Vídeo/3GPP | Vídeo 3GPP |
vídeo/3gpp2 | Vídeo 3GPP2 |
vídeo/mp4 | Vídeo MPEG-4 |
Tipos de mídia
MP4 é um formato de recipiente extensível. A especificação MP4 não define uma estrutura fixa para descrever tipos de mídia em um contêiner MP4. Em vez disso, ele define uma hierarquia de objetos que permite que estruturas personalizadas sejam definidas para cada formato. A descrição do formato é armazenada na caixa de descrição de exemplo ('stsd') para esse fluxo. A caixa de descrição de exemplo contém uma lista de entradas de exemplo. Para cada entrada de exemplo, um código de 4 bytes, semelhante a um FOURCC, define a estrutura do formato.
Essa extensibilidade significa que a fonte do arquivo MPEG-4 não pode reconhecer todas as descrições de formato possíveis. Em vez disso, ele adota uma abordagem de duas camadas ao criar tipos de mídia para os fluxos. No mínimo, cada tipo de mídia contém os seguintes atributos.
Atributo | Descrição |
---|---|
MF_MT_MAJOR_TYPE | Igual a MFMediaType_Audio ou MFMediaType_Video. |
MF_MT_SUBTYPE | Especifica o subtipo de fluxo. |
MF_MT_MPEG4_SAMPLE_DESCRIPTION | Contém a caixa de descrição de exemplo completa como um blob binário. |
MF_MT_MPEG4_CURRENT_SAMPLE_ENTRY | Especifica a entrada atual na caixa de descrição do exemplo. |
A fonte do arquivo MPEG-4 reconhece alguns tipos de entrada de exemplo. Para essas entradas, ele pode analisar a estrutura do formato e criar um tipo de mídia completo, com atributos adicionais que descrevem os detalhes do formato. Consulte Atributos de tipo de mídia.
A fonte do arquivo MPEG-4 pode analisar as seguintes entradas de exemplo.
Exemplo de código de entrada | Tipo principal | Subtipo | Descrição | Observações |
---|---|---|---|---|
'LEI' | Áudio | WAVE_FORMAT_ALAW | Codificação A-law | |
'JPEG' | Vídeo | MFVideoFormat_MJPG | Photo-JPEG fluxo | O formato de contêiner QuickTime também suporta fluxos JPEG de movimento com entradas 'mjpa' ou 'mjpb', mas a fonte de arquivo MPEG-4 não fornece um tipo de mídia completo para esses tipos. |
«AVC1» | Vídeo | MFVideoFormat_H264 | Vídeo H.264 | |
'MP4A' | Áudio |
MFAudioFormat_AAC MFAudioFormat_MP3 |
AAC ou MP3 | A entrada 'mp4a' pode descrever outros formatos de áudio MPEG, mas a fonte do arquivo MPEG-4 não analisa a estrutura do formato. |
'MP4v' | Vídeo |
MFVideoFormat_M4S2 MFVideoFormat_MP4V |
MPEG-4 parte 2 |
MFVideoFormat_M4S2 é usado para MPEG-4 parte 2 Simple Profile. MFVideoFormat_MP4V é usado para todos os outros perfis MPEG-4 parte 2, incluindo Advanced Simple Profile. |
'cru' | Áudio | MFAudioFormat_PCM | Áudio PCM de 8 bits | |
'Seva' | Áudio | MFAudioFormat_PCM | Áudio PCM little-endian de 16 bits | |
'dois' | Áudio | MFAudioFormat_PCM | Áudio PCM big-endian de 16 bits | A fonte do arquivo MPEG-4 converte os dados de áudio para o formato little-endian. |
'Ulaw' | Áudio | WAVE_FORMAT_MULAW | Codificação μ | |
'VC-1' | Vídeo | MFVideoFormat_WVC1 | Vídeo VC-1 | |
'NENHUM' | Áudio | MFAudioFormat_PCM | Áudio PCM big-endian de 8 bits ou 16 bits | A fonte do arquivo MPEG-4 converte os dados de áudio para o formato little-endian. |
0x00000000 | Áudio | MFAudioFormat_PCM | Áudio PCM big-endian de 8 bits ou 16 bits | A fonte do arquivo MPEG-4 converte os dados de áudio para o formato little-endian. |
0x6d730002 | Áudio | WAVE_FORMAT_ADPCM | Modulação adaptativa do código de pulso diferencial (ADPCM) | |
0x6d730011 | Áudio | WAVE_FORMAT_IMA_ADPCM | ADPCM |
Para quaisquer outros códigos não mostrados na tabela anterior, a fonte do arquivo MPEG-4 define o subtipo da seguinte maneira:
- subtipo = MFMPEG4Format_Base
- subtipo. Dados1 = código de entrada de amostra
Para códigos não mostrados na tabela, um decodificador deve usar o atributo MF_MT_MPEG4_SAMPLE_DESCRIPTION para analisar a caixa de descrição de exemplo.
Para obter uma lista de exemplos de códigos de entrada e links para especificações relevantes, consulte o site Autoridade de Registro 'MP4'.
Limitações
A fonte do arquivo MPEG-4 não suporta os seguintes recursos de arquivos MP4:
- Faixas externas.
- Fragmentos de filmes (caixas 'moof' ou 'mfra'). 'moof' é suportado no Windows 8.
- Apresentações em streaming. A fonte do arquivo MPEG-4 ignora silenciosamente as faixas de dica.
- Buscando pelo código de tempo SMPTE.
- Átomos comprimidos («cmov»).
Apenas fluxos de vídeo e áudio são suportados. Todas as faixas que contêm outros tipos de fluxo são silenciosamente ignoradas. Os dados multimédia devem ser colocados dentro de átomos «mdat».
Se o Suplemento de Atualização de Plataforma para Windows Vista estiver instalado, a fonte de arquivo MPEG-4 estará disponível no Windows Vista, mas poderá ser acessada no Windows Vista somente usando o Source Reader.
Atualizações do Windows 8 para MPEG-4 fonte e coletor
Suporte de leitura e gravação de rotação adicionado na fonte e coletor MPEG-4 do Windows 8. Isso não é suportado na fonte e coletor MPEG-4 do Windows 7.
A fonte MPEG-4 lê o ângulo de rotação de uma faixa de vídeo ativa como a soma do ângulo de rotação de 'mvhd' e de 'tkhd'.
O coletor Microsoft MPEG-4 grava o ângulo de rotação em 'tkhd', mas grava matriz de 0 grau (identidade) em 'mvhd'. Nota, o coletor Microsoft MPEG-4 suporta apenas uma faixa de vídeo.
IPropertyStore lê o ângulo de rotação para apenas a primeira faixa de vídeo como a soma do ângulo de rotação de 'mvhd' e de 'tkhd'.
IPropertyStore grava o ângulo de rotação apenas para a primeira faixa de vídeo em 'tkhd' depois que o ângulo de rotação é ajustado de acordo com o ângulo de rotação em 'mvhd', se existir.
Fragmentos de filme ('moof') é suportado no Windows 8 MPEG-4 fonte e coletor, mas 'mfra' não é.
H.263 é suportado no Windows 8 MPEG-4 fonte.
MPEG-4 fonte agora mapeia dois fourcc de 'h263' e 's263' no formato de arquivo MPEG-4 para o tipo de mídia de MFVideoFormat_H263.
Mais suporte fourcc adicionado para MJPEG no Windows 8 MPEG-4 fonte.
MPEG-4 fonte mapeia foucc de 'dmb1' para o tipo de mídia de MFVideoFormat_MJPG.
Suporte de metadados Furigana adicionado na fonte MPEG-4 do Windows 8.
A fonte MPEG-4 lê metadados Furigana de 'soal', 'soar', 'soaa', 'sonm' e 'soco'. IPropertyStore lê metadados Furignana através do conjunto de PKEYs correspondentes.
A tabela a seguir mostra o mapeamento entre o nome canônico do shell, a chave de propriedade e o ID da caixa/marca no formato de arquivo MPEG-4.
Domínio Chave do imóvel ID da etiqueta/caixa System.Music.AlbumTitleSortOverride PKEY_Music_AlbumTitleSortOverride soal System.Music.ArtistSortOverride PKEY_Music_ArtistSortOverride subir System.Music.AlbumArtistSortOverride PKEY_Music_AlbumArtistSortOverride SOAA System.TitleSortOverride PKEY _TitleSortOverride Sonm System.Music.ComposerSortOverride PKEY_Music_ComposerSortOverride Soco | Suporte a átomos 3D estéreo adicionado na fonte MPEG-4 do Windows 8.
Suporte a AC3 e DD+ adicionado na fonte e coletor MPEG-4 do Windows 8.
Arquivos maiores que 4 gigabytes (GB) são suportados no coletor MPEG-4 do Windows 8 para MP4 não fragmentado.
A depuração foi otimizada na fonte MPEG-4 do Windows 8.
Para reduzir a latência, as informações dos dois quadros-chave mais próximos para uma determinada posição de busca são expostas por meio IMFSeekInfo::GetNearestKeyFrames. Como o quadro-chave não tem quadros dependentes, ele apresenta o quadro após a decodificação de apenas um quadro. Use IMFGetService::GetService para obter essa interface por meio da fonte de mídia, pipeline ou aplicativo.
Defina a taxa para zero na fonte MPEG-4. Quando o pipeline está no modo de limpeza, a taxa é zero.
SPS e PPS podem ser armazenados em dados de amostra no coletor MPEG-4.
MF_MPEG4SINK_SPSPPS_PASSTHROUGH atributo no coletor MPEG-4 é definido para permitir que SPS e PPS sejam salvos juntamente com amostras de entrada (dados de vídeo H.264). Os clipes mp4 produzidos são reproduzíveis pelo Windows 7 MPEG-4 fonte e outros.
SPS e PPS podem ser extraídos de amostras de entrada no coletor MPEG-4.
Quando SPS e PPS não são definidos através de MF_MT_MPEG_SEQUENCE_HEADER no tipo de mídia de entrada do coletor MPEG-4, o coletor MPEG-4 tentará extrair SPS e PPS de amostras de entrada. O coletor MPEG-4 ignora todas as amostras de entrada até encontrar a primeira SPS e PPS, porque todas as amostras de entrada sem SPS e PPS não podem ser decodificadas.
As informações 3D no registro de configuração AVC são suportadas para MP4 não fragmentado.
O comprimento NALU é exposto para amostras compactadas H.264 para otimizar a decodificação H.264 VLD DXVA.
MPEG-4 fonte define MF_NALU_LENGTH_SET no tipo de mídia de saída de MFVideoFormat_H264 ou MFVideoFormat_h264. Ele define o blob de MF_NALU_LENGTH_INFORMATION em cada amostra de saída, com comprimento NALU de quatro bytes para NALUs diferentes em uma amostra compactada.
Suporte adicionado para áudio MPEG2 ADTS em fonte MP4.
Tópicos relacionados