Condividi tramite


Inserimento di formati di flusso nativi in file ASF (QASF)

[La funzionalità associata a questa pagina, Windows Media Format 11 SDK, è una funzionalità legacy. È stata sostituita dal lettore di origine e dal writer sink. Lettore di origine e writer sink sono stati ottimizzati per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi lettore di origine e writer sink anziché Windows Media Format 11 SDK, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Per impostazione predefinita, WM ASF Writer prevede flussi audio e video non compressi nei pin di input e usa Windows Media Format SDK per accedere ai codec Windows Media Audio e Windows Media Video, che comprimono i flussi. Tuttavia, il contenitore di file ASF può essere usato per qualsiasi tipo di dati. Inserendo i dati multimediali digitali in un contenitore di file ASF, è possibile aggiungere funzionalità fornite da ASF, ad esempio metadati e drm (Digital Rights Management), senza dover transcodificare il contenuto.

Per creare un file ASF contenente contenuto non basato su Windows Media, l'applicazione deve comprimere il flusso nel grafico di filtro a monte del writer ASF WM e ignorare il meccanismo di compressione del writer DI ASF WM CHIAMANDO IConfigAsfWriter2::SetParam come indicato di seguito:

pConfigAsfWriter2->SetParam(AM_CONFIGASFWRITER_PARAM_DONTCOMPRESS,TRUE,0)

Configurare quindi il filtro con il profilo desiderato. È essenziale che il tipo di supporto del flusso di input corrisponda esattamente al formato nel profilo. In alcuni casi, potrebbe essere necessario esaminare il formato del flusso di input e creare un profilo personalizzato in modo che corrisponda. Per altre informazioni, vedere Per creare file ASF tramite codec di terze parti.

Quando si connette WM ASF Writer al filtro upstream, usare il metodo IGraphBuilder::ConnectDirect . Non usare metodi di "connessione intelligente", ad esempio IGraphBuilder::Connect o IGraphBuilder::RenderFile per connettere il filtro perché disabilita la modalità di compressione "bypass" del filtro.