Forzar la inserción de Key-Frame
[La característica asociada a esta página, SDK de Windows Media Format 11, es una característica heredada. Se ha reemplazado por lector de origen y escritor receptor. El lector de origen y el sistema de escritura receptor se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use lector de origen y escritor receptor en lugar del SDK de Windows Media Format 11, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
El códec Windows Media Video 9 admite la inserción forzada de fotogramas clave. Al pasar un ejemplo al escritor, puede especificar que se debe codificar como fotograma clave.
Para forzar la inserción de fotograma clave para un ejemplo, realice los pasos siguientes.
- Asigne un búfer para contener el ejemplo y recupere un puntero a la interfaz INSSBuffer que contiene el búfer mediante una llamada a IWMWriter::AllocateSample.
- Recupere la ubicación y el tamaño del búfer creado en el paso 1 llamando a INSSBuffer::GetBufferAndLength.
- Copie los datos de ejemplo en la ubicación del búfer y asegúrese de que el ejemplo pasado cabe en el búfer asignado. En función del origen de los ejemplos, puede usar una variedad de funciones para copiar los datos. Por ejemplo, si va a copiar una secuencia desde un archivo AVI, puede usar la función AVI, AVIStreamRead.
- Actualice la cantidad de datos usados en el búfer para reflejar el tamaño real del ejemplo llamando a INSSBuffer::SetLength.
- Obtenga un puntero a la interfaz INSSBuffer3 llamando a INSSBuffer::QueryInterface.
- Establezca el ejemplo como un fotograma clave forzado llamando al método INSSBuffer3::SetProperty para establecer la propiedad WM_SampleExtensionGUID_OutputCleanPoint. Esta propiedad es un valor booleano; establézcalo en TRUE.
- Pase la interfaz del búfer al escritor junto con el número de entrada y el tiempo de ejemplo mediante el método IWMWriter::WriteSample .
Temas relacionados