Compartilhar via


Trabalhando com codecs

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

O Microsoft Windows fornece vários codecs como componentes do sistema operacional. Os codecs disponíveis sempre incluem aqueles que são fornecidos com qualquer versão do DirectX e Reprodutor Multimídia do Windows foi incluído na versão do Windows. Codecs adicionais podem ser instalados quando versões mais recentes do DirectX ou Reprodutor Multimídia do Windows ou os runtimes do SDK do Windows Media são instalados. Terceiros podem instalar codecs adicionais em um sistema de host; esses codecs podem ser projetados para funcionar apenas com um aplicativo específico ou podem dar suporte ao uso geral por qualquer aplicativo DirectShow.

Os codecs podem ser implementados de uma das três maneiras diferentes:

  • Como um codec instalável de áudio ou vídeo do tipo Vídeo para Windows carregado pelo VCM (Gerenciador de Compactação de Vídeo) ou pelo ACM (Gerenciador de Compactação de Áudio). Em geral, essa tecnologia é considerada preterida e seu uso não é recomendado. Os codecs instaláveis participam de grafos de filtro do DirectShow por meio do filtro wrapper de descompactador AVI.
  • Como um filtro DirectShow. Muitos codecs de terceiros são implementados como filtros nativos do DirectShow. Um desses filtros é o filtro de descompactador Frauenhofer MP3. Em geral, esses filtros podem ser adicionados ao grafo de filtro das maneiras usuais. Uma exceção a essa regra é que alguns codecs de Áudio do Windows Media™ ou Vídeo do Windows Media e o codec do Microsoft MPEG-4 não podem ser adicionados a um grafo de filtro manualmente. Esses filtros só podem ser adicionados pelos filtros Leitor do ASF e Gravador ASF.
  • Como DMOs (Objetos de Mídia DirectX). Os DMOs são a maneira recomendada de implementar codecs porque eles podem ser usados dentro de um grafo de filtro directShow usando o filtro Wrapper de DMO ou, de outra forma, independentemente em qualquer outro aplicativo de streaming não baseado em DirectShow. Alguns codecs de Áudio do Windows Media e Vídeo do Windows Media são implementados como DMOs. Assim como acontece com os filtros do Windows Media, esses DMOs não podem ser usados fora do contexto do SDK do Windows Media. Isso significa que, no DirectShow, eles só podem ser adicionados a um grafo por meio dos filtros Leitor ASF ou Gravador ASF.

No GraphEdit, todos esses diferentes tipos de codecs aparecem juntos nas seguintes categorias:

  • Compressor de áudio
  • Compressor de vídeo
  • Filtro DirectShow

Muitos desses codecs, no entanto, são instalados por terceiros ou por outros aplicativos da Microsoft ou componentes do sistema operacional e não são destinados para uso por outros aplicativos DirectShow. A lista de codecs visíveis no GraphEdit também depende de qual versão do Windows está sendo executada no sistema host e qual versão do SDK do DirectShow está instalada.