Condividi tramite


Ottenere risultati ottimali con il codec dello schermo di Windows Media Video 9

[La funzionalità associata a questa pagina, Windows Media Format 11 SDK, è una funzionalità legacy. È stata sostituita da Lettore di origine e 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.

Il codec dello schermo di Windows Media Video 9 è progettato per produrre video altamente compressi per l'acquisizione dello schermo. Poiché la maggior parte della necessità di acquisizione dello schermo prevede immagini abbastanza semplici e statiche, i livelli elevati di compressione ottenuti non significano in genere un grande sacrificio nella qualità dell'immagine. Tuttavia, ogni acquisizione dello schermo è diversa e la qualità dell'immagine risultante può variare notevolmente a seconda delle circostanze.

Il modo migliore per determinare le impostazioni del profilo per una sessione codec dello schermo consiste nel codificare un file di test usando un flusso di velocità a bit variabile basato sulla qualità. Impostare la qualità sul valore desiderato e codificare un'acquisizione dello schermo come se si registrasse il file finale. Quando il file viene scritto, riprodurre il file usando l'oggetto lettore asincrono, eseguendo chiamate regolari a IWMReaderAdvanced::GetStatistics. Monitorando il valore del membro dwBandwidth della struttura WM_READER_STATISTICS per ogni chiamata, è possibile determinare la frequenza di bit approssimativa necessaria per ottenere la qualità desiderata. È quindi possibile usare tale frequenza di bit per la codifica a velocità di bit costante.

Se si scopre che la qualità desiderata richiede una frequenza di bit superiore rispetto a quella che è possibile usare per lo scenario di recapito, è possibile provare le tecniche seguenti per ottenere maggiore efficienza dal codec.

  • Usare una risoluzione più piccola per l'acquisizione dello schermo. L'acquisizione di una risoluzione dello schermo più grande di quella necessaria può anche creare confusione per il visualizzatore presentando più informazioni rispetto alle esigenze.
  • Usare meno grafica nell'acquisizione dello schermo. Il codec di Windows Media Video 9 Screen è ottimizzato per codificare le primitive di Windows e il testo con alta qualità. In genere, i problemi si verificano a causa di grafica bitmap, che spesso contengono migliaia di singoli colori. Meno bitmap che si trovano sullo schermo quando si acquisiscono, i risultati migliori saranno. Se non è possibile eliminare la grafica dall'acquisizione dello schermo, esistono diversi modi per ridurre al minimo l'impatto di una bitmap sulla qualità dell'immagine:
    • Ridurre le dimensioni dell'elemento grafico.
    • Ridurre il numero di singoli grafici visualizzati nello schermo simultaneamente.
    • Ridurre la quantità di movimento dell'elemento grafico. Ad esempio, se l'elemento grafico si trova in una finestra, mantenere la finestra il più stazioni possibile.
    • Evitare di spostare il puntatore del mouse sul grafico o trascinando finestre o altri elementi sull'elemento grafico.
  • Usare una frequenza di fotogrammi più lenta. Le acquisizioni dello schermo possono spesso essere efficaci a velocità di fotogrammi molto basse (a volte pari a 4 o 5 fotogrammi al secondo).
  • Ridurre la frequenza di bit dell'audio di accompagnamento.

Inoltre, il codec non supporta il ridimensionamento del rettangolo video. In altre parole, se si tenta di usare il codec per codificare uno schermo da 800 x 600 fino a un rettangolo video 640 x 480, il video risultante avrà artefatti significativi che possono rendere molto il testo sullo schermo illeggibile.

Configurazione dei flussi di acquisizione schermata

Configurazione dei flussi