Compartir a través de


Escritura de secuencias con píxeles no cuadrados

[La característica asociada a esta página, WINDOWS Media Format 11 SDK, es una característica heredada. Se ha reemplazado por lector de origen y escritor receptor. Lector de origen y escritor receptor se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use lector fuente 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.

Hay dos maneras de crear secuencias de vídeo con píxeles no cuadrados que se mostrarán correctamente en Reproductor multimedia de Windows. La primera técnica implica establecer atributos de nivel de secuencia en el encabezado de archivo. La segunda técnica implica agregar una extensión de unidad de datos a un flujo en el perfil y, a continuación, establecer un valor para él en cada ejemplo escrito.

Para usar atributos de encabezado de nivel de secuencia para establecer la relación de aspecto de píxeles

  1. Configure el objeto writer. Para obtener más información, vea Escribir archivos ASF.
  2. Cree o cargue un perfil con una o varias secuencias de vídeo. Para obtener más información, vea Para usar perfiles con el escritor.
  3. Llame a IWMWriter::SetProfile. (Llame siempre a este método antes de establecer cualquier atributo de encabezado).
  4. Llame a QueryInterface para obtener la interfaz IWMHeaderInfo3 y llame a AddAttribute dos veces para agregar AspectRatioX y AspectRatioY como atributos de nivel de secuencia de la secuencia de vídeo. Estos atributos son valores DWORD .
  5. Escriba el archivo.

Para usar extensiones de unidad de datos para establecer la relación de aspecto de píxeles

Antes de escribir:

  1. Configure el objeto writer. Para obtener más información, vea Escribir archivos ASF.
  2. Cree o cargue un perfil con una o varias secuencias de vídeo. Para obtener más información, vea Para usar perfiles con el escritor.
  3. Para cada secuencia (de cualquier tipo de medio) del perfil, llame a IWMStreamConfig::SetStreamName para especificar un nombre único de su elección. No asigne dos secuencias el mismo nombre.
  4. Use IWMStreamConfig2::AddDataUnitExtension en la secuencia de vídeo para agregar una extensión de unidad de datos para la relación de aspecto de píxeles.
  5. Llame a IWMWriter::SetProfile.
  6. Escriba el archivo.

Al escribir:

  • Para cada ejemplo, llame a INSSBuffer3::SetProperty y especifique la propiedad WM_SampleExtensionGUID_PixelAspectRatio junto con el valor correcto. Los valores de relación de aspecto se escriben como dos valores concatenados de dos dígitos. Por ejemplo, 16:9 se escribe como 1609 o 0x0649. Siempre es un valor de 2 bytes.

Para leer y escribir secuencias de vídeo con píxeles no cuadrados