Sdílet prostřednictvím


Přehled kódování ve službě Media Foundation

Toto téma je přehled rozhraní API pro kódování souborů poskytovaná ve službě Microsoft Media Foundation.

Terminologie

Kódování je obecný pojem, který zahrnuje několik různých procesů:

  1. Kódování zvukového nebo video streamu do komprimovaných formátů Například kódování streamu videa na video H.264.
  2. Multiplexování ("muxing") jednoho nebo více datových proudů do jediného bajtového proudu. Příchozí datové proudy jsou obvykle zakódovány jako první. Tento krok může zahrnovat paketizaci zakódovaných datových proudů.
  3. Zápis multiplexovaného bajtového streamu do souboru, například souboru MP4 nebo ASF (Advanced Systems Format). Alternativně lze multiplexovaný datový proud odeslat přes síť.

Následující diagram znázorňuje tyto tři procesy:

diagram znázorňující procesy kódování a multiplexingu

Mezi varianty tohoto procesu patří překódování a remuxování:

  • překódování znamená dekódování existujícího souboru, opětovné kódování datových proudů a opětovné multiplexování zakódovaných datových proudů. Překódování může být provedeno za účelem převodu souboru z jednoho typu kódování na jiný; Například převod videa H.264 na Windows Media Video (WMV). Lze také provést změnu zakódované přenosové rychlosti; velikost rámečku videa; frekvence snímků; nebo jiné parametry formátu.
  • remultiplexing nebo remuxování znamená demultiplexování souboru a opětovné multiplexování datových proudů bez dekódování nebo kódování. To může být provedeno tak, aby se změnil způsob multiplexování paketů zvuku nebo videa, odebrání datového proudu nebo kombinování datových proudů ze dvou různých zdrojových souborů.
  • Transrating je zvláštní případ překódování, kde se přenosová rychlost mění beze změny typu komprese. Můžete například převést soubor s vysokou přenosovou rychlostí na nižší přenosovou rychlost. Typickým scénářem, kdy se může použít transkratace, je synchronizace mediálního obsahu z počítače do přenosného zařízení. Pokud přenosné zařízení nepodporuje vysokou přenosovou rychlost, může se soubor před zkopírováním do přenosného zařízení převést.

Následující blokový diagram znázorňuje proces překódování.

diagram znázorňující procesu překódování

Následující blokový diagram znázorňuje proces remuxování.

diagram znázorňující proces remuxování

Tato dokumentace někdy používá termín kódování, aby zahrnoval jak překódování, tak remuxování. Pokud je důležité rozlišovat mezi nimi, dokumentace uvede rozdíl.

Viz také: Media Foundation: Základní koncepty.

Architektura kódování Media Foundation

V nejnižší vrstvě architektury Media Foundation se pro kódování používají následující typy komponent:

  • Pro překódování se zdroje médií používají k demultiplexování zdrojového souboru.
  • Pro proces kódování se používají Transformace Media Foundation k dekódování a kódování datových toků.
  • Při procesu multiplexování se jímky médií používají k multiplexování datových proudů a zápisu multiplexovaného datového proudu do souboru nebo sítě.

Následující diagram znázorňuje tok dat mezi těmito komponentami ve scénáři překódování:

diagram znázorňující komponenty použité při překódování

Většina aplikací nebude tyto komponenty používat přímo. Místo toho bude aplikace používat rozhraní API vyšší úrovně, která spravují tyto komponenty nižší úrovně. Media Foundation poskytuje dvě rozhraní API vyšší úrovně pro kódování:

Mediální relace

Mediální relace poskytuje ucelené potrubí, které přesouvá data ze zdroje médií, prostřednictvím kodeků, a nakonec k výstupu médií. Aplikace řídí mediální relaci a přijímá stavové události z mediální relace.

čtečka zdroje plus zapisovač jímky

Čtečka médií obaluje zdroj médií a případně i dekodéry. Dodává buď kódované nebo dekódované ukázky aplikace. Modul pro zápis do jímky obaluje mediální jímku a volitelně i enkodéry. Aplikace předává vzorky do Sink Writeru.

Následující diagram znázorňuje mediální sezení:

diagram znázorňující, jak mediální relace provádí překódování

Rozhraní Transcode API (modré stínované pole) je sada rozhraní API zavedená ve Windows 7, která usnadňuje konfiguraci Media Session pro kódování.

Následující diagram znázorňuje čtečku zdroje a zapisovač jímky.

diagram znázorňující překódování pomocí čtečky zdroje a zapisovače jímky

kódování a vytváření souborů

programování Media Foundation: Základní koncepty