Condividi tramite


Panoramica del sistema DirectShow

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

La sfida dei contenuti multimediali

L'uso dei contenuti multimediali presenta diverse sfide principali:

  • I flussi multimediali contengono grandi quantità di dati, che devono essere elaborati molto rapidamente.
  • L'audio e il video devono essere sincronizzati in modo che venga avviato e arrestato contemporaneamente e riprodotto contemporaneamente.
  • I dati possono provenire da molte origini, tra cui file locali, reti informatiche, trasmissioni televisive e telecamere.
  • I dati sono disponibili in diversi formati, ad esempio Audio-Video Interleaved (AVI), Advanced Streaming Format (ASF), Motion Picture Experts Group (MPEG) e Digital Video (DV).
  • Il programmatore non sa in anticipo quali dispositivi hardware saranno presenti nel sistema dell'utente finale.

Soluzione DirectShow

DirectShow è progettato per affrontare ognuna di queste sfide. Il suo obiettivo principale è quello di semplificare l'attività di creazione di applicazioni multimediali digitali sulla piattaforma Windows, isolando le applicazioni dalle complessità dei trasporti dati, delle differenze hardware e della sincronizzazione.

Per ottenere la velocità effettiva necessaria per trasmettere video e audio, DirectShow usa Direct3D e DirectSound quando possibile. Queste tecnologie eseguono il rendering efficiente dei dati nelle schede audio e grafiche dell'utente. DirectShow sincronizza la riproduzione incapsulando i dati multimediali in esempi con timestamp. Per gestire la varietà di origini, formati e dispositivi hardware possibili, DirectShow usa un'architettura modulare, in cui l'applicazione combina e corrisponde a componenti software diversi denominati filtri.

DirectShow offre filtri che supportano i dispositivi di acquisizione e ottimizzazione basati sul modello di driver Windows (WDM), nonché filtri che supportano schede di acquisizione video per Windows (VfW) precedenti e codec scritti per le interfacce di Gestione compressione audio (ACM) e Gestione compressione video (VCM).

Il diagramma seguente illustra la relazione tra un'applicazione, i componenti DirectShow e alcuni dei componenti hardware e software supportati da DirectShow.

architettura di alto livello

Come illustrato qui, i filtri DirectShow comunicano con e controllano un'ampia gamma di dispositivi, tra cui il file system locale, la tuner TV e le schede di acquisizione video, codec VfW, la visualizzazione video (tramite DirectDraw o GDI) e la scheda audio (tramite DirectSound). DirectShow isola quindi l'applicazione da molte delle complessità di questi dispositivi. DirectShow offre anche filtri di compressione e decompressione nativi per determinati formati di file.

Informazioni su DirectShow