O que é demultiplexação?
A demultiplexação separa um contêiner de mídia ou fluxo de transporte nos fluxos de vídeo, áudio, legendas e metadados que o compõem. Ela altera a organização dos fluxos sem necessariamente decodificar o conteúdo comprimido.
Como funciona a demultiplexação
Um contêiner multiplexado intercala pacotes pertencentes a várias faixas lógicas e registra como esses pacotes devem ser temporizados e interpretados. O demultiplexador lê as estruturas do contêiner, seleciona faixas e entrega unidades de acesso comprimidas e informações auxiliares aos decodificadores apropriados. Isso é diferente da decodificação, que transforma essas unidades em amostras de áudio, quadros de vídeo ou eventos de legenda. A demultiplexação fica entre a obtenção dos bytes e o processamento por codecs nos fluxos de trabalho de reprodução, inspeção, extração e remultiplexação.
Informações essenciais
- Os carimbos de tempo dos pacotes usam uma base de tempo do contêiner ou da faixa e podem distinguir a ordem de decodificação da ordem de apresentação; descartar essas informações pode dessincronizar as faixas ou reordenar o vídeo incorretamente.
- A extração de uma faixa comprimida pode ocorrer sem perdas, bit a bit, mas sua forma independente pode precisar de dados de inicialização do codec que antes eram armazenados nos cabeçalhos do contêiner, e não em cada pacote.
- Índices danificados, estruturas de caixa truncadas ou tamanhos inválidos de pacotes podem impedir a navegação pela linha do tempo ou a análise sintática mesmo quando grande parte do conteúdo codificado está intacta; portanto, uma falha na demultiplexação não significa necessariamente uma falha no codec.
Quando a demultiplexação é relevante
Demultiplexe a mídia ao extrair faixas, inspecionar propriedades dos fluxos ou fornecer dados a decodificadores separados. O demultiplexador escolhido deve entender o contêiner e preservar as informações de temporização, ou a reprodução poderá perder a sincronização.