Configurazione dei flussi

L'unica cosa necessaria in un profilo è almeno un flusso. Le altre opzioni forniscono l'accesso a funzionalità più avanzate, ma con il minimo di un flusso che è possibile creare un file ASF. È essenziale comprendere come configurare i flussi prima di creare profili complessi.

Ai fini dei profili, i flussi possono essere suddivisi in due tipi: quelli compressi con codec Windows Media e flussi arbitrari che non vengono elaborati con codec. I flussi audio e i flussi video sono i tipi che usano i codec Windows Media. Naturalmente, i flussi possono contenere audio o video compressi con un codec di terze parti, ma il processo di configurazione di tale flusso è un caso speciale. Per altre informazioni, vedere Creare file ASF usando codec di terze parti.

L'elenco seguente riepiloga il processo di configurazione di un flusso.

  1. Ottenere un oggetto di configurazione del flusso per il flusso.
    • Se si crea un flusso usando uno dei codec di Windows Media, è necessario ottenere l'oggetto di configurazione del flusso come formato codec usando i metodi di IWMCodecInfo3.
    • Se il flusso è un tipo arbitrario, ottenere un oggetto di configurazione di flusso vuoto usando IWMProfile::CreateNewStream.
  2. Configurare il flusso per soddisfare le esigenze.
    • I flussi di tutti i tipi devono essere assegnati un nome, un nome di connessione e un numero di flusso.
    • I flussi che usano codec Windows Media devono essere modificati solo in modi predefiniti dal formato codec. Per i flussi audio, è necessario modificare solo le impostazioni VBR (Variable Bit Rate) per la VBR a due passaggi. I flussi video devono essere configurati con le proprietà del frame desiderate.
    • I flussi arbitrari hanno requisiti di configurazione diversi in base al tipo. Tutti richiedono una frequenza di bit e una finestra del buffer.
  3. Aggiungere il flusso al profilo chiamando IWMProfile::AddStream.

Tutti i flussi vengono definiti usando oggetti di configurazione del flusso. L'interfaccia principale per un oggetto di configurazione del flusso è IWMStreamConfig, che fornisce metodi per impostare le impostazioni di base di un flusso, ad esempio il numero di flusso, la frequenza bit e così via. IWMStreamConfig viene ereditato dalle interfacce più recenti, IWMStreamConfig2 e IWMStreamConfig3. Come per tutte le revisioni dell'interfaccia numerate, è sempre necessario recuperare la versione più recente usando il metodo QueryInterface .

La maggior parte delle impostazioni in un flusso viene accessibile tramite IWMMediaProps. Queste impostazioni vengono incapsulate in una struttura WM_MEDIA_TYPE . Per audio e video, la struttura WM_MEDIA_TYPE punta a un'altra struttura con ulteriori informazioni specifiche per il tipo di supporto. Questa struttura secondaria è in genere WAVEFORMATEX per audio e WMVIDEOINFOHEADER per video. Inoltre, i flussi video hanno una struttura terziaria, BITMAPINFOHEADER, che descrive le caratteristiche di un singolo fotogramma di video. BITMAPINFOHEADER è una struttura comune ed è disponibile nella sezione Graphics Device Interface (GDI) di Platform SDK.

Le sezioni seguenti descrivono come configurare i flussi.

Sezione Descrizione
Configurazione comune a tutti i flussi Descrive la configurazione di flusso di base comune a tutti i tipi di flussi.
Recupero di informazioni di configurazione di flusso da codec Descrive come ottenere informazioni di configurazione di flusso dai codec per garantire una configurazione corretta dei flussi usando i codec Audio e Video di Windows Media.
Configurazione di flussi audio Descrive come configurare i flussi audio.
Configurazione di flussi video Viene descritto come configurare i flussi video.
Configurazione di flussi video per la ricerca di prestazioni Descrive come configurare i flussi video per i quali è importante cercare in modo efficiente.
Configurazione dei flussi di acquisizione schermata Viene descritto come configurare i flussi video per l'acquisizione dello schermo.
Configurazione dei flussi di immagini Viene descritto come configurare i flussi di immagini.
Uso di flussi audio e video non compressi Descrive come configurare un flusso audio o video non compresso.
Configurazione di tipi di flusso arbitrari Viene descritto come configurare i flussi per usare i tipi di flusso arbitrari predefiniti.
Configurazione dei flussi VBR Viene descritto come configurare i flussi per usare la codifica a velocità di bit variabile (VBR).
Configurazione di estensioni delle unità dati Viene descritto come configurare un flusso in modo che le estensioni dell'unità dati possano essere associate quando il file viene scritto.
Riutilizzo delle configurazioni di flusso Descrive i modi in cui è possibile usare oggetti di configurazione di flusso da profili esistenti per creare nuovi profili.

 

Input, flussi e output

Uso dei profili